ramips: DIR-860L-B1 fix switch port numbering
[oweals/openwrt.git] / target / linux / ramips / base-files / etc / board.d / 02_network
1 #!/bin/sh
2
3 . /lib/functions.sh
4 . /lib/functions/uci-defaults.sh
5 . /lib/functions/system.sh
6
7 ramips_setup_rt3x5x_vlans()
8 {
9         if [ ! -x /sbin/swconfig ]; then
10                 # legacy default
11                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
12                 return
13         fi
14         local wanports=""
15         local lanports=""
16         for port in 5 4 3 2 1 0; do
17                 if [ `swconfig dev rt305x port $port get disable` = "1" ]; then
18                         continue
19                 fi
20                 if [ `swconfig dev rt305x port $port get lan` = "0" ]; then
21                         wanports="$port:wan $wanports"
22                 else
23                         lanports="$port:lan $lanports"
24                 fi
25         done
26         ucidef_add_switch "rt305x" $lanports $wanports "6t@eth0"
27 }
28
29 ramips_setup_interfaces()
30 {
31         local board="$1"
32
33         case $board in
34         11acnas|\
35         w2914nsv2|\
36         zbt-we2026)
37                 ucidef_add_switch "switch0" \
38                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
39                 ;;
40         3g150b|\
41         3g300m|\
42         a5-v11|\
43         all0256n-4M|\
44         all0256n-8M|\
45         all5002|\
46         all5003|\
47         broadway|\
48         dcs-930|\
49         dcs-930l-b1|\
50         ht-tm02|\
51         linkits7688 | \
52         linkits7688d | \
53         m2m|\
54         microwrt|\
55         mpr-a2|\
56         ncs601w|\
57         omega2 | \
58         omega2p | \
59         timecloud|\
60         w150m|\
61         widora-neo|\
62         wnce2001|\
63         zbt-cpe102|\
64         zte-q7)
65                 ucidef_add_switch "switch0"
66                 ucidef_add_switch_attr "switch0" "enable" "false"
67                 ucidef_set_interface_lan "eth0"
68                 ;;
69         mlw221|\
70         mr-102n)
71                 ucidef_set_interface_lan "eth0.2"
72                 ;;
73         3g-6200n|\
74         ai-br100|\
75         d240|\
76         db-wrt01|\
77         dir-300-b7|\
78         dir-320-b1|\
79         dir-610-a1|\
80         dir-615-h1|\
81         ew1200|\
82         firewrt|\
83         hc5661a|\
84         hc5962|\
85         hlk-rm04|\
86         k2p|\
87         kn|\
88         kn_rc|\
89         mac1200rv2|\
90         miwifi-mini|\
91         miwifi-nano|\
92         mt7621|\
93         mt7628|\
94         mzk-750dhp|\
95         mzk-w300nh2|\
96         nixcore-x1-8M|\
97         nixcore-x1-16M|\
98         oy-0001|\
99         pbr-m1|\
100         psg1208|\
101         psg1218a|\
102         r6220|\
103         sap-g3200u3|\
104         sk-wb8|\
105         vr500|\
106         wf-2881|\
107         witi|\
108         wl-wn575a3|\
109         wndr3700v5|\
110         wt1520-4M|\
111         wt1520-8M|\
112         y1|\
113         youku-yk1|\
114         zbt-ape522ii|\
115         zbt-we1326|\
116         zbt-we826-16M|\
117         zbt-we826-32M|\
118         zbt-wg2626|\
119         zbt-wg3526-16M|\
120         zbt-wg3526-32M|\
121         zbt-wr8305rt)
122                 ucidef_add_switch "switch0" \
123                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
124                 ;;
125         psg1218b)
126                 ucidef_add_switch "switch0" \
127                         "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0"
128                 ;;
129         whr-300hp2|\
130         whr-600d|\
131         wsr-1166|\
132         wsr-600)
133                 ucidef_add_switch "switch0" \
134                         "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
135                 ;;
136         ar670w|\
137         ar725w|\
138         rt-ac51u)
139                 ucidef_add_switch "switch0" \
140                         "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
141                 ;;
142         rt-n15|\
143         wl-351)
144                 ucidef_add_switch "switch0" \
145                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
146                 ;;
147         asl26555-8M|\
148         asl26555-16M|\
149         rp-n53)
150                 ucidef_add_switch "switch0" \
151                         "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
152                 ;;
153         atp-52b|\
154         awm002-evb-4M|\
155         awm002-evb-8M|\
156         awm003-evb|\
157         c20i|\
158         c50|\
159         dir-645|\
160         f5d8235-v2|\
161         gl-mt300a|\
162         gl-mt300n|\
163         gl-mt750|\
164         hg255d|\
165         jhr-n805r|\
166         jhr-n825r|\
167         jhr-n926r|\
168         mzk-wdpr|\
169         rb750gr3|\
170         rt-n14u|\
171         tl-wr840n-v4|\
172         tl-wr841n-v13|\
173         ubnt-erx|\
174         ubnt-erx-sfp|\
175         ur-326n4g|\
176         wrtnode|\
177         wrtnode2p | \
178         wrtnode2r | \
179         wt3020-4M|\
180         wt3020-8M|\
181         zbt-wa05)
182                 ucidef_add_switch "switch0" \
183                         "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
184                 ;;
185         dir-860l-b1)
186                 ucidef_add_switch "switch0" \
187                         "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
188                 ;;
189         gl-mt300n-v2)
190                 ucidef_add_switch "switch0" \
191                         "1:lan" "0:wan" "6@eth0"
192                 ;;
193         awapn2403)
194                 ucidef_add_switch "switch0" \
195                         "0:lan" "1:wan" "6@eth0"
196                 ;;
197         b2c|\
198         nw718|\
199         psr-680w|\
200         sl-r7205|\
201         ur-336un|\
202         w502u|\
203         wr6202)
204                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
205                 ;;
206         br-6475nd)
207                 ucidef_add_switch "switch0" \
208                         "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
209                 ;;
210         cf-wr800n)
211                 ucidef_add_switch "switch0" \
212                         "4:lan" "6t@eth0"
213                 ;;
214         cy-swr1100)
215                 ucidef_add_switch "switch0" \
216                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
217                 ;;
218         cs-qr10|\
219         d105|\
220         dch-m225|\
221         ex2700|\
222         ex3700|\
223         hpm|\
224         mzk-ex300np|\
225         mzk-ex750np|\
226         na930|\
227         pbr-d1|\
228         wli-tx4-ag300n|\
229         wmr-300|\
230         wn3000rpv3|\
231         wrh-300cr)
232                 ucidef_set_interface_lan "eth0"
233                 ;;
234         duzun-dm06)
235                 ucidef_add_switch "switch0" \
236                         "1:lan" "0:wan" "6@eth0"
237                 ;;
238         e1700|\
239         mt7620a_mt7530)
240                 ucidef_add_switch "switch1" \
241                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
242                 ;;
243         hc5*61|\
244         y1s)
245                 ucidef_add_switch "switch0" \
246                         "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
247                 ;;
248         kn_rf)
249                 ucidef_add_switch "switch0" \
250                         "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0"
251                 ;;
252         kng_rc)
253                 ucidef_add_switch "switch1" \
254                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
255                 ;;
256         mlwg2|\
257         wizard8800|\
258         wl-330n)
259                 ucidef_set_interface_lan "eth0.1"
260                 ;;
261         mr200)
262                 ucidef_add_switch "switch0" \
263                         "0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
264                 ucidef_set_interface_wan "usb0"
265                 ;;
266         mzk-dp150n|\
267         vocore-8M|\
268         vocore-16M)
269                 ucidef_add_switch "switch0" \
270                         "0:lan" "4:lan" "6t@eth0"
271                 ;;
272         newifi-d1)
273                 ucidef_add_switch "switch0" \
274                 "1:lan:2" "2:lan:1" "4:wan" "6@eth0"
275                 ;;
276         re350-v1)
277                 ucidef_add_switch "switch0" \
278                         "0:lan" "6@eth0"
279                 ;;
280         re6500)
281                 ucidef_add_switch "switch0" \
282                         "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0"
283                 ;;
284         rt-n56u)
285                 ucidef_add_switch "switch0" \
286                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0"
287                 ;;
288         tew-638apb-v2)
289                 ucidef_add_switch "switch0" \
290                         "4:lan" "6@eth0"
291                 ;;
292         tew-691gr|\
293         tew-692gr|\
294         wlr-6000)
295                 ucidef_add_switch "switch0" \
296                         "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
297                 ;;
298         vocore2)
299                 ucidef_add_switch "switch0" \
300                         "0:lan" "2:lan" "6t@eth0"
301                 ;;
302         f5d8235-v1|\
303         tew-714tru|\
304         v11st-fe|\
305         wzr-agl300nh)
306                 ucidef_add_switch "switch0" \
307                         "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
308                 ;;
309         wcr-1166ds)
310                 ucidef_add_switch "switch0" \
311                         "3:lan" "4:wan" "6@eth0"
312                 ;;
313         wcr-150gn)
314                 ucidef_add_switch "switch0" \
315                         "0:lan" "6t@eth0"
316                 ;;
317         whr-1166d)
318                 ucidef_add_switch "switch0" \
319                         "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
320                 ;;
321         wizfi630a)
322                 ucidef_add_switch "switch0" \
323                         "1:lan" "2:lan" "0:wan" "6@eth0"
324                 ;;
325         *)
326                 RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
327                 if [ -n "${RT3X5X}" ]; then
328                         ramips_setup_rt3x5x_vlans
329                 else
330                         ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
331                 fi
332                 ;;
333         esac
334 }
335
336 ramips_setup_macs()
337 {
338         local board="$1"
339         local lan_mac=""
340         local wan_mac=""
341
342         case $board in
343         a5-v11|\
344         ht-tm02)
345                 lan_mac=$(cat /sys/class/net/eth0/address)
346                 ;;
347         all0239-3g|\
348         carambola|\
349         freestation5|\
350         w502u|\
351         wnce2001)
352                 wan_mac=$(mtd_get_mac_binary factory 46)
353                 ;;
354         bc2|\
355         broadway|\
356         d105|\
357         dir-300-b7|\
358         dir-320-b1|\
359         dir-620-a1|\
360         esr-9753|\
361         freestation5|\
362         hlk-rm04|\
363         mpr-a1|\
364         psr-680w|\
365         sl-r7205|\
366         y1|\
367         y1s)
368                 lan_mac=$(cat /sys/class/net/eth0/address)
369                 lan_mac=$(macaddr_setbit_la "$lan_mac")
370                 wan_mac=$(macaddr_add "$lan_mac" 1)
371                 ;;
372         br-6475nd)
373                 lan_mac=$(cat /sys/class/net/eth0/address)
374                 wan_mac=$(mtd_get_mac_binary devdata 7)
375                 ;;
376         cy-swr1100|\
377         dch-m225)
378                 lan_mac=$(mtd_get_mac_ascii factory lanmac)
379                 ;;
380         dir-645)
381                 lan_mac=$(mtd_get_mac_ascii nvram lanmac)
382                 wan_mac=$(mtd_get_mac_ascii nvram wanmac)
383                 ;;
384         dir-860l-b1)
385                 lan_mac=$(mtd_get_mac_ascii factory lanmac)
386                 wan_mac=$(mtd_get_mac_ascii factory wanmac)
387                 ;;
388         e1700)
389                 wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
390                 ;;
391         gl-mt300n-v2)
392                 wan_mac=$(mtd_get_mac_binary factory 4)
393                 ;;
394         hc5*61|\
395         hc5661a|\
396         hc5962)
397                 lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
398                 [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
399                 wan_mac=$(macaddr_add "$lan_mac" 1)
400                 ;;
401         kn_rc|\
402         kn_rf|\
403         kng_rc)
404                 wan_mac=$(mtd_get_mac_binary factory 40)
405                 ;;
406         linkits7688 | \
407         linkits7688d)
408                 wan_mac=$(mtd_get_mac_binary factory 4)
409                 lan_mac=$(mtd_get_mac_binary factory 46)
410                 ;;
411         mac1200rv2)
412                 lan_mac=$(mtd_get_mac_binary factory_info 13)
413                 wan_mac=$(macaddr_add "$lan_mac" 1)
414                 ;;
415         miwifi-mini)
416                 wan_mac=$(cat /sys/class/net/eth0/address)
417                 lan_mac=$(macaddr_setbit_la "$wan_mac")
418                 ;;
419         m3|\
420         m4-4M|\
421         m4-8M|\
422         x5|\
423         x8)
424                 lan_mac=$(cat /sys/class/net/eth0/address)
425                 lan_mac=$(macaddr_add "$lan_mac" -2)
426                 ;;
427         newifi-d1)
428                 lan_mac=$(cat /sys/class/net/eth0/address)
429                 lan_mac=$(macaddr_add "$lan_mac" 2)
430                 ;;
431         omega2|\
432         omega2p)
433                 wan_mac=$(mtd_get_mac_binary factory 4)
434                 lan_mac=$(mtd_get_mac_binary factory 46)
435                 ;;
436         oy-0001)
437                 lan_mac=$(mtd_get_mac_binary factory 40)
438                 wan_mac=$(mtd_get_mac_binary factory 46)
439                 ;;
440         r6220)
441                 wan_mac=$(mtd_get_mac_binary factory 4)
442                 lan_mac=$(macaddr_add "$wan_mac" 1)
443                 ;;
444         rt-n56u)
445                 lan_mac=$(cat /sys/class/net/eth0/address)
446                 lan_mac=$(macaddr_setbit_la "$lan_mac")
447                 wan_mac=$(mtd_get_mac_binary factory 32772)
448                 ;;
449         sk-wb8)
450                 wan_mac=$(mtd_get_mac_binary factory 57350)
451                 ;;
452         tew-691gr)
453                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 3)
454                 ;;
455         tew-692gr)
456                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 1)
457                 ;;
458         tiny-ac)
459                 lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
460                 wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
461                 ;;
462         vr500)
463                 lan_mac=$(mtd_get_mac_binary factory 57344)
464                 wan_mac=$(mtd_get_mac_binary factory 57350)
465                 ;;
466         w306r-v20)
467                 lan_mac=$(cat /sys/class/net/eth0/address)
468                 wan_mac=$(macaddr_add "$lan_mac" 5)
469                 ;;
470         wcr-1166ds|\
471         wsr-1166)
472                 local index="$(find_mtd_index "board_data")"
473                 wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
474                 lan_mac=$wan_mac
475                 ;;
476         wcr-150gn)
477                 wan_mac=$(mtd_get_mac_binary factory 40)
478                 ;;
479         whr-1166d|\
480         whr-300hp2|\
481         whr-600d|\
482         wsr-600)
483                 wan_mac=$(mtd_get_mac_binary factory 4)
484                 lan_mac=$wan_mac
485                 ;;
486         wizfi630a)
487                 lan_mac=$(mtd_get_mac_binary factory 4)
488                 wan_mac=$(mtd_get_mac_binary factory 40)
489                 ;;
490         wlr-6000)
491                 wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 32772)" 2)
492                 ;;
493         *)
494                 lan_mac=$(cat /sys/class/net/eth0/address)
495                 wan_mac=$(macaddr_add "$lan_mac" 1)
496                 ;;
497         esac
498
499         [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
500         [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
501 }
502
503 board_config_update
504 board=$(board_name)
505 ramips_setup_interfaces $board
506 ramips_setup_macs $board
507 board_config_flush
508
509 exit 0