ath79: add support for Enterasys WS-AP3705i
[oweals/openwrt.git] / target / linux / ath79 / generic / base-files / etc / board.d / 02_network
1 #!/bin/sh
2
3 . /lib/functions/system.sh
4 . /lib/functions/uci-defaults.sh
5 . /lib/functions/k2t.sh
6
7 ath79_setup_interfaces()
8 {
9         local board="$1"
10
11         case "$board" in
12         adtran,bsap1800-v2|\
13         adtran,bsap1840|\
14         alfa-network,ap121f|\
15         aruba,ap-105|\
16         avm,fritz1750e|\
17         avm,fritz300e|\
18         comfast,cf-wr752ac-v1|\
19         devolo,dvl1200i|\
20         devolo,dvl1750c|\
21         devolo,dvl1750i|\
22         devolo,dvl1750x|\
23         dlink,dir-505|\
24         engenius,ecb1750|\
25         enterasys,ws-ap3705i|\
26         glinet,gl-ar300m-lite|\
27         netgear,ex6400|\
28         netgear,ex7300|\
29         ocedo,koala|\
30         ocedo,raccoon|\
31         pcs,cap324|\
32         pisen,ts-d084|\
33         pisen,wmb001n|\
34         pisen,wmm003n|\
35         siemens,ws-ap3610|\
36         tplink,cpe210-v2|\
37         tplink,cpe210-v3|\
38         tplink,cpe510-v2|\
39         tplink,cpe510-v3|\
40         tplink,cpe610-v1|\
41         tplink,re350k-v1|\
42         tplink,re355-v1|\
43         tplink,re450-v1|\
44         tplink,re450-v2|\
45         tplink,tl-wr902ac-v1|\
46         ubnt,bullet-m-ar7240|\
47         ubnt,bullet-m-ar7241|\
48         ubnt,bullet-m-xw|\
49         ubnt,lap-120|\
50         ubnt,litebeam-ac-gen2|\
51         ubnt,nanobeam-ac|\
52         ubnt,nanobridge-m|\
53         ubnt,nanostation-ac-loco|\
54         ubnt,nanostation-loco-m|\
55         ubnt,nanostation-loco-m-xw|\
56         ubnt,picostation-m|\
57         ubnt,powerbeam-5ac-500|\
58         ubnt,powerbeam-5ac-gen2|\
59         ubnt,rocket-m|\
60         ubnt,unifiac-lite|\
61         ubnt,unifiac-lr|\
62         ubnt,unifiac-mesh|\
63         ubnt,unifi|\
64         wd,mynet-wifi-rangeextender|\
65         winchannel,wb2000)
66                 ucidef_set_interface_lan "eth0"
67                 ;;
68         avm,fritz4020|\
69         pcs,cr3000|\
70         tplink,archer-c58-v1|\
71         tplink,archer-c59-v1|\
72         tplink,archer-c59-v2)
73                 ucidef_set_interface_wan "eth1"
74                 ucidef_add_switch "switch0" \
75                         "0@eth0" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
76                 ;;
77         buffalo,bhr-4grv|\
78         buffalo,wzr-hp-g450h)
79                 ucidef_add_switch "switch0" \
80                         "0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
81                 ;;
82         buffalo,bhr-4grv2|\
83         trendnet,tew-823dru)
84                 ucidef_add_switch "switch0" \
85                         "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth0"
86                 ;;
87         buffalo,wzr-hp-ag300h|\
88         tplink,archer-c25-v1|\
89         tplink,archer-c60-v1|\
90         tplink,archer-c60-v2|\
91         tplink,archer-c60-v3|\
92         tplink,tl-wdr3500-v1|\
93         tplink,tl-wr842n-v1|\
94         tplink,tl-wr842n-v3|\
95         ubnt,airrouter)
96                 ucidef_set_interface_wan "eth1"
97                 ucidef_add_switch "switch0" \
98                         "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
99                 ;;
100         buffalo,wzr-hp-g302h-a1a0)
101                 ucidef_add_switch "switch0" \
102                         "0@eth0" "1:lan:1" "3:lan:4" "4:lan:3" "5:lan:2" "2:wan"
103                 ;;
104         comfast,cf-e110n-v2|\
105         comfast,cf-e120a-v3|\
106         comfast,cf-e314n-v2|\
107         tplink,cpe210-v1|\
108         tplink,cpe220-v2|\
109         tplink,cpe220-v3|\
110         tplink,cpe510-v1|\
111         tplink,wbs210-v2|\
112         tplink,wbs510-v1|\
113         tplink,wbs510-v2|\
114         ubnt,nanostation-m|\
115         ubnt,routerstation)
116                 ucidef_set_interfaces_lan_wan "eth1" "eth0"
117                 ;;
118         comfast,cf-e560ac)
119                 ucidef_set_interface_wan "eth1"
120                 ucidef_add_switch "switch0" \
121                         "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
122                 ;;
123         comfast,cf-wr650ac-v1|\
124         comfast,cf-wr650ac-v2)
125                 ucidef_add_switch "switch0" \
126                         "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth1"
127                 ;;
128         devolo,dvl1200e|\
129         devolo,dvl1750e|\
130         ocedo,ursus)
131                 ucidef_set_interface_lan "eth0 eth1"
132                 ;;
133         devolo,magic-2-wifi)
134                 ucidef_add_switch "switch0" \
135                         "0@eth0" "2:wan" "3:lan" "4:lan"
136                 ;;
137         dlink,dir-825-b1)
138                 ucidef_set_interface_wan "eth1"
139                 ucidef_add_switch "switch0" \
140                         "0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
141                 ;;
142         dlink,dir-825-c1|\
143         dlink,dir-835-a1|\
144         dlink,dir-842-c1|\
145         dlink,dir-842-c2|\
146         dlink,dir-842-c3|\
147         dlink,dir-859-a1|\
148         engenius,epg5000|\
149         tplink,archer-c2-v3|\
150         tplink,tl-wr1043nd-v4|\
151         tplink,tl-wr1043n-v5)
152                 ucidef_add_switch "switch0" \
153                         "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
154                 ;;
155         elecom,wrc-1750ghbk2-i|\
156         elecom,wrc-300ghbk2-i|\
157         sitecom,wlr-8100)
158                 ucidef_add_switch "switch0" \
159                         "0@eth0" "2:lan:4" "3:lan:3" "4:lan:2" "5:lan:1" "1:wan"
160                 ;;
161         embeddedwireless,dorin)
162                 ucidef_add_switch "switch0" \
163                         "0@eth0" "1:wan" "2:lan:3" "3:lan:2"
164                 ;;
165         engenius,ews511ap)
166                 ucidef_set_interface_lan "eth0 eth1" "dhcp"
167                 ;;
168         etactica,eg200)
169                 ucidef_set_interface_lan "eth0" "dhcp"
170                 ;;
171         glinet,gl-ar750)
172                 ucidef_set_interface_wan "eth1"
173                 ucidef_add_switch "switch0" \
174                         "0@eth0" "1:lan" "2:lan"
175                 ;;
176         iodata,etg3-r|\
177         iodata,wn-ac1167dgr|\
178         iodata,wn-ac1600dgr|\
179         iodata,wn-ac1600dgr2|\
180         iodata,wn-ag300dgr|\
181         pcs,cr5000|\
182         sitecom,wlr-7100|\
183         wd,mynet-n750)
184                 ucidef_add_switch "switch0" \
185                         "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
186                 ;;
187         librerouter,librerouter-v1)
188                 ucidef_add_switch "switch0" \
189                         "0@eth0" "5:wan" "6@eth1" "4:lan"
190                 ;;
191         nec,wg1200cr|\
192         ubnt,nanostation-ac|\
193         yuncore,a782|\
194         yuncore,xd4200)
195                 ucidef_add_switch "switch0" \
196                         "0@eth0" "2:lan" "3:wan"
197                 ;;
198         nec,wg800hp)
199                 ucidef_add_switch "switch0" \
200                         "0@eth0" "2:lan" "3:lan" "4:lan" "1:wan"
201                 ;;
202         netgear,wndr3700|\
203         netgear,wndr3700-v2|\
204         netgear,wndr3800|\
205         netgear,wndr3800ch)
206                 ucidef_set_interface_wan "eth1"
207                 ucidef_add_switch "switch0" \
208                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5u@eth0"
209                 ucidef_add_switch_attr "switch0" "blinkrate" 2
210                 ucidef_add_switch_port_attr "switch0" 1 led 6
211                 ucidef_add_switch_port_attr "switch0" 2 led 9
212                 ucidef_add_switch_port_attr "switch0" 5 led 2
213                 ;;
214         netgear,wnr2200-8m|\
215         netgear,wnr2200-16m)
216                 ucidef_set_interface_wan "eth0"
217                 ucidef_add_switch "switch0" \
218                         "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan"
219                 ;;
220         phicomm,k2t)
221                 ucidef_add_switch "switch0" \
222                         "0@eth0" "3:lan:1" "5:lan:2" "4:wan"
223                 ;;
224         qihoo,c301)
225                 ucidef_set_interface_wan "eth1"
226                 ucidef_add_switch "switch0" \
227                         "0@eth0" "2:lan" "3:lan"
228                 ;;
229         rosinson,wr818)
230                 ucidef_add_switch "switch0" \
231                         "0@eth0" "1:lan" "2:lan" "3:wan"
232                 ;;
233         teltonika,rut955|\
234         teltonika,rut955-h7v3c0)
235                 ucidef_set_interface_wan "eth1"
236                 ucidef_add_switch "switch0" \
237                         "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1"
238                 ;;
239         tplink,archer-a7-v5|\
240         tplink,archer-c6-v2|\
241         tplink,archer-c6-v2-us|\
242         tplink,archer-c7-v4|\
243         tplink,archer-c7-v5|\
244         tplink,tl-wdr3600-v1|\
245         tplink,tl-wdr4300-v1|\
246         tplink,tl-wdr4300-v1-il|\
247         tplink,tl-wdr4310-v1)
248                 ucidef_add_switch "switch0" \
249                         "0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
250                 ;;
251         tplink,archer-c5-v1|\
252         tplink,archer-c7-v1|\
253         tplink,archer-c7-v2|\
254         tplink,tl-wdr4900-v2)
255                 ucidef_add_switch "switch0" \
256                         "0@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6@eth0" "1:wan"
257                 ;;
258         tplink,archer-d50-v1)
259                 ucidef_add_switch "switch0" \
260                         "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "1:wan"
261                 ;;
262         tplink,archer-d7-v1|\
263         tplink,archer-d7b-v1)
264                 ucidef_add_switch "switch0" \
265                         "0@eth1" "3:lan:3" "4:lan:2" "5:lan:1" "6@eth0" "2:wan:4" "1:wan:5"
266                 ;;
267         tplink,tl-mr6400-v1)
268                 ucidef_set_interfaces_lan_wan "eth0.1 eth1" "usb0"
269                 ucidef_add_switch "switch0" \
270                         "0@eth0" "1:lan:1" "2:lan:3" "3:lan:2"
271                 ;;
272         tplink,tl-wr842n-v2)
273                 ucidef_set_interface_wan "eth1"
274                 ucidef_add_switch "switch0" \
275                         "0@eth0" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
276                 ;;
277         tplink,tl-wr1043nd-v1)
278                 ucidef_add_switch "switch0" \
279                         "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
280                 ;;
281         tplink,tl-wr1043nd-v2|\
282         tplink,tl-wr1043nd-v3|\
283         tplink,tl-wr1045nd-v2)
284                 ucidef_add_switch "switch0" \
285                         "0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "6@eth0"
286                 ;;
287         tplink,tl-wr2543-v1)
288                 ucidef_add_switch "switch0" \
289                         "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
290                 ;;
291         ubnt,acb-isp)
292                 ucidef_set_interface_wan "eth1"
293                 ucidef_add_switch "switch0" \
294                         "0@eth0" "2:lan:1" "3:lan:3" "4:lan:2"
295                 ;;
296         ubnt,edgeswitch-5xp)
297                 ucidef_set_interface_wan "eth1"
298                 ucidef_add_switch "switch0" \
299                         "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:lan"
300                 ;;
301         ubnt,edgeswitch-8xp)
302                 ucidef_set_interface_wan "eth1"
303                 ucidef_add_switch "switch0" \
304                         "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:lan:5" "5:lan:6" "6:lan:7" "7:lan:8"  "8@eth0"
305                 ;;
306         ubnt,routerstation-pro)
307                 ucidef_set_interface_wan "eth0"
308                 ucidef_add_switch "switch0" \
309                         "0@eth1" "2:lan:3" "3:lan:2" "4:lan:1"
310                 ;;
311         ubnt,nanostation-m-xw)
312                 ucidef_add_switch "switch0" \
313                         "0@eth0" "5:lan" "1:wan"
314                 ;;
315         ubnt,unifiac-mesh-pro|\
316         ubnt,unifiac-pro)
317                 ucidef_add_switch "switch0" \
318                         "0@eth0" "2:lan:1" "3:lan:2"
319                 ;;
320         zbtlink,zbt-wd323|\
321         xiaomi,mi-router-4q)
322                 ucidef_set_interface_wan "eth1"
323                 ucidef_add_switch "switch0" \
324                         "0@eth0" "3:lan:1" "4:lan:2"
325                 ;;
326         *)
327                 ucidef_set_interfaces_lan_wan "eth0" "eth1"
328                 ;;
329         esac
330 }
331
332 ath79_setup_macs()
333 {
334         local board="$1"
335
336         case "$board" in
337         adtran,bsap1800-v2|\
338         adtran,bsap1840)
339                 lan_mac=$(mtd_get_mac_binary "Board data" 2)
340                 label_mac=$lan_mac
341                 ;;
342         alfa-network,ap121f)
343                 label_mac=$(mtd_get_mac_binary art 0x1002)
344                 ;;
345         avm,fritz1750e|\
346         avm,fritz450e)
347                 label_mac=$(fritz_tffs -n macwlan -i $(find_mtd_part "tffs (1)"))
348                 ;;
349         avm,fritz300e)
350                 lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
351                 label_mac=$(fritz_tffs -n macwlan -i $(find_mtd_part "tffs (1)"))
352                 ;;
353         avm,fritz4020)
354                 lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
355                 wan_mac=$(fritz_tffs -n macb -i $(find_mtd_part "tffs (1)"))
356                 ;;
357         devolo,magic-2-wifi)
358                 label_mac=$(macaddr_add "$(mtd_get_mac_binary art 0x1002)" 3)
359                 ;;
360         dlink,dir-825-b1)
361                 lan_mac=$(mtd_get_mac_text "caldata" 0xffa0)
362                 wan_mac=$(mtd_get_mac_text "caldata" 0xffb4)
363                 ;;
364         dlink,dir-505)
365                 lan_mac=$(mtd_get_mac_text "mac" 0x4)
366                 ;;
367         dlink,dir-825-c1|\
368         dlink,dir-835-a1)
369                 lan_mac=$(mtd_get_mac_text "mac" 0x4)
370                 wan_mac=$(mtd_get_mac_text "mac" 0x18)
371                 ;;
372         dlink,dir-842-c1|\
373         dlink,dir-842-c2|\
374         dlink,dir-842-c3|\
375         nec,wg1200cr)
376                 lan_mac=$(mtd_get_mac_ascii devdata "lanmac")
377                 wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
378                 label_mac=$lan_mac
379                 ;;
380         dlink,dir-859-a1|\
381         qihoo,c301|\
382         wd,mynet-n750)
383                 lan_mac=$(mtd_get_mac_ascii devdata "lanmac")
384                 wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
385                 ;;
386         elecom,wrc-1750ghbk2-i|\
387         elecom,wrc-300ghbk2-i)
388                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary art 0x1002)" -2)
389                 ;;
390         engenius,ecb1750)
391                 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
392                 label_mac=$(mtd_get_mac_ascii u-boot-env athaddr)
393                 ;;
394         engenius,epg5000)
395                 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
396                 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
397                 ;;
398         engenius,ews511ap)
399                 lan_mac=$(mtd_get_mac_text "u-boot-env" 0xe9)
400                 eth1_mac=$(macaddr_add "$lan_mac" 1)
401                 ucidef_set_interface "eth0" ifname "eth0" protocol "none" macaddr "$lan_mac"
402                 ucidef_set_interface "eth1" ifname "eth1" protocol "none" macaddr "$eth1_mac"
403                 ;;
404         enterasys,ws-ap3705i)
405                 label_mac=$(mtd_get_mac_ascii u-boot-env0 ethaddr)
406                 ;;
407         iodata,etg3-r)
408                 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
409                 wan_mac=$(macaddr_add "$lan_mac" -1)
410                 label_mac=$wan_mac
411                 ;;
412         iodata,wn-ac1167dgr|\
413         iodata,wn-ac1600dgr|\
414         iodata,wn-ac1600dgr2|\
415         iodata,wn-ag300dgr)
416                 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
417                 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
418                 label_mac=$wan_mac
419                 ;;
420         jjplus,ja76pf2)
421                 wan_mac=$(fconfig -s -r -d $(find_mtd_part "RedBoot config") -n alias/ethaddr)
422                 lan_mac=$(macaddr_add "$wan_mac" 1)
423                 ;;
424         nec,wg800hp)
425                 lan_mac=$(mtd_get_mac_text board_data 0x280)
426                 wan_mac=$(mtd_get_mac_text board_data 0x480)
427                 label_mac=$wan_mac
428                 ;;
429         netgear,wndr3700|\
430         netgear,wndr3700-v2|\
431         netgear,wndr3800)
432                 lan_mac=$(macaddr_setbit_la "$(mtd_get_mac_binary art 0x0)")
433                 ;;
434         phicomm,k2t)
435                 lan_mac=$(k2t_get_mac "lan_mac")
436                 wan_mac=$(k2t_get_mac "wan_mac")
437                 ;;
438         rosinson,wr818)
439                 wan_mac=$(mtd_get_mac_binary factory 0x0)
440                 lan_mac=$(macaddr_setbit_la "$wan_mac")
441                 ;;
442         sitecom,wlr-7100|\
443         sitecom,wlr-8100)
444                 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
445                 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
446                 label_mac=$lan_mac
447                 ;;
448         tplink,archer-a7-v5|\
449         tplink,archer-c7-v4|\
450         tplink,archer-c7-v5|\
451         tplink,tl-wr1043nd-v4|\
452         tplink,tl-wr1043n-v5)
453                 base_mac=$(mtd_get_mac_binary info 0x8)
454                 wan_mac=$(macaddr_add "$base_mac" 1)
455                 ;;
456         tplink,tl-wdr3600-v1|\
457         tplink,tl-wdr4300-v1|\
458         tplink,tl-wdr4300-v1-il)
459                 base_mac=$(mtd_get_mac_binary u-boot 0x1fc00)
460                 wan_mac=$(macaddr_add "$base_mac" 1)
461                 ;;
462         trendnet,tew-823dru)
463                 lan_mac=$(mtd_get_mac_text mac 0x4)
464                 wan_mac=$(mtd_get_mac_text mac 0x18)
465                 label_mac=$wan_mac
466                 ;;
467         ubnt,airrouter|\
468         ubnt,bullet-m-ar7240|\
469         ubnt,bullet-m-ar7241|\
470         ubnt,nanobridge-m|\
471         ubnt,nanostation-loco-m|\
472         ubnt,nanostation-m|\
473         ubnt,picostation-m|\
474         ubnt,rocket-m|\
475         ubnt,unifi)
476                 label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
477                 ;;
478         ubnt,litebeam-ac-gen2|\
479         ubnt,powerbeam-5ac-500|\
480         ubnt,powerbeam-5ac-gen2)
481                 label_mac=$(mtd_get_mac_binary art 0x5006)
482                 ;;
483         ubnt,routerstation|\
484         ubnt,routerstation-pro)
485                 wan_mac=$(fconfig -s -r -d $(find_mtd_part "RedBoot config") -n ar7100_esa)
486                 lan_mac=$(macaddr_add "$wan_mac" 1)
487                 ;;
488         wd,mynet-wifi-rangeextender)
489                 lan_mac=$(nvram get et0macaddr)
490                 ;;
491         esac
492
493         [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
494         [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
495         [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
496 }
497
498 board_config_update
499 board=$(board_name)
500 ath79_setup_interfaces $board
501 ath79_setup_macs $board
502 board_config_flush
503
504 exit 0