3 .
/lib
/functions
/system.sh
4 .
/lib
/functions
/uci-defaults.sh
5 .
/lib
/functions
/k2t.sh
7 ath79_setup_interfaces
()
14 allnet
,all-wap02860ac|\
16 alfa-network
,pi-wifi4|\
22 comfast
,cf-wr752ac-v1|\
33 enterasys
,ws-ap3705i|\
34 glinet
,gl-ar300m-lite|\
35 hak5
,wifi-pineapple-nano|\
52 tplink
,eap225-outdoor-v1|\
60 tplink
,tl-wr902ac-v1|\
61 ubnt
,bullet-m-ar7240|\
62 ubnt
,bullet-m-ar7241|\
65 ubnt
,litebeam-ac-gen2|\
68 ubnt
,nanostation-ac-loco|\
69 ubnt
,nanostation-loco-m|\
70 ubnt
,nanostation-loco-m-xw|\
72 ubnt
,powerbeam-5ac-500|\
73 ubnt
,powerbeam-5ac-gen2|\
80 wd
,mynet-wifi-rangeextender|\
82 ucidef_set_interface_lan
"eth0"
85 ucidef_set_interface_lan
"eth0 usb0"
92 ucidef_set_interface_lan
"eth0 eth1"
96 tplink
,archer-c58-v1|\
97 tplink
,archer-c59-v1|\
99 ucidef_set_interface_wan
"eth1"
100 ucidef_add_switch
"switch0" \
101 "0@eth0" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
104 buffalo
,wzr-hp-g450h
)
105 ucidef_add_switch
"switch0" \
106 "0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
110 ucidef_add_switch
"switch0" \
111 "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth0"
114 buffalo
,wzr-hp-ag300h|\
115 tplink
,archer-c25-v1|\
116 tplink
,archer-c60-v1|\
117 tplink
,archer-c60-v2|\
118 tplink
,archer-c60-v3|\
119 tplink
,tl-wdr3500-v1|\
120 tplink
,tl-wr842n-v1|\
121 tplink
,tl-wr842n-v3|\
123 ucidef_set_interface_wan
"eth1"
124 ucidef_add_switch
"switch0" \
125 "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
127 buffalo
,wzr-hp-g302h-a1a0
)
128 ucidef_add_switch
"switch0" \
129 "0@eth0" "1:lan:1" "3:lan:4" "4:lan:3" "5:lan:2" "2:wan"
131 comfast
,cf-e110n-v2|\
132 comfast
,cf-e120a-v3|\
133 comfast
,cf-e314n-v2|\
145 ucidef_set_interfaces_lan_wan
"eth1" "eth0"
148 ucidef_set_interface_wan
"eth1"
149 ucidef_add_switch
"switch0" \
150 "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
152 comfast
,cf-wr650ac-v1|\
153 comfast
,cf-wr650ac-v2|\
155 ucidef_add_switch
"switch0" \
156 "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth1"
160 ucidef_add_switch
"switch0" \
161 "0@eth0" "3:lan" "2:wan"
164 ucidef_add_switch
"switch0" \
165 "0@eth0" "2:wan" "3:lan" "4:lan"
168 ucidef_add_switch
"switch0" "0@eth0" "2:lan" "3:wan" "6@eth1"
171 ucidef_add_switch
"switch0" \
172 "0@eth0" "1:lan:2" "2:lan:1"
175 ucidef_set_interface_wan
"eth1"
176 ucidef_add_switch
"switch0" \
177 "0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
186 tplink
,archer-c2-v3|\
187 tplink
,tl-wr1043nd-v4|\
188 tplink
,tl-wr1043n-v5
)
189 ucidef_add_switch
"switch0" \
190 "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
192 elecom
,wrc-1750ghbk2-i|\
193 elecom
,wrc-300ghbk2-i|\
195 ucidef_add_switch
"switch0" \
196 "0@eth0" "2:lan:4" "3:lan:3" "4:lan:2" "5:lan:1" "1:wan"
198 embeddedwireless
,dorin
)
199 ucidef_add_switch
"switch0" \
200 "0@eth0" "1:wan" "2:lan:3" "3:lan:2"
203 ucidef_set_interface_wan
"eth0"
204 ucidef_add_switch
"switch0" \
207 engenius
,ens202ext-v1
)
208 ucidef_set_interface_wan
"eth1"
209 ucidef_add_switch
"switch0" \
213 ucidef_set_interface_lan
"eth0 eth1" "dhcp"
216 ucidef_set_interface_lan
"eth0" "dhcp"
219 ucidef_set_interface_wan
"eth1"
220 ucidef_add_switch
"switch0" \
221 "0@eth0" "1:lan" "2:lan"
224 iodata
,wn-ac1167dgr|\
225 iodata
,wn-ac1600dgr|\
226 iodata
,wn-ac1600dgr2|\
231 ucidef_add_switch
"switch0" \
232 "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
234 librerouter
,librerouter-v1
)
235 ucidef_add_switch
"switch0" \
236 "0@eth0" "5:wan" "6@eth1" "4:lan"
239 tplink
,archer-a7-v5|\
240 tplink
,archer-c6-v2|\
241 tplink
,archer-c6-v2-us|\
242 tplink
,archer-c7-v4|\
243 tplink
,archer-c7-v5|\
244 tplink
,tl-wdr3600-v1|\
245 tplink
,tl-wdr4300-v1|\
246 tplink
,tl-wdr4300-v1-il|\
247 tplink
,tl-wdr4310-v1
)
248 ucidef_add_switch
"switch0" \
249 "0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
252 qxwlan
,e1700ac-v2-8m|\
253 qxwlan
,e1700ac-v2-16m|\
255 qxwlan
,e750g-v8-16m|\
256 ubnt
,nanobeam-ac-gen2|\
257 ubnt
,nanostation-ac|\
260 ucidef_add_switch
"switch0" \
261 "0@eth0" "2:lan" "3:wan"
264 ucidef_add_switch
"switch0" \
265 "0@eth0" "2:lan" "3:lan" "4:lan" "1:wan"
268 netgear
,wndr3700-v2|\
273 ucidef_set_interface_wan
"eth1"
274 ucidef_add_switch
"switch0" \
275 "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5u@eth0"
276 ucidef_add_switch_attr
"switch0" "blinkrate" 2
277 ucidef_add_switch_port_attr
"switch0" 1 led
6
278 ucidef_add_switch_port_attr
"switch0" 2 led
9
279 ucidef_add_switch_port_attr
"switch0" 5 led
2
283 ucidef_set_interface_wan
"eth0"
284 ucidef_add_switch
"switch0" \
285 "0@eth1" "1:lan" "2:lan" "3:lan" "4:lan"
288 ucidef_add_switch
"switch0" \
289 "0@eth0" "3:lan:1" "5:lan:2" "4:wan"
292 ucidef_set_interface_wan
"eth1"
293 ucidef_add_switch
"switch0" \
294 "0@eth0" "2:lan" "3:lan"
298 ucidef_add_switch
"switch0" \
299 "0@eth1" "4:lan" "5:lan" "6@eth0" "3:wan"
302 ucidef_add_switch
"switch0" \
303 "0@eth0" "1:lan" "2:lan" "3:wan"
306 teltonika
,rut955-h7v3c0
)
307 ucidef_set_interface_wan
"eth1"
308 ucidef_add_switch
"switch0" \
309 "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1"
311 tplink
,archer-c5-v1|\
312 tplink
,archer-c7-v1|\
313 tplink
,archer-c7-v2|\
314 tplink
,tl-wdr4900-v2|\
315 tplink
,tl-wdr7500-v3
)
316 ucidef_add_switch
"switch0" \
317 "0@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6@eth0" "1:wan"
319 tplink
,archer-d50-v1
)
320 ucidef_add_switch
"switch0" \
321 "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "1:wan"
323 tplink
,archer-d7-v1|\
324 tplink
,archer-d7b-v1
)
325 ucidef_add_switch
"switch0" \
326 "0@eth1" "3:lan:3" "4:lan:2" "5:lan:1" "6@eth0" "2:wan:4" "1:wan:5"
328 tplink
,eap225-wall-v2
)
329 ucidef_add_switch
"switch0" \
330 "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
333 ucidef_add_switch
"switch0" \
334 "0@eth0" "2:lan:1" "5:lan:2"
337 ucidef_set_interfaces_lan_wan
"eth0.1 eth1" "usb0"
338 ucidef_add_switch
"switch0" \
339 "0@eth0" "1:lan:1" "2:lan:3" "3:lan:2"
341 tplink
,tl-wpa8630-v1|\
342 tplink
,tl-wpa8630p-v2-int|\
343 tplink
,tl-wpa8630p-v2.0
-eu|\
344 tplink
,tl-wpa8630p-v2.1
-eu)
345 # port 5 (internal) is the power-line port
346 ucidef_add_switch
"switch0" \
347 "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "5:lan:4"
350 ucidef_set_interface_wan
"eth1"
351 ucidef_add_switch
"switch0" \
352 "0@eth0" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
354 tplink
,tl-wr1043nd-v1
)
355 ucidef_add_switch
"switch0" \
356 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
358 tplink
,tl-wr1043nd-v2|\
359 tplink
,tl-wr1043nd-v3|\
360 tplink
,tl-wr1045nd-v2
)
361 ucidef_add_switch
"switch0" \
362 "0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "6@eth0"
365 ucidef_add_switch
"switch0" \
366 "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
369 ucidef_set_interface_wan
"eth1"
370 ucidef_add_switch
"switch0" \
371 "0@eth0" "2:lan:1" "3:lan:3" "4:lan:2"
374 ucidef_set_interface_wan
"eth1"
375 ucidef_add_switch
"switch0" \
376 "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:lan"
379 ucidef_set_interface_wan
"eth1"
380 ucidef_add_switch
"switch0" \
381 "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"
383 ubnt
,routerstation-pro
)
384 ucidef_set_interface_wan
"eth0"
385 ucidef_add_switch
"switch0" \
386 "0@eth1" "2:lan:3" "3:lan:2" "4:lan:1"
388 ubnt
,nanostation-m-xw
)
389 ucidef_add_switch
"switch0" \
390 "0@eth0" "5:lan" "1:wan"
392 ubnt
,unifiac-mesh-pro|\
394 ucidef_add_switch
"switch0" \
395 "0@eth0" "2:lan:1" "3:lan:2"
398 ucidef_add_switch
"switch0" \
399 "0@eth0" "1:lan" "2:lan"
403 ucidef_set_interface_wan
"eth1"
404 ucidef_add_switch
"switch0" \
405 "0@eth0" "3:lan:1" "4:lan:2"
408 ucidef_set_interfaces_lan_wan
"eth0" "eth1"
420 lan_mac
=$
(mtd_get_mac_binary
"Board data" 2)
423 alfa-network
,ap121f|\
424 alfa-network
,ap121fe|\
427 alfa-network
,pi-wifi4|\
430 engenius
,ens202ext-v1
)
431 label_mac
=$
(mtd_get_mac_binary art
0x1002)
434 base_mac
=$
(mtd_get_mac_binary art
0x1002)
435 lan_mac
=$
(macaddr_setbit
$base_mac 29)
436 [ $lan_mac = $base_mac ] && lan_mac
=$
(macaddr_unsetbit
$base_mac 29)
441 label_mac
=$
(fritz_tffs
-n macwlan
-i $
(find_mtd_part
"tffs (1)"))
444 lan_mac
=$
(fritz_tffs
-n maca
-i $
(find_mtd_part
"tffs (1)"))
445 label_mac
=$
(fritz_tffs
-n macwlan
-i $
(find_mtd_part
"tffs (1)"))
448 lan_mac
=$
(fritz_tffs
-n maca
-i $
(find_mtd_part
"tffs (1)"))
449 wan_mac
=$
(fritz_tffs
-n macb
-i $
(find_mtd_part
"tffs (1)"))
453 wan_mac
=$
(mtd_get_mac_binary u-boot
0x2e018)
456 label_mac
=$
(macaddr_add
"$(mtd_get_mac_binary art 0x1002)" 3)
461 lan_mac
=$
(mtd_get_mac_text
"mp" 0x1)
465 label_mac
=$
(mtd_get_mac_ascii bdcfg
"wlanmac")
468 lan_mac
=$
(mtd_get_mac_text
"caldata" 0xffa0)
469 wan_mac
=$
(mtd_get_mac_text
"caldata" 0xffb4)
472 lan_mac
=$
(mtd_get_mac_text
"mac" 0x4)
476 lan_mac
=$
(mtd_get_mac_text
"mac" 0x4)
477 wan_mac
=$
(mtd_get_mac_text
"mac" 0x18)
483 lan_mac
=$
(mtd_get_mac_ascii devdata
"lanmac")
484 wan_mac
=$
(mtd_get_mac_ascii devdata
"wanmac")
490 lan_mac
=$
(mtd_get_mac_ascii devdata
"lanmac")
491 wan_mac
=$
(mtd_get_mac_ascii devdata
"wanmac")
493 elecom
,wrc-1750ghbk2-i|\
494 elecom
,wrc-300ghbk2-i
)
495 wan_mac
=$
(macaddr_add
"$(mtd_get_mac_binary art 0x1002)" -2)
498 lan_mac
=$
(mtd_get_mac_ascii u-boot-env ethaddr
)
499 label_mac
=$
(mtd_get_mac_ascii u-boot-env athaddr
)
503 ubnt
,bullet-m-ar7240|\
504 ubnt
,bullet-m-ar7241|\
506 ubnt
,nanostation-loco-m|\
512 label_mac
=$
(cat /sys
/class
/ieee80211
/phy
0/macaddress
)
515 lan_mac
=$
(mtd_get_mac_ascii u-boot-env ethaddr
)
516 wan_mac
=$
(mtd_get_mac_ascii u-boot-env wanaddr
)
519 lan_mac
=$
(mtd_get_mac_text
"u-boot-env" 0xe9)
520 eth1_mac
=$
(macaddr_add
"$lan_mac" 1)
521 ucidef_set_interface
"eth0" ifname
"eth0" protocol
"none" macaddr
"$lan_mac"
522 ucidef_set_interface
"eth1" ifname
"eth1" protocol
"none" macaddr
"$eth1_mac"
524 enterasys
,ws-ap3705i
)
525 label_mac
=$
(mtd_get_mac_ascii u-boot-env0 ethaddr
)
528 hak5
,packet-squirrel
)
529 label_mac
=$
(mtd_get_mac_binary u-boot
0x1fc00)
532 lan_mac
=$
(mtd_get_mac_ascii u-boot-env ethaddr
)
533 wan_mac
=$
(macaddr_add
"$lan_mac" -1)
536 iodata
,wn-ac1167dgr|\
537 iodata
,wn-ac1600dgr|\
538 iodata
,wn-ac1600dgr2|\
540 lan_mac
=$
(mtd_get_mac_ascii u-boot-env ethaddr
)
541 wan_mac
=$
(mtd_get_mac_ascii u-boot-env wanaddr
)
545 wan_mac
=$
(fconfig
-s -r -d $
(find_mtd_part
"RedBoot config") -n alias
/ethaddr
)
546 lan_mac
=$
(macaddr_add
"$wan_mac" 1)
549 tplink
,tl-wdr3600-v1|\
550 tplink
,tl-wdr4300-v1|\
551 tplink
,tl-wdr4300-v1-il
)
552 base_mac
=$
(mtd_get_mac_binary u-boot
0x1fc00)
553 wan_mac
=$
(macaddr_add
"$base_mac" 1)
556 lan_mac
=$
(mtd_get_mac_text board_data
0x280)
557 wan_mac
=$
(mtd_get_mac_text board_data
0x480)
561 netgear
,wndr3700-v2|\
565 lan_mac
=$
(macaddr_setbit_la
"$(mtd_get_mac_binary art 0x0)")
568 lan_mac
=$
(k2t_get_mac
"lan_mac")
569 wan_mac
=$
(k2t_get_mac
"wan_mac")
572 wan_mac
=$
(mtd_get_mac_binary factory
0x0)
573 lan_mac
=$
(macaddr_setbit_la
"$wan_mac")
577 lan_mac
=$
(mtd_get_mac_ascii u-boot-env ethaddr
)
578 wan_mac
=$
(mtd_get_mac_ascii u-boot-env wanaddr
)
581 tplink
,archer-a7-v5|\
582 tplink
,archer-c7-v4|\
583 tplink
,archer-c7-v5|\
584 tplink
,tl-wr1043nd-v4|\
585 tplink
,tl-wr1043n-v5
)
586 base_mac
=$
(mtd_get_mac_binary info
0x8)
587 wan_mac
=$
(macaddr_add
"$base_mac" 1)
590 lan_mac
=$
(mtd_get_mac_text mac
0x4)
591 wan_mac
=$
(mtd_get_mac_text mac
0x18)
594 ubnt
,litebeam-ac-gen2|\
595 ubnt
,nanobeam-ac-gen2|\
596 ubnt
,powerbeam-5ac-500|\
597 ubnt
,powerbeam-5ac-gen2
)
598 label_mac
=$
(mtd_get_mac_binary art
0x5006)
601 ubnt
,routerstation-pro
)
602 wan_mac
=$
(fconfig
-s -r -d $
(find_mtd_part
"RedBoot config") -n ar7100_esa
)
603 lan_mac
=$
(macaddr_add
"$wan_mac" 1)
605 wd
,mynet-wifi-rangeextender
)
606 lan_mac
=$
(nvram get et0macaddr
)
609 label_mac
=$
(mtd_get_mac_ascii u-boot-env ethaddr
)
613 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr
"lan" $lan_mac
614 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr
"wan" $wan_mac
615 [ -n "$label_mac" ] && ucidef_set_label_macaddr
$label_mac
620 ath79_setup_interfaces
$board
621 ath79_setup_macs
$board