123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458 |
- #!/bin/sh
- . /lib/functions.sh
- . /lib/ramips.sh
- . /lib/functions/uci-defaults.sh
- . /lib/functions/system.sh
- ramips_setup_rt3x5x_vlans()
- {
- if [ ! -x /sbin/swconfig ]; then
- # legacy default
- ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
- return
- fi
- local wanports=""
- local lanports=""
- for port in 5 4 3 2 1 0; do
- if [ `swconfig dev rt305x port $port get disable` = "1" ]; then
- continue
- fi
- if [ `swconfig dev rt305x port $port get lan` = "0" ]; then
- wanports="$port:wan $wanports"
- else
- lanports="$port:lan $lanports"
- fi
- done
- ucidef_add_switch "rt305x" $lanports $wanports "6t@eth0"
- }
- ramips_setup_interfaces()
- {
- local board="$1"
- case $board in
- 11acnas|\
- w2914nsv2)
- ucidef_add_switch "switch0" \
- "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
- ;;
- 3g150b|\
- 3g300m|\
- a5-v11|\
- all0256n|\
- all5002|\
- all5003|\
- broadway|\
- dcs-930|\
- dcs-930l-b1|\
- ht-tm02|\
- linkits7688 | \
- linkits7688d | \
- m2m|\
- microwrt|\
- mpr-a2|\
- ncs601w|\
- omega2 | \
- omega2p | \
- timecloud|\
- w150m|\
- widora-neo|\
- wnce2001|\
- zbt-cpe102|\
- zte-q7)
- ucidef_add_switch "switch0"
- ucidef_add_switch_attr "switch0" "enable" "false"
- ucidef_set_interface_lan "eth0"
- ;;
- mlw221|\
- mr-102n)
- ucidef_set_interface_lan "eth0.2"
- ;;
- 3g-6200n|\
- ac1200pro|\
- ai-br100|\
- d240|\
- db-wrt01|\
- dir-300-b7|\
- dir-320-b1|\
- dir-610-a1|\
- dir-615-h1|\
- firewrt|\
- hlk-rm04|\
- mac1200rv2|\
- miwifi-mini|\
- miwifi-nano|\
- mt7621|\
- mt7628|\
- mzk-750dhp|\
- mzk-w300nh2|\
- nixcore|\
- oy-0001|\
- pbr-m1|\
- psg1208|\
- psg1218|\
- sap-g3200u3|\
- sk-wb8|\
- vr500|\
- wf-2881|\
- witi|\
- wl-wn575a3|\
- wndr3700v5|\
- wt1520|\
- y1|\
- youku-yk1|\
- zbt-ape522ii|\
- zbt-we826|\
- zbt-wg2626|\
- zbt-wg3526|\
- zbt-wr8305rt)
- ucidef_add_switch "switch0" \
- "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
- ;;
- whr-300hp2|\
- whr-600d|\
- wsr-1166|\
- wsr-600)
- ucidef_add_switch "switch0" \
- "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
- ;;
- ar670w|\
- ar725w|\
- rt-n15|\
- wl-351)
- ucidef_add_switch "switch0" \
- "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
- ;;
- asl26555|\
- rp-n53)
- ucidef_add_switch "switch0" \
- "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
- ;;
- atp-52b|\
- awm002-evb|\
- awm003-evb|\
- c20i|\
- dir-645|\
- f5d8235-v2|\
- gl-mt300a|\
- gl-mt300n|\
- gl-mt750|\
- hg255d|\
- jhr-n805r|\
- jhr-n825r|\
- jhr-n926r|\
- mzk-wdpr|\
- rb750gr3|\
- rt-n14u|\
- ubnt-erx|\
- ur-326n4g|\
- wrtnode|\
- wrtnode2p | \
- wrtnode2r | \
- wt3020|\
- zbt-wa05)
- ucidef_add_switch "switch0" \
- "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
- ;;
- awapn2403)
- ucidef_add_switch "switch0" \
- "0:lan" "1:wan" "6@eth0"
- ;;
- b2c|\
- nw718|\
- psr-680w|\
- sl-r7205|\
- ur-336un|\
- w502u|\
- wr6202)
- ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
- ;;
- br-6475nd)
- ucidef_add_switch "switch0" \
- "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
- ;;
- cf-wr800n|\
- ex2700)
- ucidef_add_switch "switch0" \
- "4:lan" "6t@eth0"
- ;;
- cy-swr1100)
- ucidef_add_switch "switch0" \
- "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
- ;;
- cs-qr10|\
- d105|\
- dch-m225|\
- hpm|\
- mzk-ex300np|\
- mzk-ex750np|\
- na930|\
- pbr-d1|\
- wli-tx4-ag300n|\
- wmr-300|\
- wn3000rpv3|\
- wrh-300cr)
- ucidef_set_interface_lan "eth0"
- ;;
- c50)
- ucidef_add_switch "switch0" \
- "1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
- ;;
- dir-860l-b1)
- ucidef_add_switch "switch0" \
- "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
- ;;
- duzun-dm06)
- ucidef_add_switch "switch0" \
- "1:lan" "0:wan" "6@eth0"
- ;;
- e1700|\
- mt7620a_mt7530)
- ucidef_add_switch "switch1" \
- "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
- ;;
- hc5*61|\
- y1s)
- ucidef_add_switch "switch0" \
- "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
- ;;
- kn_rc|\
- kn_rf)
- ucidef_add_switch "switch0" \
- "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0"
- ;;
- kng_rc)
- ucidef_add_switch "switch1" \
- "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
- ;;
- mlwg2|\
- wizard8800|\
- wl-330n)
- ucidef_set_interface_lan "eth0.1"
- ;;
- mr200)
- ucidef_add_switch "switch0" \
- "0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
- ucidef_set_interface_wan "usb0"
- ;;
- mzk-dp150n|\
- vocore)
- ucidef_add_switch "switch0" \
- "0:lan" "4:lan" "6t@eth0"
- ;;
- newifi-d1)
- ucidef_add_switch "switch0" \
- "1:lan:2" "2:lan:1" "4:wan" "6@eth0"
- ;;
- re6500)
- ucidef_add_switch "switch0" \
- "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0"
- ;;
- rt-n56u)
- ucidef_add_switch "switch0" \
- "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0"
- ;;
- tew-691gr|\
- tew-692gr|\
- wlr-6000)
- ucidef_add_switch "switch0" \
- "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
- ;;
- vocore2)
- ucidef_add_switch "switch0" \
- "0:lan" "2:lan" "6t@eth0"
- ;;
- f5d8235-v1|\
- tew-714tru|\
- v11st-fe|\
- wzr-agl300nh)
- ucidef_add_switch "switch0" \
- "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
- ;;
- wcr-150gn)
- ucidef_add_switch "switch0" \
- "0:lan" "6t@eth0"
- ;;
- whr-1166d)
- ucidef_add_switch "switch0" \
- "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
- ;;
- wizfi630a)
- ucidef_add_switch "switch0" \
- "1:lan" "2:lan" "0:wan" "6@eth0"
- ;;
- *)
- RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
- if [ -n "${RT3X5X}" ]; then
- ramips_setup_rt3x5x_vlans
- else
- ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
- fi
- ;;
- esac
- }
- ramips_setup_macs()
- {
- local board="$1"
- local lan_mac=""
- local wan_mac=""
- case $board in
- a5-v11|\
- ht-tm02)
- lan_mac=$(cat /sys/class/net/eth0/address)
- ;;
- all0239-3g|\
- carambola|\
- freestation5|\
- w502u|\
- wnce2001)
- wan_mac=$(mtd_get_mac_binary factory 46)
- ;;
- bc2|\
- broadway|\
- d105|\
- dir-300-b7|\
- dir-320-b1|\
- dir-620-a1|\
- esr-9753|\
- freestation5|\
- hlk-rm04|\
- mpr-a1|\
- psr-680w|\
- sl-r7205|\
- y1|\
- y1s)
- lan_mac=$(cat /sys/class/net/eth0/address)
- lan_mac=$(macaddr_setbit_la "$lan_mac")
- wan_mac=$(macaddr_add "$lan_mac" 1)
- ;;
- br-6475nd)
- lan_mac=$(cat /sys/class/net/eth0/address)
- wan_mac=$(mtd_get_mac_binary devdata 7)
- ;;
- cy-swr1100|\
- dch-m225)
- lan_mac=$(mtd_get_mac_ascii factory lanmac)
- ;;
- dir-645)
- lan_mac=$(mtd_get_mac_ascii nvram lanmac)
- wan_mac=$(mtd_get_mac_ascii nvram wanmac)
- ;;
- dir-860l-b1)
- lan_mac=$(mtd_get_mac_ascii factory lanmac)
- wan_mac=$(mtd_get_mac_ascii factory wanmac)
- ;;
- e1700)
- wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
- ;;
- hc5*61)
- lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
- [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
- wan_mac=$(macaddr_add "$lan_mac" 1)
- ;;
- kn_rc|\
- kn_rf|\
- kng_rc)
- wan_mac=$(mtd_get_mac_binary factory 40)
- ;;
- linkits7688 | \
- linkits7688d)
- wan_mac=$(mtd_get_mac_binary factory 4)
- lan_mac=$(mtd_get_mac_binary factory 46)
- ;;
- mac1200rv2)
- lan_mac=$(mtd_get_mac_binary factory_info 13)
- wan_mac=$(macaddr_add "$lan_mac" 1)
- ;;
- miwifi-mini)
- wan_mac=$(cat /sys/class/net/eth0/address)
- lan_mac=$(macaddr_setbit_la "$wan_mac")
- ;;
- m3|\
- m4|\
- x5|\
- x8)
- lan_mac=$(cat /sys/class/net/eth0/address)
- lan_mac=$(macaddr_add "$lan_mac" -2)
- ;;
- newifi-d1)
- lan_mac=$(cat /sys/class/net/eth0/address)
- lan_mac=$(macaddr_add "$lan_mac" 2)
- ;;
- omega2|\
- omega2p)
- wan_mac=$(mtd_get_mac_binary factory 4)
- lan_mac=$(mtd_get_mac_binary factory 46)
- ;;
- oy-0001)
- lan_mac=$(mtd_get_mac_binary factory 40)
- wan_mac=$(mtd_get_mac_binary factory 46)
- ;;
- rt-n56u)
- lan_mac=$(cat /sys/class/net/eth0/address)
- lan_mac=$(macaddr_setbit_la "$lan_mac")
- wan_mac=$(mtd_get_mac_binary factory 32772)
- ;;
- sk-wb8)
- wan_mac=$(mtd_get_mac_binary factory 57350)
- ;;
- tew-691gr)
- wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 3)
- ;;
- tew-692gr)
- wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 1)
- ;;
- tiny-ac)
- lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
- wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
- ;;
- vr500)
- lan_mac=$(mtd_get_mac_binary factory 57344)
- wan_mac=$(mtd_get_mac_binary factory 57350)
- ;;
- w306r-v20)
- lan_mac=$(cat /sys/class/net/eth0/address)
- wan_mac=$(macaddr_add "$lan_mac" 5)
- ;;
- wcr-150gn)
- wan_mac=$(mtd_get_mac_binary factory 40)
- ;;
- whr-1166d|\
- whr-300hp2|\
- whr-600d|\
- wsr-600)
- wan_mac=$(mtd_get_mac_binary factory 4)
- lan_mac=$wan_mac
- ;;
- wizfi630a)
- lan_mac=$(mtd_get_mac_binary factory 4)
- wan_mac=$(mtd_get_mac_binary factory 40)
- ;;
- wlr-6000)
- wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 32772)" 2)
- ;;
- wsr-1166)
- local index="$(find_mtd_index "board_data")"
- wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
- lan_mac=$wan_mac
- ;;
- *)
- lan_mac=$(cat /sys/class/net/eth0/address)
- wan_mac=$(macaddr_add "$lan_mac" 1)
- ;;
- esac
- [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
- [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
- }
- board_config_update
- board=$(ramips_board_name)
- ramips_setup_interfaces $board
- ramips_setup_macs $board
- board_config_flush
- exit 0
|