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