ramips: remove default case for MAC address assignment
[oweals/openwrt.git] / target / linux / ramips / mt7620 / 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_interfaces()
8 {
9         local board="$1"
10
11         case $board in
12         aigale,ai-br100|\
13         alfa-network,ac1200rm|\
14         asus,rt-n12p|\
15         dlink,dir-810l|\
16         dlink,dwr-116-a1|\
17         dlink,dwr-921-c1|\
18         dlink,dwr-922-e2|\
19         ohyeah,oy-0001|\
20         phicomm,psg1208|\
21         phicomm,psg1218a|\
22         planex,db-wrt01|\
23         planex,mzk-750dhp|\
24         sanlinking,d240|\
25         youku,yk1|\
26         zbtlink,zbt-ape522ii|\
27         zbtlink,zbt-we826-16m|\
28         zbtlink,zbt-we826-32m|\
29         zbtlink,zbt-we826-e|\
30         zbtlink,zbt-wr8305rt|\
31         zyxel,keenetic-omni)
32                 ucidef_add_switch "switch0" \
33                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
34                 ;;
35         alfa-network,tube-e4g|\
36         buffalo,wmr-300|\
37         dlink,dch-m225|\
38         elecom,wrh-300cr|\
39         kimax,u25awf-h1|\
40         netgear,ex2700|\
41         netgear,ex3700|\
42         netgear,wn3000rp-v3|\
43         planex,cs-qr10|\
44         planex,mzk-ex300np|\
45         planex,mzk-ex750np|\
46         ravpower,wd03|\
47         sercomm,na930)
48                 ucidef_set_interface_lan "eth0"
49                 ;;
50         asus,rp-n53)
51                 ucidef_add_switch "switch0" \
52                         "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
53                 ;;
54         asus,rt-ac51u)
55                 ucidef_add_switch "switch0" \
56                         "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
57                 ;;
58         asus,rt-n14u|\
59         bdcom,wap2100-sk|\
60         glinet,gl-mt300a|\
61         glinet,gl-mt300n|\
62         glinet,gl-mt750|\
63         hiwifi,hc5661|\
64         tplink,archer-c20i|\
65         wrtnode,wrtnode|\
66         zbtlink,zbt-wa05)
67                 ucidef_add_switch "switch0" \
68                         "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
69                 ;;
70         buffalo,whr-300hp2|\
71         buffalo,whr-600d)
72                 ucidef_add_switch "switch0" \
73                         "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
74                 ;;
75         buffalo,whr-1166d)
76                 ucidef_add_switch "switch0" \
77                         "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
78                 ;;
79         comfast,cf-wr800n|\
80         hnet,c108)
81                 ucidef_add_switch "switch0" \
82                         "4:lan" "6@eth0"
83                 ;;
84         dlink,dir-510l)
85                 ucidef_add_switch "switch0" \
86                         "0:lan" "6@eth0"
87                 ;;
88         dlink,dwr-118-a1)
89                 ucidef_add_switch "switch0" \
90                         "1:lan:2" "2:lan:3" "3:lan:1" "4:lan:0" "5:wan" "6@eth0"
91                 ;;
92         dlink,dwr-118-a2)
93                 ucidef_add_switch "switch0" \
94                         "1:lan:2" "2:lan:1" "3:lan:3" "4:lan" "0:wan" "6@eth0"
95                 ;;
96         edimax,br-6478ac-v2|\
97         tplink,archer-c2-v1)
98                 ucidef_add_switch "switch1" \
99                         "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
100                 ;;
101         edimax,ew-7476rpc|\
102         edimax,ew-7478ac|\
103         kimax,u35wf|\
104         microduino,microwrt|\
105         yukai,bocco|\
106         zbtlink,zbt-cpe102|\
107         zte,q7)
108                 ucidef_add_switch "switch0"
109                 ucidef_add_switch_attr "switch0" "enable" "false"
110                 ucidef_set_interface_lan "eth0"
111                 ;;
112         engenius,esr600)
113                 ucidef_add_switch "switch0" \
114                         "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "0@eth0"
115                 ;;
116         fon,fon2601)
117                 ucidef_add_switch "switch0" \
118                         "0:lan" "4:wan" "6@eth0"
119                 ;;
120         head-weblink,hdrm200)
121                 ucidef_add_switch "switch0" \
122                         "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
123                 ;;
124         hiwifi,hc5761)
125                 ucidef_add_switch "switch0" \
126                         "1:lan" "4:lan" "0:wan" "6@eth0"
127                 ;;
128         hiwifi,hc5861)
129                 ucidef_add_switch "switch0" \
130                         "0:lan" "1:lan" "5:wan" "6@eth0"
131                 ;;
132         iodata,wn-ac1167gr|\
133         iodata,wn-ac733gr3)
134                 ucidef_add_switch "switch1" \
135                         "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
136                 ;;
137         kingston,mlw221)
138                 ucidef_set_interface_lan "eth0.2"
139                 ;;
140         kingston,mlwg2)
141                 ucidef_set_interface_lan "eth0.1"
142                 ;;
143         lava,lr-25g001)
144                 ucidef_add_switch "switch0" \
145                         "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
146                 ;;
147         lenovo,newifi-y1|\
148         xiaomi,miwifi-mini)
149                 ucidef_add_switch "switch0" \
150                         "0:lan:2" "1:lan:1" "4:wan" "6@eth0"
151                 ;;
152         lenovo,newifi-y1s)
153                 ucidef_add_switch "switch0" \
154                         "1:lan:4" "2:lan:3" "4:lan:2" "5:lan:1" "0:wan" "6@eth0"
155                 ;;
156         linksys,e1700|\
157         ralink,mt7620a-mt7530-evb)
158                 ucidef_add_switch "switch1" \
159                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
160                 ;;
161         nexx,wt3020-4m|\
162         nexx,wt3020-8m)
163                 ucidef_add_switch "switch0" \
164                         "4:lan" "0:wan" "6@eth0"
165                 ;;
166         phicomm,k2g)
167                 ucidef_add_switch "switch0" \
168                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5:wan" "6@eth0"
169                 ;;
170         phicomm,psg1218b)
171                 ucidef_add_switch "switch0" \
172                         "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0"
173                 ;;
174         tplink,archer-c20-v1|\
175         tplink,archer-c50-v1)
176                 ucidef_add_switch "switch0" \
177                         "1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
178                 ;;
179         tplink,archer-mr200)
180                 ucidef_add_switch "switch0" \
181                         "0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
182                 ucidef_set_interface_wan "usb0"
183                 ;;
184         vonets,var11n-300)
185                 ucidef_add_switch "switch0" \
186                         "0:lan" "4:wan" "6@eth0"
187                 ;;
188         zbtlink,zbt-we1026-5g-16m)
189                 ucidef_add_switch "switch0" \
190                         "0:lan" "6t@eth0"
191                 ;;
192         zbtlink,zbt-we1026-h-32m)
193                 ucidef_add_switch "switch0" \
194                         "3:lan" "4:wan" "6@eth0"
195                 ;;
196         zbtlink,zbt-we2026)
197                 ucidef_add_switch "switch0" \
198                         "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
199                 ;;
200         zyxel,keenetic-omni-ii)
201                 ucidef_add_switch "switch0" \
202                         "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0"
203                 ;;
204         zyxel,keenetic-viva)
205                 ucidef_add_switch "switch1" \
206                         "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
207                 ;;
208         *)
209                 ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
210                 ;;
211         esac
212 }
213
214 ramips_setup_macs()
215 {
216         local board="$1"
217         local lan_mac=""
218         local wan_mac=""
219         local label_mac=""
220
221         case $board in
222         aigale,ai-br100|\
223         alfa-network,ac1200rm|\
224         asus,rt-ac51u|\
225         asus,rt-n12p|\
226         asus,rt-n14u|\
227         bdcom,wap2100-sk|\
228         dlink,dir-810l|\
229         edimax,ew-7478apc|\
230         fon,fon2601|\
231         head-weblink,hdrm200|\
232         nexx,wt3020-4m|\
233         nexx,wt3020-8m|\
234         phicomm,psg1208|\
235         phicomm,psg1218a|\
236         phicomm,psg1218b|\
237         planex,db-wrt01|\
238         planex,mzk-750dhp|\
239         ralink,mt7620a-evb|\
240         ralink,mt7620a-mt7530-evb|\
241         ralink,mt7620a-mt7610e-evb|\
242         ralink,mt7620a-v22sg-evb|\
243         sanlinking,d240|\
244         tplink,archer-c2-v1|\
245         tplink,archer-c20-v1|\
246         tplink,archer-c20i|\
247         tplink,archer-c50-v1|\
248         tplink,archer-mr200|\
249         vonets,var11n-300|\
250         wrtnode,wrtnode|\
251         youku,yk1|\
252         zbtlink,zbt-ape522ii|\
253         zbtlink,zbt-wa05|\
254         zbtlink,zbt-we2026|\
255         zbtlink,zbt-we826-16m|\
256         zbtlink,zbt-we826-32m|\
257         zbtlink,zbt-we826-e|\
258         zbtlink,zbt-wr8305rt)
259                 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1)
260                 ;;
261         dlink,dch-m225)
262                 lan_mac=$(mtd_get_mac_ascii factory lanmac)
263                 ;;
264         dlink,dir-510l|\
265         dlink,dwr-116-a1|\
266         dlink,dwr-118-a1|\
267         dlink,dwr-118-a2|\
268         dlink,dwr-921-c1|\
269         dlink,dwr-922-e2|\
270         lava,lr-25g001)
271                 wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
272                 lan_mac=$(macaddr_add "$wan_mac" 1)
273                 label_mac=$wan_mac
274                 ;;
275         dovado,tiny-ac)
276                 lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
277                 wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
278                 ;;
279         edimax,br-6478ac-v2)
280                 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
281                 ;;
282         engenius,esr600)
283                 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
284                 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
285                 ;;
286         glinet,gl-mt300a|\
287         glinet,gl-mt300n|\
288         glinet,gl-mt750)
289                 wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1)
290                 label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
291                 ;;
292         hiwifi,hc5661|\
293         hiwifi,hc5761|\
294         hiwifi,hc5861)
295                 lan_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
296                 label_mac=$lan_mac
297                 [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
298                 wan_mac=$(macaddr_add "$lan_mac" 1)
299                 ;;
300         iodata,wn-ac1167gr|\
301         iodata,wn-ac733gr3)
302                 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
303                 ;;
304         lenovo,newifi-y1|\
305         lenovo,newifi-y1s|\
306         ohyeah,oy-0001|\
307         phicomm,k2g)
308                 wan_mac=$(mtd_get_mac_binary factory 0x2e)
309                 ;;
310         linksys,e1700)
311                 wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
312                 ;;
313         zbtlink,zbt-we1026-5g-16m)
314                 label_mac=$(cat /sys/class/ieee80211/phy1/macaddress)
315                 ;;
316         zbtlink,zbt-we1026-h-32m)
317                 wan_mac=$(mtd_get_mac_binary factory 0x2e)
318                 label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
319                 ;;
320         zyxel,keenetic-omni|\
321         zyxel,keenetic-omni-ii|\
322         zyxel,keenetic-viva)
323                 wan_mac=$(mtd_get_mac_binary factory 0x28)
324                 ;;
325         esac
326
327         [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
328         [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
329         [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
330 }
331
332 board_config_update
333 board=$(board_name)
334 ramips_setup_interfaces $board
335 ramips_setup_macs $board
336 board_config_flush
337
338 exit 0