ath79: add support for Ubiquiti PowerBeam M2 (XW)
[openwrt/staging/dedeckeh.git] / target / linux / ath79 / generic / base-files / etc / board.d / 02_network
1
2 . /lib/functions/system.sh
3 . /lib/functions/uci-defaults.sh
4 . /lib/functions/k2t.sh
5
6 ath79_setup_interfaces()
7 {
8 local board="$1"
9
10 case "$board" in
11 adtran,bsap1800-v2|\
12 adtran,bsap1840|\
13 allnet,all-wap02860ac|\
14 alfa-network,ap121f|\
15 alfa-network,pi-wifi4|\
16 arduino,yun|\
17 aruba,ap-105|\
18 avm,fritz1750e|\
19 avm,fritz300e|\
20 avm,fritzdvbc|\
21 comfast,cf-wr752ac-v1|\
22 comfast,cf-e130n-v2|\
23 devolo,dvl1200i|\
24 devolo,dvl1750c|\
25 devolo,dvl1750i|\
26 devolo,dvl1750x|\
27 dlink,dap-1330-a1|\
28 dlink,dap-1365-a1|\
29 dlink,dap-2230-a1|\
30 dlink,dap-2660-a1|\
31 dlink,dap-2680-a1|\
32 dlink,dap-3320-a1|\
33 dlink,dir-505|\
34 engenius,eap1200h|\
35 engenius,eap600|\
36 engenius,ecb1200|\
37 engenius,ecb1750|\
38 engenius,ecb600|\
39 enterasys,ws-ap3705i|\
40 glinet,gl-ar300m-lite|\
41 glinet,gl-usb150|\
42 hak5,wifi-pineapple-nano|\
43 meraki,mr16|\
44 netgear,ex6400|\
45 netgear,ex7300|\
46 ocedo,koala|\
47 ocedo,raccoon|\
48 openmesh,mr600-v1|\
49 openmesh,mr600-v2|\
50 openmesh,mr900-v1|\
51 openmesh,mr900-v2|\
52 openmesh,mr1750-v1|\
53 openmesh,mr1750-v2|\
54 pcs,cap324|\
55 pisen,ts-d084|\
56 pisen,wmb001n|\
57 pisen,wmm003n|\
58 siemens,ws-ap3610|\
59 tplink,cpe210-v2|\
60 tplink,cpe210-v3|\
61 tplink,cpe510-v2|\
62 tplink,cpe510-v3|\
63 tplink,cpe610-v1|\
64 tplink,cpe610-v2|\
65 tplink,eap225-outdoor-v1|\
66 tplink,eap225-v3|\
67 tplink,eap245-v1|\
68 tplink,re350k-v1|\
69 tplink,re355-v1|\
70 tplink,re450-v1|\
71 tplink,re450-v2|\
72 tplink,re450-v3|\
73 tplink,re455-v1|\
74 tplink,tl-wr902ac-v1|\
75 ubnt,bullet-ac|\
76 ubnt,bullet-m-ar7240|\
77 ubnt,bullet-m-ar7241|\
78 ubnt,bullet-m-xw|\
79 ubnt,lap-120|\
80 ubnt,litebeam-ac-gen2|\
81 ubnt,nanobeam-ac|\
82 ubnt,nanobridge-m|\
83 ubnt,nanostation-ac-loco|\
84 ubnt,nanostation-loco-m|\
85 ubnt,nanostation-loco-m-xw|\
86 ubnt,picostation-m|\
87 ubnt,powerbeam-5ac-500|\
88 ubnt,powerbeam-5ac-gen2|\
89 ubnt,powerbeam-m2-xw|\
90 ubnt,powerbeam-m5-xw|\
91 ubnt,powerbridge-m|\
92 ubnt,rocket-5ac-lite|\
93 ubnt,rocket-m|\
94 ubnt,unifiac-lite|\
95 ubnt,unifiac-lr|\
96 ubnt,unifiac-mesh|\
97 ubnt,unifi|\
98 wd,mynet-wifi-rangeextender|\
99 winchannel,wb2000)
100 ucidef_set_interface_lan "eth0"
101 ;;
102 airtight,c-75)
103 ucidef_add_switch "switch0" \
104 "0@eth0" "2:wan" "3:lan" "6@eth1"
105 ;;
106 alfa-network,ap121fe)
107 ucidef_set_interface_lan "eth0 usb0"
108 ;;
109 alfa-network,n2q|\
110 alfa-network,n5q|\
111 devolo,dvl1200e|\
112 devolo,dvl1750e|\
113 engenius,enstationac-v1|\
114 engenius,ews511ap|\
115 ocedo,ursus|\
116 ubnt,unifi-ap-outdoor-plus)
117 ucidef_set_interface_lan "eth0 eth1"
118 ;;
119 avm,fritz4020|\
120 pcs,cr3000|\
121 tplink,archer-c58-v1|\
122 tplink,archer-c59-v1|\
123 tplink,archer-c59-v2)
124 ucidef_set_interface_wan "eth1"
125 ucidef_add_switch "switch0" \
126 "0@eth0" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
127 ;;
128 belkin,f9j1108-v2|\
129 belkin,f9k1115-v2|\
130 tplink,archer-c5-v1|\
131 tplink,archer-c7-v1|\
132 tplink,archer-c7-v2|\
133 tplink,tl-wdr4900-v2|\
134 tplink,tl-wdr7500-v3)
135 ucidef_add_switch "switch0" \
136 "0@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6@eth0" "1:wan"
137 ;;
138 buffalo,bhr-4grv|\
139 buffalo,wzr-hp-g450h)
140 ucidef_add_switch "switch0" \
141 "0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
142 ;;
143 buffalo,bhr-4grv2|\
144 trendnet,tew-823dru)
145 ucidef_add_switch "switch0" \
146 "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth0"
147 ;;
148 buffalo,wzr-600dhp|\
149 buffalo,wzr-hp-ag300h|\
150 tplink,archer-c25-v1|\
151 tplink,archer-c60-v1|\
152 tplink,archer-c60-v2|\
153 tplink,archer-c60-v3|\
154 tplink,tl-wdr3500-v1|\
155 tplink,tl-wr842n-v1|\
156 tplink,tl-wr842n-v3|\
157 ubnt,airrouter)
158 ucidef_set_interface_wan "eth1"
159 ucidef_add_switch "switch0" \
160 "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
161 ;;
162 buffalo,wzr-hp-g300nh-rb|\
163 buffalo,wzr-hp-g300nh-s|\
164 dlink,dir-825-b1)
165 ucidef_set_interface_wan "eth1"
166 ucidef_add_switch "switch0" \
167 "0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
168 ;;
169 buffalo,wzr-hp-g302h-a1a0)
170 ucidef_add_switch "switch0" \
171 "0@eth0" "1:lan:1" "3:lan:4" "4:lan:3" "5:lan:2" "2:wan"
172 ;;
173 comfast,cf-e110n-v2|\
174 comfast,cf-e120a-v3|\
175 comfast,cf-e314n-v2|\
176 compex,wpj531-16m|\
177 openmesh,a40|\
178 openmesh,a60|\
179 openmesh,om2p-v4|\
180 openmesh,om2p-hs-v4|\
181 plasmacloud,pa300|\
182 plasmacloud,pa300e|\
183 tplink,cpe210-v1|\
184 tplink,cpe220-v2|\
185 tplink,cpe220-v3|\
186 tplink,cpe510-v1|\
187 tplink,wbs210-v1|\
188 tplink,wbs210-v2|\
189 tplink,wbs510-v1|\
190 tplink,wbs510-v2|\
191 ubnt,nanostation-m|\
192 ubnt,routerstation)
193 ucidef_set_interfaces_lan_wan "eth1" "eth0"
194 ;;
195 comfast,cf-e375ac)
196 ucidef_add_switch "switch0" \
197 "0@eth0" "1:wan" "2:lan"
198 ;;
199 comfast,cf-e560ac|\
200 qca,ap143-8m|\
201 qca,ap143-16m|\
202 tplink,tl-wr841hp-v3)
203 ucidef_set_interface_wan "eth1"
204 ucidef_add_switch "switch0" \
205 "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
206 ;;
207 comfast,cf-wr650ac-v1|\
208 comfast,cf-wr650ac-v2|\
209 zyxel,nbg6616)
210 ucidef_add_switch "switch0" \
211 "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth1"
212 ;;
213 compex,wpj344-16m|\
214 compex,wpj563)
215 ucidef_add_switch "switch0" \
216 "0@eth0" "3:lan" "2:wan"
217 ;;
218 devolo,dlan-pro-1200plus-ac|\
219 devolo,magic-2-wifi)
220 ucidef_add_switch "switch0" \
221 "0@eth0" "2:wan" "3:lan" "4:lan"
222 ;;
223 dlink,dap-2695-a1)
224 ucidef_add_switch "switch0" \
225 "0@eth0" "2:lan" "3:wan" "6@eth1"
226 ;;
227 dlink,dap-3662-a1)
228 ucidef_add_switch "switch0" \
229 "0@eth0" "1:lan:2" "2:lan:1" "6@eth1"
230 ;;
231 dlink,dch-g020-a1)
232 ucidef_add_switch "switch0" \
233 "0@eth0" "1:lan:2" "2:lan:1"
234 ;;
235 dlink,dir-825-c1|\
236 dlink,dir-835-a1|\
237 dlink,dir-842-c1|\
238 dlink,dir-842-c2|\
239 dlink,dir-842-c3|\
240 dlink,dir-859-a1|\
241 engenius,epg5000|\
242 sitecom,wlr-7100|\
243 tplink,archer-c2-v3|\
244 tplink,tl-wr1043nd-v4|\
245 tplink,tl-wr1043n-v5)
246 ucidef_add_switch "switch0" \
247 "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
248 ;;
249 elecom,wrc-1750ghbk2-i|\
250 elecom,wrc-300ghbk2-i|\
251 sitecom,wlr-8100)
252 ucidef_add_switch "switch0" \
253 "0@eth0" "2:lan:4" "3:lan:3" "4:lan:2" "5:lan:1" "1:wan"
254 ;;
255 embeddedwireless,dorin)
256 ucidef_add_switch "switch0" \
257 "0@eth0" "1:wan" "2:lan:3" "3:lan:2"
258 ;;
259 engenius,eap300-v2)
260 ucidef_add_switch "switch0" \
261 "0@eth0" "1:lan"
262 ;;
263 engenius,ens202ext-v1)
264 ucidef_set_interface_lan "eth1"
265 ucidef_add_switch "switch0" \
266 "0@eth0" "1:lan"
267 ;;
268 etactica,eg200)
269 ucidef_set_interface_lan "eth0" "dhcp"
270 ;;
271 glinet,gl-ar750)
272 ucidef_set_interface_wan "eth1"
273 ucidef_add_switch "switch0" \
274 "0@eth0" "1:lan" "2:lan"
275 ;;
276 glinet,gl-x300b)
277 ucidef_set_interface_wan "eth1"
278 ucidef_add_switch "switch0" \
279 "0@eth0" "4:lan"
280 ;;
281 iodata,etg3-r|\
282 iodata,wn-ac1167dgr|\
283 iodata,wn-ac1600dgr|\
284 iodata,wn-ac1600dgr2|\
285 iodata,wn-ag300dgr|\
286 pcs,cr5000|\
287 wd,mynet-n750)
288 ucidef_add_switch "switch0" \
289 "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
290 ;;
291 joyit,jt-or750i)
292 ucidef_set_interface_wan "eth1"
293 ucidef_add_switch "switch0" \
294 "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1"
295 ;;
296 librerouter,librerouter-v1)
297 ucidef_add_switch "switch0" \
298 "0@eth0" "5:wan" "6@eth1" "4:lan"
299 ;;
300 meraki,mr12)
301 ucidef_set_interface_lan "eth0"
302 ucidef_add_switch "switch0" \
303 "0@eth1" "1:lan"
304 ;;
305 mercury,mw4530r-v1|\
306 tplink,archer-a7-v5|\
307 tplink,archer-c6-v2|\
308 tplink,archer-c6-v2-us|\
309 tplink,archer-c7-v4|\
310 tplink,archer-c7-v5|\
311 tplink,tl-wdr3600-v1|\
312 tplink,tl-wdr4300-v1|\
313 tplink,tl-wdr4300-v1-il|\
314 tplink,tl-wdr4310-v1)
315 ucidef_add_switch "switch0" \
316 "0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
317 ;;
318 nec,wf1200cr)
319 ucidef_set_interface_wan "eth1"
320 ucidef_add_switch "switch0" \
321 "0@eth0" "1:lan"
322 ;;
323 nec,wg1200cr|\
324 qxwlan,e1700ac-v2-8m|\
325 qxwlan,e1700ac-v2-16m|\
326 qxwlan,e750g-v8-8m|\
327 qxwlan,e750g-v8-16m|\
328 ubnt,nanobeam-ac-gen2|\
329 ubnt,nanostation-ac|\
330 yuncore,a782|\
331 yuncore,xd4200)
332 ucidef_add_switch "switch0" \
333 "0@eth0" "2:lan" "3:wan"
334 ;;
335 nec,wg800hp|\
336 xiaomi,aiot-ac2350)
337 ucidef_add_switch "switch0" \
338 "0@eth0" "2:lan" "3:lan" "4:lan" "1:wan"
339 ;;
340 netgear,wndr3700|\
341 netgear,wndr3700-v2|\
342 netgear,wndr3800|\
343 netgear,wndr3800ch|\
344 netgear,wndrmac-v1|\
345 netgear,wndrmac-v2)
346 ucidef_set_interface_wan "eth1"
347 ucidef_add_switch "switch0" \
348 "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5u@eth0"
349 ucidef_add_switch_attr "switch0" "blinkrate" 2
350 ucidef_add_switch_port_attr "switch0" 1 led 6
351 ucidef_add_switch_port_attr "switch0" 2 led 9
352 ucidef_add_switch_port_attr "switch0" 5 led 2
353 ;;
354 netgear,wnr2200-8m|\
355 netgear,wnr2200-16m)
356 ucidef_set_interface_wan "eth0"
357 ucidef_add_switch "switch0" \
358 "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan"
359 ;;
360 phicomm,k2t)
361 ucidef_add_switch "switch0" \
362 "0@eth0" "3:lan:1" "5:lan:2" "4:wan"
363 ;;
364 qihoo,c301)
365 ucidef_set_interface_wan "eth1"
366 ucidef_add_switch "switch0" \
367 "0@eth0" "2:lan" "3:lan"
368 ;;
369 qxwlan,e558-v2-8m|\
370 qxwlan,e558-v2-16m)
371 ucidef_add_switch "switch0" \
372 "0@eth1" "4:lan" "5:lan" "6@eth0" "3:wan"
373 ;;
374 rosinson,wr818)
375 ucidef_add_switch "switch0" \
376 "0@eth0" "1:lan" "2:lan" "3:wan"
377 ;;
378 teltonika,rut955|\
379 teltonika,rut955-h7v3c0)
380 ucidef_set_interface_wan "eth1"
381 ucidef_add_switch "switch0" \
382 "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1"
383 ;;
384 tplink,archer-d50-v1)
385 ucidef_add_switch "switch0" \
386 "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "1:wan"
387 ;;
388 tplink,archer-d7-v1|\
389 tplink,archer-d7b-v1)
390 ucidef_add_switch "switch0" \
391 "0@eth1" "3:lan:3" "4:lan:2" "5:lan:1" "6@eth0" "2:wan:4" "1:wan:5"
392 ;;
393 tplink,eap225-wall-v2)
394 ucidef_add_switch "switch0" \
395 "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
396 ;;
397 tplink,eap245-v3)
398 ucidef_add_switch "switch0" \
399 "0@eth0" "2:lan:1" "5:lan:2"
400 ;;
401 tplink,tl-mr6400-v1)
402 ucidef_set_interfaces_lan_wan "eth0.1 eth1" "usb0"
403 ucidef_add_switch "switch0" \
404 "0@eth0" "1:lan:1" "2:lan:3" "3:lan:2"
405 ;;
406 tplink,tl-wpa8630-v1|\
407 tplink,tl-wpa8630p-v2-int|\
408 tplink,tl-wpa8630p-v2.0-eu|\
409 tplink,tl-wpa8630p-v2.1-eu)
410 # port 5 (internal) is the power-line port
411 ucidef_add_switch "switch0" \
412 "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "5:lan:4"
413 ;;
414 tplink,tl-wr842n-v2|\
415 tplink,tl-wr941hp-v1)
416 ucidef_set_interface_wan "eth1"
417 ucidef_add_switch "switch0" \
418 "0@eth0" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
419 ;;
420 tplink,tl-wr1043nd-v1)
421 ucidef_add_switch "switch0" \
422 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
423 ;;
424 tplink,tl-wr1043nd-v2|\
425 tplink,tl-wr1043nd-v3|\
426 tplink,tl-wr1045nd-v2)
427 ucidef_add_switch "switch0" \
428 "0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "6@eth0"
429 ;;
430 tplink,tl-wr2543-v1)
431 ucidef_add_switch "switch0" \
432 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
433 ;;
434 ubnt,aircube-ac)
435 ucidef_add_switch "switch0" \
436 "0@eth0" "2:lan:1" "3:lan:2" "5:lan:3" "4:wan"
437 ;;
438 ubnt,aircube-isp)
439 ucidef_set_interface_wan "eth1"
440 ucidef_add_switch "switch0" \
441 "0@eth0" "2:lan:1" "3:lan:3" "4:lan:2"
442 ;;
443 ubnt,edgeswitch-5xp)
444 ucidef_set_interface_wan "eth1"
445 ucidef_add_switch "switch0" \
446 "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:lan"
447 ;;
448 ubnt,edgeswitch-8xp)
449 ucidef_set_interface_wan "eth1"
450 ucidef_add_switch "switch0" \
451 "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:lan:5" "5:lan:6" "6:lan:7" "7:lan:8" "8@eth0"
452 ;;
453 ubnt,routerstation-pro)
454 ucidef_set_interface_wan "eth0"
455 ucidef_add_switch "switch0" \
456 "0@eth1" "2:lan:3" "3:lan:2" "4:lan:1"
457 ;;
458 ubnt,nanostation-m-xw)
459 ucidef_add_switch "switch0" \
460 "0@eth0" "5:lan" "1:wan"
461 ;;
462 ubnt,unifiac-mesh-pro|\
463 ubnt,unifiac-pro)
464 ucidef_add_switch "switch0" \
465 "0@eth0" "2:lan:1" "3:lan:2"
466 ;;
467 ubnt,unifi-ap-pro)
468 ucidef_add_switch "switch0" \
469 "0@eth0" "1:lan" "2:lan"
470 ;;
471 xiaomi,mi-router-4q|\
472 zbtlink,zbt-wd323)
473 ucidef_set_interface_wan "eth1"
474 ucidef_add_switch "switch0" \
475 "0@eth0" "3:lan:1" "4:lan:2"
476 ;;
477 *)
478 ucidef_set_interfaces_lan_wan "eth0" "eth1"
479 ;;
480 esac
481 }
482
483 ath79_setup_macs()
484 {
485 local board="$1"
486
487 case "$board" in
488 adtran,bsap1800-v2|\
489 adtran,bsap1840)
490 lan_mac=$(mtd_get_mac_binary "Board data" 2)
491 label_mac=$lan_mac
492 ;;
493 alfa-network,ap121f|\
494 alfa-network,ap121fe|\
495 alfa-network,n2q|\
496 alfa-network,n5q|\
497 alfa-network,pi-wifi4|\
498 alfa-network,r36a|\
499 engenius,eap300-v2|\
500 engenius,ens202ext-v1)
501 label_mac=$(mtd_get_mac_binary art 0x1002)
502 ;;
503 arduino,yun)
504 base_mac=$(mtd_get_mac_binary art 0x1002)
505 lan_mac=$(macaddr_setbit $base_mac 29)
506 [ $lan_mac = $base_mac ] && lan_mac=$(macaddr_unsetbit $base_mac 29)
507 ;;
508 avm,fritz1750e|\
509 avm,fritz450e|\
510 avm,fritzdvbc)
511 label_mac=$(fritz_tffs -n macwlan -i $(find_mtd_part "tffs (1)"))
512 ;;
513 avm,fritz300e)
514 lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
515 label_mac=$(fritz_tffs -n macwlan -i $(find_mtd_part "tffs (1)"))
516 ;;
517 avm,fritz4020)
518 lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
519 wan_mac=$(fritz_tffs -n macb -i $(find_mtd_part "tffs (1)"))
520 ;;
521 comfast,cf-e375ac)
522 wan_mac=$(macaddr_add $(mtd_get_mac_binary art 0x0) 1)
523 ;;
524 compex,wpj344-16m|\
525 compex,wpj563)
526 wan_mac=$(mtd_get_mac_binary u-boot 0x2e018)
527 ;;
528 devolo,dlan-pro-1200plus-ac|\
529 devolo,magic-2-wifi)
530 label_mac=$(macaddr_add "$(mtd_get_mac_binary art 0x1002)" 3)
531 ;;
532 dlink,dap-1330-a1|\
533 dlink,dap-1365-a1|\
534 dlink,dch-g020-a1)
535 lan_mac=$(mtd_get_mac_text "mp" 0x1)
536 label_mac=$lan_mac
537 ;;
538 dlink,dap-2230-a1|\
539 dlink,dap-2660-a1|\
540 dlink,dap-2680-a1|\
541 dlink,dap-3320-a1)
542 lan_mac=$(mtd_get_mac_ascii bdcfg "lanmac")
543 label_mac=$lan_mac
544 ;;
545 dlink,dap-2695-a1|\
546 dlink,dap-3662-a1)
547 label_mac=$(mtd_get_mac_ascii bdcfg "wlanmac")
548 ;;
549 dlink,dir-825-b1)
550 lan_mac=$(mtd_get_mac_text "caldata" 0xffa0)
551 wan_mac=$(mtd_get_mac_text "caldata" 0xffb4)
552 ;;
553 dlink,dir-505)
554 lan_mac=$(mtd_get_mac_text "mac" 0x4)
555 ;;
556 dlink,dir-825-c1|\
557 dlink,dir-835-a1)
558 lan_mac=$(mtd_get_mac_text "mac" 0x4)
559 wan_mac=$(mtd_get_mac_text "mac" 0x18)
560 ;;
561 dlink,dir-842-c1|\
562 dlink,dir-842-c2|\
563 dlink,dir-842-c3)
564 lan_mac=$(mtd_get_mac_ascii devdata "lanmac")
565 wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
566 label_mac=$lan_mac
567 ;;
568 dlink,dir-859-a1|\
569 qihoo,c301|\
570 wd,mynet-n750)
571 lan_mac=$(mtd_get_mac_ascii devdata "lanmac")
572 wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
573 ;;
574 elecom,wrc-1750ghbk2-i|\
575 elecom,wrc-300ghbk2-i)
576 wan_mac=$(macaddr_add "$(mtd_get_mac_binary art 0x1002)" -2)
577 ;;
578 engenius,ecb1200|\
579 engenius,ecb1750)
580 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
581 label_mac=$lan_mac
582 ;;
583 engenius,epg5000)
584 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
585 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
586 ;;
587 engenius,ews511ap)
588 lan_mac=$(mtd_get_mac_text "u-boot-env" 0xe9)
589 eth1_mac=$(macaddr_add "$lan_mac" 1)
590 ucidef_set_interface "eth0" ifname "eth0" protocol "none" macaddr "$lan_mac"
591 ucidef_set_interface "eth1" ifname "eth1" protocol "none" macaddr "$eth1_mac"
592 ;;
593 enterasys,ws-ap3705i)
594 label_mac=$(mtd_get_mac_ascii u-boot-env0 ethaddr)
595 ;;
596 hak5,lan-turtle|\
597 hak5,packet-squirrel)
598 label_mac=$(mtd_get_mac_binary u-boot 0x1fc00)
599 ;;
600 iodata,etg3-r)
601 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
602 wan_mac=$(macaddr_add "$lan_mac" -1)
603 label_mac=$wan_mac
604 ;;
605 iodata,wn-ac1167dgr|\
606 iodata,wn-ac1600dgr|\
607 iodata,wn-ac1600dgr2|\
608 iodata,wn-ag300dgr)
609 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
610 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
611 label_mac=$wan_mac
612 ;;
613 jjplus,ja76pf2)
614 wan_mac=$(fconfig -s -r -d $(find_mtd_part "RedBoot config") -n alias/ethaddr)
615 lan_mac=$(macaddr_add "$wan_mac" 1)
616 ;;
617 mercury,mw4530r-v1|\
618 tplink,tl-wdr3600-v1|\
619 tplink,tl-wdr4300-v1|\
620 tplink,tl-wdr4300-v1-il)
621 base_mac=$(mtd_get_mac_binary u-boot 0x1fc00)
622 wan_mac=$(macaddr_add "$base_mac" 1)
623 ;;
624 nec,wf1200cr|\
625 nec,wg1200cr)
626 lan_mac=$(mtd_get_mac_ascii devdata "lanmac")
627 wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
628 label_mac=$wan_mac
629 ;;
630 nec,wg800hp)
631 lan_mac=$(mtd_get_mac_text board_data 0x280)
632 wan_mac=$(mtd_get_mac_text board_data 0x480)
633 label_mac=$wan_mac
634 ;;
635 netgear,wndr3700|\
636 netgear,wndr3700-v2|\
637 netgear,wndr3800|\
638 netgear,wndrmac-v1|\
639 netgear,wndrmac-v2)
640 lan_mac=$(macaddr_setbit_la "$(mtd_get_mac_binary art 0x0)")
641 ;;
642 phicomm,k2t)
643 lan_mac=$(k2t_get_mac "lan_mac")
644 wan_mac=$(k2t_get_mac "wan_mac")
645 ;;
646 rosinson,wr818)
647 wan_mac=$(mtd_get_mac_binary factory 0x0)
648 lan_mac=$(macaddr_setbit_la "$wan_mac")
649 ;;
650 sitecom,wlr-7100|\
651 sitecom,wlr-8100)
652 lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
653 wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
654 label_mac=$lan_mac
655 ;;
656 tplink,archer-a7-v5|\
657 tplink,archer-c7-v4|\
658 tplink,archer-c7-v5|\
659 tplink,tl-wr1043nd-v4|\
660 tplink,tl-wr1043n-v5)
661 base_mac=$(mtd_get_mac_binary info 0x8)
662 wan_mac=$(macaddr_add "$base_mac" 1)
663 ;;
664 trendnet,tew-823dru)
665 lan_mac=$(mtd_get_mac_text mac 0x4)
666 wan_mac=$(mtd_get_mac_text mac 0x18)
667 label_mac=$wan_mac
668 ;;
669 ubnt,airrouter|\
670 ubnt,bullet-m-ar7240|\
671 ubnt,bullet-m-ar7241|\
672 ubnt,nanobridge-m|\
673 ubnt,nanostation-loco-m|\
674 ubnt,nanostation-m|\
675 ubnt,picostation-m|\
676 ubnt,powerbridge-m|\
677 ubnt,rocket-m|\
678 ubnt,unifi)
679 label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
680 ;;
681 ubnt,litebeam-ac-gen2|\
682 ubnt,nanobeam-ac-gen2|\
683 ubnt,powerbeam-5ac-500|\
684 ubnt,powerbeam-5ac-gen2)
685 label_mac=$(mtd_get_mac_binary art 0x5006)
686 ;;
687 ubnt,routerstation|\
688 ubnt,routerstation-pro)
689 wan_mac=$(fconfig -s -r -d $(find_mtd_part "RedBoot config") -n ar7100_esa)
690 lan_mac=$(macaddr_add "$wan_mac" 1)
691 ;;
692 wd,mynet-wifi-rangeextender)
693 lan_mac=$(nvram get et0macaddr)
694 ;;
695 xiaomi,aiot-ac2350)
696 lan_mac=$(mtd_get_mac_binary art 0x1002)
697 ;;
698 zyxel,nbg6616)
699 label_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
700 ;;
701 esac
702
703 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
704 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
705 [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
706 }
707
708 board_config_update
709 board=$(board_name)
710 ath79_setup_interfaces $board
711 ath79_setup_macs $board
712 board_config_flush
713
714 exit 0