#!/bin/sh . /lib/functions.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 accton,wr6202|\ alfa-network,w502u|\ netcore,nw718|\ petatel,psr-680w|\ skyline,sl-r7205|\ upvel,ur-336un) ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" ;; adslr,g7|\ afoundry,ew1200|\ aigale,ai-br100|\ alfa-network,ac1200rm|\ asus,rt-n12p|\ buffalo,whr-g300n|\ d-team,pbr-m1|\ dlink,dir-300-b7|\ dlink,dir-320-b1|\ dlink,dir-610-a1|\ dlink,dir-810l|\ dlink,dwr-116-a1|\ dlink,dwr-921-c1|\ dlink,dwr-922-e2|\ edimax,3g-6200n|\ firefly,firewrt|\ hilink,hlk-rm04|\ hiwifi,hc5661a|\ hiwifi,hc5761a|\ hiwifi,hc5962|\ mediatek,ap-mt7621a-v60|\ mediatek,mt7621-eval-board|\ mediatek,mt7628an-eval-board|\ mercury,mac1200r-v2|\ mqmaker,witi|\ mtc,wr1201|\ netis,wf-2881|\ nixcore,x1-16m|\ nixcore,x1-8m|\ ohyeah,oy-0001|\ phicomm,k2p|\ phicomm,psg1208|\ phicomm,psg1218a|\ planex,db-wrt01|\ planex,mzk-750dhp|\ planex,mzk-w300nh2|\ planex,vr500|\ samknows,whitebox-v8|\ sanlinking,d240|\ storylink,sap-g3200u3|\ telco-electronics,x1|\ totolink,a7000r|\ totolink,lr1200|\ unielec,u7621-06-256m-16m|\ unielec,u7621-06-512m-64m|\ wavlink,wl-wn570ha1|\ wavlink,wl-wn575a3|\ xiaomi,miwifi-mini|\ xiaomi,miwifi-nano|\ xzwifi,creativebox-v1|\ youku,yk-l2|\ youku,yk1|\ zbtlink,zbt-ape522ii|\ zbtlink,zbt-we1326|\ zbtlink,zbt-we3526|\ zbtlink,zbt-we826-16m|\ zbtlink,zbt-we826-32m|\ zbtlink,zbt-we826-e|\ zbtlink,zbt-wg2626|\ zbtlink,zbt-wg3526-16m|\ zbtlink,zbt-wg3526-32m|\ zbtlink,zbt-wr8305rt|\ zyxel,keenetic|\ zyxel,keenetic-omni) ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0" ;; airlink101,ar670w|\ airlink101,ar725w|\ asus,rt-ac51u|\ rakwireless,rak633) ucidef_add_switch "switch0" \ "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0" ;; alfa-network,awusfree1|\ alfa-network,tube-e4g|\ buffalo,wli-tx4-ag300n|\ buffalo,wmr-300|\ dlink,dap-1522-a1|\ dlink,dch-m225|\ d-team,pbr-d1|\ elecom,wrh-300cr|\ huawei,d105|\ kimax,u25awf-h1|\ loewe,wmdr-143n|\ netgear,ex2700|\ netgear,ex3700|\ netgear,wn3000rp-v3|\ omnima,hpm|\ planex,cs-qr10|\ planex,mzk-ex300np|\ planex,mzk-ex750np|\ ravpower,wd03|\ sercomm,na930|\ tama,w06|\ tplink,tl-mr3020-v3|\ tplink,tl-wr802n-v4) ucidef_set_interface_lan "eth0" ;; allnet,all0256n-4m|\ allnet,all0256n-8m|\ allnet,all5002|\ allnet,all5003|\ dlink,dcs-930l-b1|\ dlink,dcs-930|\ edimax,ew-7476rpc|\ edimax,ew-7478ac|\ hame,mpr-a2|\ hauppauge,broadway|\ hootoo,ht-tm02|\ intenso,memory2move|\ kimax,u35wf|\ mediatek,linkit-smart-7688|\ microduino,microwrt|\ mikrotik,rbm11g|\ netgear,wnce2001|\ onion,omega2p|\ onion,omega2|\ tenda,3g150b|\ tenda,3g300m|\ tenda,w150m|\ thunder,timecloud|\ tplink,tl-wa801nd-v5|\ unbranded,a5-v11|\ wansview,ncs601w|\ widora,neo-16m|\ widora,neo-32m|\ yukai,bocco|\ zbtlink,zbt-cpe102|\ zorlik,zl5900v2|\ zte,q7) ucidef_add_switch "switch0" ucidef_add_switch_attr "switch0" "enable" "false" ucidef_set_interface_lan "eth0" ;; alphanetworks,asl26555-8m|\ alphanetworks,asl26555-16m|\ asus,rp-n53) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0" ;; argus,atp-52b|\ asiarf,awm002-evb-4m|\ asiarf,awm002-evb-8m|\ asus,rt-ac57u|\ asus,rt-n14u|\ bdcom,wap2100-sk|\ dlink,dir-645|\ glinet,gl-mt300a|\ glinet,gl-mt300n|\ glinet,gl-mt750|\ hilink,hlk-7628n|\ hiwifi,hc5661|\ hiwifi,hc5861b|\ jcg,jhr-n805r|\ jcg,jhr-n825r|\ jcg,jhr-n926r|\ mikrotik,rb750gr3|\ mikrotik,rbm33g|\ planex,mzk-wdpr|\ skylab,skw92a|\ tplink,archer-c20-v4|\ tplink,archer-c20i|\ tplink,archer-c50-v3|\ tplink,archer-c50-v4|\ tplink,tl-mr3420-v5|\ tplink,tl-wr840n-v4|\ tplink,tl-wr840n-v5|\ tplink,tl-wr841n-v13|\ tplink,tl-wr841n-v14|\ tplink,tl-wr842n-v5|\ unielec,u7628-01-128m-16m|\ ubiquiti,edgerouterx|\ ubiquiti,edgerouterx-sfp|\ upvel,ur-326n4g|\ wrtnode,wrtnode|\ wrtnode,wrtnode2p|\ wrtnode,wrtnode2r|\ youhua,wr1200js|\ zbtlink,zbt-wa05|\ zyxel,keenetic-extra-ii) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0" ;; asiarf,ap7621-001) ucidef_add_switch "switch0" "0:lan" "4:wan" "6@eth0" ;; asiarf,awapn2403) ucidef_add_switch "switch0" \ "0:lan" "1:wan" "6@eth0" ;; asus,rt-n15|\ belkin,f9k1109v1|\ sitecom,wl-351) ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0" ;; asus,rt-n56u) ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0" ;; asus,wl-330n|\ easyacc,wizard-8800|\ kingston,mlwg2) ucidef_set_interface_lan "eth0.1" ;; aximcom,mr-102n|\ kingston,mlw221) ucidef_set_interface_lan "eth0.2" ;; belkin,f5d8235-v1|\ belkin,f5d8235-v2|\ buffalo,wzr-agl300nh|\ ralink,v11st-fe|\ trendnet,tew-714tru) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0" ;; buffalo,wcr-1166ds) ucidef_add_switch "switch0" \ "3:lan" "4:wan" "6@eth0" ;; buffalo,whr-300hp2|\ buffalo,whr-600d|\ buffalo,wsr-1166dhp|\ buffalo,wsr-600dhp) ucidef_add_switch "switch0" \ "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0" ;; buffalo,whr-1166d) ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0" ;; comfast,cf-wr800n|\ hnet,c108) ucidef_add_switch "switch0" \ "4:lan" "6t@eth0" ;; cudy,wr1000) ucidef_add_switch "switch0" \ "2:lan:2" "3:lan:1" "4:wan" "6@eth0" ;; dlink,dir-510l|\ glinet,vixmini|\ netgear,ex6150|\ tplink,re350-v1|\ tplink,re650-v1) ucidef_add_switch "switch0" \ "0:lan" "6@eth0" ;; dlink,dir-615-h1|\ d-team,newifi-d2|\ wevo,11acnas|\ wevo,w2914ns-v2|\ zbtlink,zbt-we2026) ucidef_add_switch "switch0" \ "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0" ;; dlink,dir-860l-b1|\ elecom,wrc-1167ghbk2-s|\ elecom,wrc-1900gst|\ elecom,wrc-2533gst|\ huawei,hg255d|\ iodata,wn-ax1167gr|\ iodata,wn-gx300gr|\ iptime,a604m) ucidef_add_switch "switch0" \ "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0" ;; dlink,dwr-118-a1) ucidef_add_switch "switch0" \ "1:lan:2" "2:lan:3" "3:lan:1" "4:lan:0" "5:wan" "6@eth0" ;; dlink,dwr-118-a2) ucidef_add_switch "switch0" \ "1:lan:2" "2:lan:1" "3:lan:3" "4:lan" "0:wan" "6@eth0" ;; duzun,dm06) ucidef_add_switch "switch0" \ "1:lan" "0:wan" "6@eth0" ;; edimax,br-6475nd) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0" ;; edimax,br-6478ac-v2|\ tplink,archer-c2-v1) ucidef_add_switch "switch1" \ "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0" ;; fon,fon2601) ucidef_add_switch "switch0" \ "0:lan" "4:wan" "6@eth0" ;; edimax,rg21s) ucidef_add_switch "switch0" \ "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0" ;; gehua,ghl-r-001) ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "4:wan" "6@eth0" ;; glinet,gl-mt300n-v2) ucidef_add_switch "switch0" \ "1:lan" "0:wan" "6@eth0" ;; gnubee,gb-pc1|\ gnubee,gb-pc2) ucidef_add_switch "switch0" \ "0:lan" "4:lan" "6@eth0" ;; head-weblink,hdrm200) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0" ;; hiwifi,hc5761) ucidef_add_switch "switch0" \ "1:lan" "4:lan" "0:wan" "6@eth0" ;; hiwifi,hc5861) ucidef_add_switch "switch0" \ "0:lan" "1:lan" "5:wan" "6@eth0" ;; iodata,wn-ac1167gr|\ iodata,wn-ac733gr3) ucidef_add_switch "switch1" \ "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0" ;; lava,lr-25g001|\ sitecom,wlr-6000|\ trendnet,tew-691gr|\ trendnet,tew-692gr) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0" ;; lenovo,newifi-d1) ucidef_add_switch "switch0" \ "1:lan:2" "2:lan:1" "4:wan" "6@eth0" ;; lenovo,newifi-y1|\ zbtlink,zbt-we1226) ucidef_add_switch "switch0" \ "0:lan:2" "1:lan:1" "4:wan" "6@eth0" ;; lenovo,newifi-y1s) ucidef_add_switch "switch0" \ "1:lan:4" "2:lan:3" "4:lan:2" "5:lan:1" "0:wan" "6@eth0" ;; linksys,e1700|\ ralink,mt7620a-mt7530-evb) ucidef_add_switch "switch1" \ "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0" ;; linksys,re6500) ucidef_add_switch "switch0" \ "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0" ;; netgear,r6120|\ netgear,r6220|\ netgear,r6260|\ netgear,r6350|\ netgear,r6850|\ netgear,wndr3700-v5) ucidef_add_switch "switch0" \ "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0" ;; nexx,wt1520-4m|\ nexx,wt1520-8m|\ vonets,var11n-300) ucidef_add_switch "switch0" \ "0:lan" "4:wan" "6@eth0" ;; nexx,wt3020-4m|\ nexx,wt3020-8m) ucidef_add_switch "switch0" \ "4:lan" "0:wan" "6@eth0" ;; phicomm,k2g) ucidef_add_switch "switch0" \ "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5:wan" "6@eth0" ;; phicomm,psg1218b) ucidef_add_switch "switch0" \ "0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0" ;; planex,mzk-dp150n|\ vocore,vocore-8m|\ vocore,vocore-16m) ucidef_add_switch "switch0" \ "0:lan" "4:lan" "6t@eth0" ;; samsung,cy-swr1100) ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0" ;; sparklan,wcr-150gn|\ zbtlink,we1026-5g-16m) ucidef_add_switch "switch0" \ "0:lan" "6t@eth0" ;; tplink,archer-c20-v1|\ tplink,archer-c50-v1) ucidef_add_switch "switch0" \ "1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0" ;; tplink,archer-mr200) ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0" ucidef_set_interface_wan "usb0" ;; tplink,tl-wr902ac-v3) ucidef_add_switch "switch0" \ "4:lan" "6@eth0" ;; trendnet,tew-638apb-v2) ucidef_add_switch "switch0" \ "4:lan" "6@eth0" ;; vocore,vocore2|\ vocore,vocore2-lite) ucidef_add_switch "switch0" \ "0:lan" "2:lan" "6t@eth0" ;; wiznet,wizfi630a) ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:wan" "6@eth0" ;; wiznet,wizfi630s) ucidef_add_switch "switch0" \ "0:wan" "3:lan" "4:lan" "6@eth0" ;; xiaomi,mir3g) ucidef_add_switch "switch0" \ "2:lan:2" "3:lan:1" "1:wan" "6t@eth0" ;; xiaomi,mir3p) ucidef_add_switch "switch0" \ "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0" ;; xiaomi,mir4a-100m) ucidef_add_switch "switch0" \ "4:lan:1" "2:lan:2" "0:wan" "6@eth0" ;; zyxel,keenetic-omni-ii) ucidef_add_switch "switch0" \ "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0" ;; zyxel,keenetic-start) ucidef_add_switch "switch0" \ "0:lan:3" "1:lan:2" "2:lan:1" "3:lan:0" "4:wan" "6@eth0" ;; zyxel,keenetic-viva) ucidef_add_switch "switch1" \ "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@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 8devices,carambola|\ alfa-network,w502u|\ arcwireless,freestation5|\ lenovo,newifi-y1|\ lenovo,newifi-y1s|\ netgear,wnce2001|\ ohyeah,oy-0001|\ phicomm,k2g|\ skylab,skw92a|\ totolink,lr1200) wan_mac=$(mtd_get_mac_binary factory 0x2e) ;; dlink,dir-300-b7|\ dlink,dir-320-b1|\ dlink,dir-620-a1|\ engenius,esr-9753|\ hame,mpr-a1|\ hauppauge,broadway|\ huawei,d105|\ hilink,hlk-7628n|\ hilink,hlk-rm04|\ nexaira,bc2|\ petatel,psr-680w|\ skyline,sl-r7205) lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)") wan_mac=$(macaddr_add "$lan_mac" 1) ;; asus,rt-ac57u|\ d-team,newifi-d2|\ d-team,pbr-m1|\ elecom,wrc-1167ghbk2-s|\ elecom,wrc-1900gst|\ elecom,wrc-2533gst|\ lenovo,newifi-d1|\ phicomm,k2p|\ planex,vr500|\ samknows,whitebox-v8|\ youku,yk-l2|\ zbtlink,zbt-we3526) wan_mac=$(mtd_get_mac_binary factory 0xe006) ;; asus,rt-n56u) lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)") wan_mac=$(mtd_get_mac_binary factory 0x8004) ;; belkin,f9k1109v1) wan_mac=$(mtd_get_mac_ascii uboot-env HW_WAN_MAC) lan_mac=$(mtd_get_mac_ascii uboot-env HW_LAN_MAC) label_mac=$wan_mac ;; buffalo,wcr-1166ds|\ buffalo,wsr-1166dhp) local index="$(find_mtd_index "board_data")" wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)" lan_mac=$wan_mac ;; buffalo,whr-1166d|\ buffalo,whr-300hp2|\ buffalo,whr-600d|\ buffalo,whr-g300n|\ buffalo,wsr-600dhp|\ glinet,gl-mt300n-v2|\ zyxel,keenetic-start) # This empty case has to be kept for devices without any MAC address adjustments ;; cudy,wr1000) wan_mac=$(mtd_get_mac_binary factory 0x2e) label_mac=$(cat /sys/class/ieee80211/phy0/macaddress) ;; dlink,dch-m225|\ samsung,cy-swr1100) lan_mac=$(mtd_get_mac_ascii factory lanmac) ;; dlink,dir-510l|\ dlink,dwr-116-a1|\ dlink,dwr-118-a1|\ dlink,dwr-118-a2|\ dlink,dwr-921-c1|\ dlink,dwr-922-e2|\ lava,lr-25g001) wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000) lan_mac=$(macaddr_add "$wan_mac" 1) label_mac=$wan_mac ;; dlink,dir-615-d|\ dlink,dir-615-h1|\ glinet,gl-mt300a|\ glinet,gl-mt300n|\ glinet,gl-mt750|\ zbtlink,zbt-wg3526-16m|\ zbtlink,zbt-wg3526-32m) wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) label_mac=$(cat /sys/class/ieee80211/phy0/macaddress) ;; dlink,dir-645) lan_mac=$(mtd_get_mac_ascii nvram lanmac) wan_mac=$(mtd_get_mac_ascii nvram wanmac) ;; dlink,dir-860l-b1) lan_mac=$(mtd_get_mac_ascii factory lanmac) wan_mac=$(mtd_get_mac_ascii factory wanmac) label_mac=$(cat /sys/class/ieee80211/phy1/macaddress) ;; dovado,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) ;; edimax,br-6475nd) wan_mac=$(mtd_get_mac_binary devdata 0x7) ;; edimax,br-6478ac-v2|\ netgear,r6260|\ netgear,r6350|\ netgear,r6850) wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2) ;; edimax,rg21s) lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr) ;; hiwifi,hc5661|\ hiwifi,hc5661a|\ hiwifi,hc5761|\ hiwifi,hc5761a|\ hiwifi,hc5861|\ hiwifi,hc5861b|\ hiwifi,hc5962) lan_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ") label_mac=$lan_mac [ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address) wan_mac=$(macaddr_add "$lan_mac" 1) ;; iodata,wn-ac1167gr|\ iodata,wn-ac733gr3) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -1) ;; iodata,wn-ax1167gr|\ iodata,wn-gx300gr|\ trendnet,tew-692gr) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1) ;; iptime,a604m) wan_mac=$(mtd_get_mac_binary u-boot 0x1fc40) ;; linksys,e1700) wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR) ;; mediatek,linkit-smart-7688|\ onion,omega2|\ onion,omega2p) wan_mac=$(mtd_get_mac_binary factory 0x4) lan_mac=$(mtd_get_mac_binary factory 0x2e) ;; mercury,mac1200r-v2) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory_info 0xd)" 1) ;; poray,m3|\ poray,m4-4m|\ poray,m4-8m|\ poray,x5|\ poray,x8) lan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" -2) ;; sitecom,wlr-6000) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x8004)" 2) ;; sparklan,wcr-150gn|\ wiznet,wizfi630a|\ zyxel,keenetic-omni|\ zyxel,keenetic-omni-ii|\ zyxel,keenetic-viva) wan_mac=$(mtd_get_mac_binary factory 0x28) ;; tenda,w306r-v2) wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 5) ;; trendnet,tew-691gr) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 3) ;; vocore,vocore2|\ vocore,vocore2-lite) label_mac=$(cat /sys/class/ieee80211/phy0/macaddress) ;; xiaomi,mir3g) lan_mac=$(mtd_get_mac_binary factory 0xe006) ;; xiaomi,mir3p) lan_mac=$(mtd_get_mac_binary factory 0xe006) label_mac=$lan_mac ;; xiaomi,miwifi-mini) lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)") ;; zbtlink,zbt-we1326) wan_mac=$(mtd_get_mac_binary factory 0xe006) label_mac=$(cat /sys/class/ieee80211/phy0/macaddress) ;; *) wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1) ;; esac [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac [ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac [ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac } board_config_update board=$(board_name) ramips_setup_interfaces $board ramips_setup_macs $board board_config_flush exit 0