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