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