ar71xx: add support for AR9331 based Hak5 devices
[oweals/openwrt.git] / target / linux / ar71xx / base-files / etc / board.d / 02_network
1 #!/bin/sh
2 #
3 # Copyright (C) 2011-2015 OpenWrt.org
4 #
5
6 . /lib/functions/system.sh
7 . /lib/functions/uci-defaults.sh
8
9 ar71xx_setup_interfaces()
10 {
11         local board="$1"
12
13         case "$board" in
14         airgatewaypro)
15                 ucidef_add_switch "switch0" \
16                         "0@eth0" "4:lan" "5:wan"
17                 ;;
18         airrouter|\
19         ap121|\
20         ap121-mini|\
21         ap96|\
22         dir-600-a1|\
23         dir-615-c1|\
24         dir-615-e1|\
25         dir-615-e4|\
26         hiwifi-hc6361|\
27         ja76pf|\
28         mc-mac1200r|\
29         minibox-v1|\
30         mynet-n600|\
31         oolite|\
32         qihoo-c301|\
33         r602n|\
34         rb-750|\
35         rb-751|\
36         som9331|\
37         t830|\
38         tew-632brp|\
39         tew-712br|\
40         tew-732br|\
41         tl-mr3220|\
42         tl-mr3220-v2|\
43         tl-mr3420|\
44         tl-wdr3320-v2|\
45         tl-wdr3500|\
46         tl-wr740n-v6|\
47         tl-wr741nd-v4|\
48         tl-wr840n-v2|\
49         tl-wr840n-v3|\
50         tl-wr841n-v11|\
51         tl-wr841n-v9|\
52         tl-wr842n-v3|\
53         whr-g301n|\
54         whr-hp-g300n|\
55         whr-hp-gn|\
56         wzr-hp-ag300h|\
57         zbt-we1526)
58                 ucidef_set_interfaces_lan_wan "eth0.1" "eth1"
59                 ucidef_add_switch "switch0" \
60                         "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
61                 ;;
62         alfa-ap120c|\
63         all0305|\
64         antminer-s1|\
65         antminer-s3|\
66         antrouter-r1|\
67         ap121f|\
68         ap91-5g|\
69         aw-nr580|\
70         bullet-m|\
71         c-55|\
72         cap4200ag|\
73         cf-e380ac-v1|\
74         cf-e380ac-v2|\
75         dr342|\
76         eap120|\
77         eap300v2|\
78         eap7660d|\
79         el-mini|\
80         fritz300e|\
81         gl-usb150|\
82         hiveap-121|\
83         loco-m-xw|\
84         mr12|\
85         mr16|\
86         mr1750|\
87         mr1750v2|\
88         mr18|\
89         mr600|\
90         mr600v2|\
91         mr900|\
92         mr900v2|\
93         mynet-rext|\
94         pqi-air-pen|\
95         rb-411|\
96         rb-411u|\
97         rb-911-2hn|\
98         rb-911-5hn|\
99         rb-911g-2hpnd|\
100         rb-911g-5hpacd|\
101         rb-911g-5hpnd|\
102         rb-912uag-2hpnd|\
103         rb-912uag-5hpnd|\
104         rb-921gs-5hpacd-r2|\
105         rb-lhg-5nd|\
106         rb-mapl-2nd|\
107         rb-sxt2n|\
108         rb-sxt5n|\
109         rb-wap-2nd|\
110         rb-wapg-5hact2hnd|\
111         re355|\
112         re450|\
113         rocket-m-xw|\
114         sc300m |\
115         tl-mr10u|\
116         tl-mr11u|\
117         tl-mr12u|\
118         tl-mr13u|\
119         tl-mr3020|\
120         tl-mr3040|\
121         tl-mr3040-v2|\
122         tl-wa701nd-v2|\
123         tl-wa7210n-v2|\
124         tl-wa750re|\
125         tl-wa801nd-v2|\
126         tl-wa830re-v2|\
127         tl-wa850re|\
128         tl-wa850re-v2|\
129         tl-wa855re-v1|\
130         tl-wa901nd|\
131         tl-wa901nd-v2|\
132         tl-wa901nd-v3|\
133         tl-wa901nd-v4|\
134         tl-wa901nd-v5|\
135         tl-wr703n|\
136         tl-wr802n-v1|\
137         tl-wr802n-v2|\
138         tl-wr902ac-v1|\
139         tube2h|\
140         unifi|\
141         unifiac-lite|\
142         wi2a-ac200i|\
143         wifi-pineapple-nano|\
144         wndap360|\
145         wp543)
146                 ucidef_set_interface_lan "eth0"
147                 ;;
148         a40|\
149         a60|\
150         alfa-ap96|\
151         alfa-nx|\
152         archer-c25-v1|\
153         dr344|\
154         gl-ar150|\
155         gl-ar300m|\
156         gl-domino|\
157         gl-inet|\
158         gl-mifi|\
159         jwap003|\
160         om2p-hsv4|\
161         om2pv4|\
162         pb42|\
163         pb44|\
164         rb-951ui-2hnd|\
165         rb-952ui-5ac2nd|\
166         routerstation|\
167         tl-wr710n|\
168         tl-wr720n-v3|\
169         tl-wr810n|\
170         tl-wr810n-v2|\
171         wpe72|\
172         wrtnode2q)
173                 ucidef_set_interfaces_lan_wan "eth1" "eth0"
174                 ;;
175         rb-750-r2|\
176         rb-750p-pbr2|\
177         rb-750up-r2|\
178         rb-951ui-2nd)
179                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
180                 ucidef_add_switch "switch0" \
181                         "0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
182                 ;;
183         all0258n|\
184         all0315n|\
185         dlan-hotspot|\
186         dlan-pro-500-wp|\
187         ens202ext|\
188         ja76pf2|\
189         rocket-m-ti|\
190         ubnt-unifi-outdoor)
191                 ucidef_set_interface_lan "eth0 eth1"
192                 ;;
193         wzr-hp-g300nh2)
194                 ucidef_add_switch "switch0" \
195                         "0@eth0" "1:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "2:wan"
196                 ;;
197         ap132|\
198         ap136|\
199         ap152|\
200         rb-750gl|\
201         rb-751g|\
202         rb-951g-2hnd|\
203         rb-962uigs-5hact2hnt|\
204         wlr8100|\
205         wzr-hp-g450h)
206                 ucidef_add_switch "switch0" \
207                         "0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
208                 ;;
209         ap135-020|\
210         ap136-020|\
211         bhr-4grv2|\
212         tew-823dru|\
213         tl-wr1043nd-v2|\
214         wzr-450hp2)
215                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0.2"
216                 ucidef_add_switch "switch0" \
217                         "0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "6@eth0"
218                 ;;
219         ap136-010|\
220         ap147-010|\
221         nbg6616|\
222         nbg6716)
223                 ucidef_set_interfaces_lan_wan "eth0.1" "eth1.2"
224                 ucidef_add_switch "switch0" \
225                         "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth1"
226                 ;;
227         ap143|\
228         rb-433|\
229         rb-433u)
230                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
231                 ucidef_add_switch "switch0" \
232                         "1:lan" "2:lan" "5@eth1"
233                 ;;
234         archer-c5|\
235         archer-c7|\
236         tl-wdr4900-v2)
237                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0.2"
238                 ucidef_add_switch "switch0" \
239                         "0@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6@eth0" "1:wan"
240                 ;;
241         archer-c58-v1|\
242         archer-c59-v1|\
243         rb-450g)
244                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
245                 ucidef_add_switch "switch0" \
246                         "0@eth1" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
247                 ;;
248         archer-c60-v1)
249                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
250                 ucidef_add_switch "switch0" \
251                         "0@eth1" "1:lan:1" "2:lan:2" "3:lan:3" "4:lan:4"
252                 ;;
253         arduino-yun|\
254         dir-505-a1|\
255         tl-wa801nd-v3)
256                 ucidef_set_interface_lan "eth1"
257                 ;;
258         bsb)
259                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
260                 ucidef_add_switch "switch0" \
261                         "0@eth1" "1:lan" "3:lan"
262                 ;;
263         c-60)
264                 ucidef_add_switch "switch0" \
265                         "0@eth0" "3:wan" "4:lan"
266                 ;;
267         cap324|\
268         rme-eg200)
269                 ucidef_set_interface_lan "eth0" "dhcp"
270                 ;;
271         cf-e375ac|\
272         rb-map-2nd)
273                 ucidef_add_switch "switch0" \
274                         "0@eth0" "1:wan" "2:lan"
275                 ;;
276         cf-e385ac)
277                 ucidef_set_interfaces_lan_wan "eth0.1" "eth1.2"
278                 ucidef_add_switch "switch0" \
279                         "0@eth0" "2:lan" "1:wan" "6@eth1"
280                 ;;
281         cpe210|\
282         cpe510|\
283         wbs210|\
284         wbs510)
285                 ucidef_add_switch "switch0" \
286                         "0@eth0" "5:lan" "4:wan"
287                 ;;
288         cr3000)
289                 ucidef_set_interfaces_lan_wan "eth0.1" "eth1"
290                 ucidef_add_switch "switch0" \
291                         "0@eth0" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
292                 ;;
293         cr5000|\
294         dgl-5500-a1|\
295         dhp-1565-a1|\
296         dir-825-c1|\
297         dir-835-a1|\
298         esr900|\
299         mynet-n750|\
300         sr3200|\
301         tl-wr1043n-v5)
302                 ucidef_add_switch "switch0" \
303                         "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
304                 ;;
305         dap-2695-a1)
306                 ucidef_add_switch "switch0" "0@eth0" "2:lan" "3:wan" "6@eth1"
307                 ;;
308         rb-941-2nd)
309                 ucidef_add_switch "switch0" \
310                         "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:wan:1"
311         ;;
312         db120|\
313         rb-2011il|\
314         rb-2011l|\
315         rb-2011uas|\
316         rb-2011uas-2hnd|\
317         rb-2011uias|\
318         rb-2011uias-2hnd)
319                 case "$board" in
320                 rb-2011uas*|\
321                 rb-2011uias|\
322                 rb-2011uias-2hnd)
323                         ucidef_add_switch "switch0" \
324                                 "0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan" "6:sfp"
325                 ;;
326                 *)
327                         ucidef_add_switch "switch0" \
328                                 "0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
329                 ;;
330                 esac
331
332                 ucidef_add_switch "switch1" \
333                         "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:lan"
334                 ;;
335         dir-615-i1|\
336         omy-g1|\
337         r6100|\
338         smart-300|\
339         tl-wdr6500-v2|\
340         tl-wr940n-v4|\
341         tl-wr941nd-v6|\
342         wnr1000-v2|\
343         wnr2000-v4|\
344         wnr2200|\
345         wnr612-v2|\
346         wpn824n)
347                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
348                 ucidef_add_switch "switch0" \
349                         "0@eth1" "1:lan:1" "2:lan:2" "3:lan:3" "4:lan:4"
350                 ;;
351         tl-mr6400)
352                 ucidef_set_interfaces_lan_wan "eth0.1 eth1" "usb0"
353                 ucidef_add_switch "switch0" \
354                         "0@eth0" "1:lan" "2:lan" "3:lan"
355                 ;;
356         dir-825-b1|\
357         nbg460n_550n_550nh|\
358         tew-673gru|\
359         wzr-hp-g300nh)
360                 ucidef_set_interfaces_lan_wan "eth0.1" "eth1"
361                 ucidef_add_switch "switch0" \
362                         "0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
363                 ;;
364         dlan-pro-1200-ac)
365                 ucidef_set_interface_lan "eth0"
366                 ucidef_add_switch "switch0" \
367                         "0u@eth0" "2:lan" "3:lan" "4:lan"
368                 ucidef_add_switch_attr "switch0" "enable" "false"
369                 ;;
370         e1700ac-v2|\
371         unifiac-pro|\
372         xd3200)
373                 ucidef_add_switch "switch0" \
374                         "0@eth0" "2:lan" "3:wan"
375                 ;;
376         ebr-2310-c1)
377                 ucidef_set_interfaces_lan_wan "eth0.1" "eth1"
378                 ucidef_add_switch "switch0" \
379                         "0@eth0" "1:lan:1" "2:lan:2" "3:lan:3" "4:lan:4"
380                 ;;
381         el-m150)
382                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
383                 ucidef_add_switch "switch0" \
384                         "0:lan" "1:lan" "3@eth1"
385                 ;;
386         dir-869-a1|\
387         epg5000|\
388         esr1750|\
389         tl-wr1043nd-v4|\
390         wndr3700v4|\
391         wndr4300)
392                 ucidef_add_switch "switch0" \
393                         "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
394                 ;;
395         ew-balin)
396 # usb0 is RNDIS interface over USB in device mode
397                 ucidef_set_interface_raw "usb2" "usb0" "static"
398                 ucidef_add_switch "switch0" \
399                         "0@eth0" "5:lan:4" "4:lan:5" "3:wan"
400                 ;;
401         ew-dorin)
402                 ucidef_add_switch "switch0" \
403                         "0@eth0" "1:lan" "2:lan" "3:wan"
404                 ;;
405         ew-dorin-router)
406                 ucidef_set_interfaces_lan_wan "eth0.1" "eth1"
407                 ucidef_add_switch "switch0" \
408                         "0@eth0" "2:lan" "3:lan"
409                 ;;
410         dw33d|\
411         f9k1115v2)
412                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0.2"
413                 ucidef_add_switch "switch0" \
414                         "2:lan" "3:lan" "4:lan" "5:lan" "6@eth1" "0@eth0" "1:wan"
415                 ;;
416         gl-ar300|\
417         wnr2000-v3)
418                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
419                 ucidef_add_switch "switch0" \
420                         "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan"
421                 ;;
422         gl-ar750|\
423         rb-435g)
424                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
425                 ucidef_add_switch "switch0" \
426                         "0@eth1" "1:lan" "2:lan"
427                 ;;
428         jwap230)
429                 ucidef_set_interfaces_lan_wan "eth0.1" "eth1.2"
430                 ucidef_add_switch "switch0" \
431                         "0@eth0" "1:lan" "5:wan" "6@eth1"
432                 ;;
433         nanostation-m-xw)
434                 ucidef_add_switch "switch0" \
435                         "0@eth0" "5:lan" "1:wan"
436                 ;;
437         onion-omega)
438                 ucidef_set_interface_lan "wlan0"
439                 ;;
440         rb-450)
441                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
442                 ucidef_add_switch "switch0" \
443                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5@eth1"
444                 ;;
445         routerstation-pro)
446                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
447                 ucidef_add_switch "switch0" \
448                         "0@eth1" "2:lan:3" "3:lan:2" "4:lan:1"
449                 ;;
450         rb-493g)
451                 ucidef_set_interfaces_lan_wan "eth0.1 eth1.1" "eth1.2"
452                 ucidef_add_switch "switch0" \
453                         "0@eth0" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
454                 ucidef_add_switch "switch1" \
455                         "0@eth1" "1:lan:4" "2:lan:1" "3:lan:3" "4:lan:2" "5:wan"
456                 ;;
457         rut900)
458                 ucidef_set_interfaces_lan_wan "eth0.1" "eth1"
459                 ucidef_add_switch "switch0" \
460                         "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1"
461                 ;;
462         tellstick-znet-lite)
463                 ucidef_set_interface_wan "eth0"
464                 ucidef_set_interface_raw "wlan" "wlan0" "dhcp"
465                 ;;
466         tl-mr3420-v2|\
467         tl-wr841n-v8|\
468         tl-wr842n-v2|\
469         tl-wr941nd-v5|\
470         tl-wr942n-v1)
471                 ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
472                 ucidef_add_switch "switch0" \
473                         "0@eth1" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
474                 ;;
475         archer-c7-v4|\
476         tl-wdr4300|\
477         tl-wr1041n-v2)
478                 ucidef_add_switch "switch0" \
479                         "0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
480                 ;;
481         tl-wpa8630)
482                 ucidef_add_switch "switch0" \
483                         "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "5:lan:4"
484                 ;;
485         tl-wr1043nd)
486                 ucidef_add_switch "switch0" \
487                         "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
488                 ;;
489         tl-wr2543n)
490                 ucidef_add_switch "switch0" \
491                         "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
492                 ;;
493         tl-wr841n-v1|\
494         tl-wr941nd)
495                 ucidef_set_interface_raw "eth" "eth0"
496                 ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
497                 ;;
498         tl-wr741nd|\
499         tl-wr841n-v7)
500                 ucidef_set_interfaces_lan_wan "eth0.1" "eth1"
501                 ucidef_add_switch "switch0" \
502                         "0@eth0" "1:lan:1" "2:lan:2" "3:lan:3" "4:lan:4"
503                 ;;
504         uap-pro|\
505         wpj342)
506                 ucidef_add_switch "switch0" \
507                         "0@eth0" "1:lan" "2:wan"
508                 ;;
509         wndr3700|\
510         wndr3700v2|\
511         wndr3800|\
512         wndr3800ch)
513                 ucidef_set_interfaces_lan_wan "eth0.1" "eth1"
514                 ucidef_add_switch "switch0" \
515                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5@eth0"
516
517                 ucidef_add_switch_attr "switch0" "blinkrate" 2
518                 ucidef_add_switch_port_attr "switch0" 1 led 6
519                 ucidef_add_switch_port_attr "switch0" 2 led 9
520                 ucidef_add_switch_port_attr "switch0" 5 led 2
521                 ;;
522         wpj344)
523                 ucidef_add_switch "switch0" \
524                         "0@eth0" "3:lan" "2:wan"
525                 ;;
526         wpj558)
527                 ucidef_add_switch "switch0" \
528                         "5:lan" "1:wan" "6@eth0"
529                 ;;
530         wpj563)
531                 ucidef_add_switch "switch0" \
532                         "0@eth0" "2:lan" "3:wan"
533                 ;;
534         wrt160nl)
535                 ucidef_set_interfaces_lan_wan "eth0.1" "eth1"
536                 ucidef_add_switch "switch0" \
537                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4@eth0"
538                 ;;
539         wzr-hp-g450h)
540                 ucidef_add_switch "switch0" \
541                         "0@eth0" "2:lan:1 3:lan:2 4:lan:3 5:lan:4" "1:wan"
542                 ;;
543         z1)
544                 ucidef_set_interfaces_lan_wan "eth0.1" "eth1"
545                 ucidef_add_switch "switch0" \
546                         "0@eth0" "1:lan:1" "2:lan:2" "3:lan:3" "4:lan:4" "5:wan"
547                 ;;
548         *)
549                 ucidef_set_interfaces_lan_wan "eth0" "eth1"
550                 ;;
551         esac
552 }
553
554 ar71xx_setup_macs()
555 {
556         local board="$1"
557         local lan_mac=""
558         local wan_mac=""
559
560         case $board in
561         dgl-5500-a1|\
562         dir-825-c1)
563                 wan_mac=$(mtd_get_mac_ascii nvram "wan_mac")
564                 ;;
565         dhp-1565-a1|\
566         dir-835-a1|\
567         wndr3700v4|\
568         wndr4300)
569                 lan_mac=$(mtd_get_mac_binary caldata 0)
570                 wan_mac=$(mtd_get_mac_binary caldata 6)
571                 ;;
572         fritz300e)
573                 lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
574                 ;;
575         tl-wr1043n-v5|\
576         tl-wr1043nd-v4)
577                 lan_mac=$(mtd_get_mac_binary product-info 8)
578                 wan_mac=$(macaddr_add "$lan_mac" 1)
579                 ;;
580         esr900)
581                 wan_mac=$(mtd_get_mac_ascii u-boot-env "wanaddr")
582                 ;;
583         dir-869-a1|\
584         mynet-n750)
585                 wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
586                 ;;
587         wlr8100)
588                 lan_mac=$(mtd_get_mac_ascii u-boot-env "ethaddr")
589                 wan_mac=$(mtd_get_mac_ascii u-boot-env "wanaddr")
590                 ;;
591         wpj344|\
592         wpj558)
593                 wan_mac=$(mtd_get_mac_binary u-boot 0x2e018)
594                 ;;
595         esac
596
597         [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
598         [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
599 }
600
601 board_config_update
602 board=$(board_name)
603 ar71xx_setup_interfaces $board
604 ar71xx_setup_macs $board
605 board_config_flush
606
607 exit 0