Initial commit
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
This commit is contained in:
272
target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
Normal file
272
target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
Normal file
@@ -0,0 +1,272 @@
|
||||
|
||||
. /lib/functions/leds.sh
|
||||
. /lib/functions/uci-defaults.sh
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
board_config_update
|
||||
|
||||
case $board in
|
||||
alfa-network,ax1800rm)
|
||||
ucidef_set_led_netdev "lan1" "lan1" "green:lan1" "lan1"
|
||||
ucidef_set_led_netdev "lan2" "lan2" "green:lan2" "lan2"
|
||||
ucidef_set_led_netdev "lan3" "lan3" "green:lan3" "lan3"
|
||||
ucidef_set_led_netdev "wan" "wan" "green:wan" "wan"
|
||||
;;
|
||||
asus,rp-ac87)
|
||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||
ucidef_set_rssimon "wlan1" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow-wlan0" "RSSILOW" "green:rssilow-wlan0" "wlan0" "1" "100"
|
||||
ucidef_set_led_rssi "rssimedlow-wlan0" "RSSIMEDLOW" "green:rssimedlow-wlan0" "wlan0" "20" "100"
|
||||
ucidef_set_led_rssi "rssimed-wlan0" "RSSIMED" "green:rssimed-wlan0" "wlan0" "40" "100"
|
||||
ucidef_set_led_rssi "rssihigh-wlan0" "RSSIHIGH" "green:rssihigh-wlan0" "wlan0" "70" "100"
|
||||
ucidef_set_led_rssi "rssilow-wlan1" "RSSILOW" "green:rssilow-wlan1" "wlan1" "1" "100"
|
||||
ucidef_set_led_rssi "rssimedlow-wlan1" "RSSIMEDLOW" "green:rssimedlow-wlan1" "wlan1" "20" "100"
|
||||
ucidef_set_led_rssi "rssimed-wlan1" "RSSIMED" "green:rssimed-wlan1" "wlan1" "40" "100"
|
||||
ucidef_set_led_rssi "rssihigh-wlan1" "RSSIHIGH" "green:rssihigh-wlan1" "wlan1" "70" "100"
|
||||
;;
|
||||
asus,rt-ax53u)
|
||||
ucidef_set_led_usbport "usb" "USB" "blue:usb" "usb1-port2"
|
||||
ucidef_set_led_wlan "wlan2g" "WiFi 2.4GHz" "mt76-phy0" "phy0tpt"
|
||||
ucidef_set_led_wlan "wlan5g" "WiFi 5GHz" "mt76-phy1" "phy1tpt"
|
||||
;;
|
||||
asus,rt-ax54|\
|
||||
yuncore,g720)
|
||||
ucidef_set_led_wlan "wlan2g" "WiFi 2.4GHz" "mt76-phy0" "phy0tpt"
|
||||
ucidef_set_led_wlan "wlan5g" "WiFi 5GHz" "mt76-phy1" "phy1tpt"
|
||||
;;
|
||||
asus,rt-n56u-b1)
|
||||
ucidef_set_led_netdev "lan" "LAN link" "blue:lan" "br-lan"
|
||||
ucidef_set_led_netdev "wan" "WAN link" "blue:wan" "wan"
|
||||
;;
|
||||
beeline,smartbox-flash|\
|
||||
beeline,smartbox-giga|\
|
||||
beeline,smartbox-turbo|\
|
||||
beeline,smartbox-turbo-plus|\
|
||||
etisalat,s3|\
|
||||
rostelecom,rt-sf-1)
|
||||
ucidef_set_led_netdev "wan" "wan" "blue:wan" "wan"
|
||||
;;
|
||||
beeline,smartbox-pro|\
|
||||
wifire,s1500-nbn)
|
||||
ucidef_set_led_netdev "lan1" "lan1" "green:lan-1" "lan1" "link tx rx"
|
||||
ucidef_set_led_netdev "lan2" "lan2" "green:lan-2" "lan2" "link tx rx"
|
||||
ucidef_set_led_netdev "lan3" "lan3" "green:lan-3" "lan3" "link tx rx"
|
||||
ucidef_set_led_netdev "lan4" "lan4" "green:lan-4" "lan4" "link tx rx"
|
||||
ucidef_set_led_netdev "wan" "wan" "green:wan" "wan" "link tx rx"
|
||||
;;
|
||||
belkin,rt1800)
|
||||
ucidef_set_led_netdev "wan" "wan" "white:wan" "wan"
|
||||
;;
|
||||
cudy,wr2100)
|
||||
ucidef_set_led_netdev "lan1" "lan1" "green:lan1" "lan1"
|
||||
ucidef_set_led_netdev "lan2" "lan2" "green:lan2" "lan2"
|
||||
ucidef_set_led_netdev "lan3" "lan3" "green:lan3" "lan3"
|
||||
ucidef_set_led_netdev "lan4" "lan4" "green:lan4" "lan4"
|
||||
ucidef_set_led_netdev "wan" "wan" "green:wan" "wan"
|
||||
;;
|
||||
d-team,newifi-d2)
|
||||
ucidef_set_led_netdev "internet" "internet" "amber:internet" "wan"
|
||||
ucidef_set_led_netdev "wlan2g" "WiFi 2.4GHz" "blue:wlan2g" "wlan0"
|
||||
ucidef_set_led_netdev "wlan5g" "WiFi 5GHz" "blue:wlan5g" "wlan1"
|
||||
;;
|
||||
d-team,pbr-m1|\
|
||||
gehua,ghl-r-001|\
|
||||
jcg,y2|\
|
||||
xzwifi,creativebox-v1)
|
||||
ucidef_set_led_netdev "internet" "internet" "blue:internet" "wan"
|
||||
;;
|
||||
dlink,dap-1620-b1|\
|
||||
dlink,dra-1360-a1)
|
||||
ucidef_set_rssimon "wlan1" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "red:rssilow" "wlan1" "1" "40"
|
||||
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "green:rssilow" "wlan1" "21" "100"
|
||||
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "green:rssimed" "wlan1" "61" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "green:rssihigh" "wlan1" "81" "100"
|
||||
;;
|
||||
dlink,dap-x1860-a1)
|
||||
ucidef_set_rssimon "wlan1" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "orange:rssilow" "wlan1" "1" "25"
|
||||
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "green:rssilow" "wlan1" "26" "100"
|
||||
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "green:rssimedium" "wlan1" "51" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "green:rssihigh" "wlan1" "76" "100"
|
||||
;;
|
||||
dlink,dir-1960-a1|\
|
||||
dlink,dir-2055-a1|\
|
||||
dlink,dir-2150-a1|\
|
||||
dlink,dir-2640-a1|\
|
||||
dlink,dir-2660-a1)
|
||||
ucidef_set_led_netdev "wan" "wan" "white:wan" "wan"
|
||||
;;
|
||||
dlink,dir-3040-a1|\
|
||||
dlink,dir-3060-a1)
|
||||
ucidef_set_led_netdev "net_white" "WAN Link" "white:wan" "wan" "link"
|
||||
ucidef_set_led_netdev "net_orange" "WAN Activity" "orange:wan" "wan" "tx rx"
|
||||
;;
|
||||
dlink,dir-853-a1|\
|
||||
dlink,dir-853-a3)
|
||||
ucidef_set_led_netdev "wan" "wan" "blue:net" "wan"
|
||||
;;
|
||||
dlink,dir-853-r1)
|
||||
ucidef_set_led_netdev "internet" "internet" "blue:net" "wan"
|
||||
;;
|
||||
dlink,dir-1935-a1|\
|
||||
dlink,dir-860l-b1|\
|
||||
dlink,dir-867-a1|\
|
||||
dlink,dir-878-a1|\
|
||||
dlink,dir-882-a1|\
|
||||
dlink,dir-882-r1)
|
||||
ucidef_set_led_netdev "wan" "wan" "green:net" "wan"
|
||||
;;
|
||||
gnubee,gb-pc2)
|
||||
ucidef_set_led_netdev "ethyellow" "ethyellow" "orange:ethyellow" "ethyellow" "link tx rx"
|
||||
;;
|
||||
huasifei,ws1208v2)
|
||||
ucidef_set_led_netdev "wwan0" "wwan0" "green:cellular" "wwan0" "link tx rx"
|
||||
;;
|
||||
keenetic,kn-3010)
|
||||
ucidef_set_led_netdev "internet" "internet" "green:internet" "wan"
|
||||
;;
|
||||
linksys,e5600)
|
||||
ucidef_set_led_netdev "wan" "wan link" "blue:wan" "wan" "link"
|
||||
;;
|
||||
linksys,ea6350-v4|\
|
||||
linksys,ea7300-v1|\
|
||||
linksys,ea7300-v2|\
|
||||
linksys,ea7500-v2|\
|
||||
linksys,ea8100-v1|\
|
||||
linksys,ea8100-v2)
|
||||
ucidef_set_led_netdev "lan1" "lan1 link" "green:lan1" "lan1" "link"
|
||||
ucidef_set_led_netdev "lan2" "lan2 link" "green:lan2" "lan2" "link"
|
||||
ucidef_set_led_netdev "lan3" "lan3 link" "green:lan3" "lan3" "link"
|
||||
ucidef_set_led_netdev "lan4" "lan4 link" "green:lan4" "lan4" "link"
|
||||
ucidef_set_led_netdev "wan" "wan link" "green:wan" "wan" "link"
|
||||
;;
|
||||
meig,slt866)
|
||||
ucidef_set_led_netdev "lan" "eth" "blue:lanwan" "lan" "link tx rx"
|
||||
ucidef_set_led_netdev "wwan0" "net" "blue:internet" "wwan0" "link tx rx"
|
||||
;;
|
||||
mikrotik,routerboard-760igs)
|
||||
ucidef_set_led_netdev "sfp" "SFP" "blue:sfp" "sfp"
|
||||
;;
|
||||
mikrotik,ltap-2hnd|\
|
||||
mikrotik,routerboard-m11g)
|
||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "green:rssi0" "wlan0" "1" "100"
|
||||
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "green:rssi1" "wlan0" "20" "100"
|
||||
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "green:rssi2" "wlan0" "40" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "green:rssi3" "wlan0" "60" "100"
|
||||
ucidef_set_led_rssi "rssiveryhigh" "RSSIVERYHIGH" "green:rssi4" "wlan0" "80" "100"
|
||||
;;
|
||||
mtc,wr1201)
|
||||
ucidef_set_led_netdev "eth_link" "LAN link" "green:eth_link" "br-lan"
|
||||
;;
|
||||
netgear,eax12)
|
||||
ucidef_set_led_netdev "eth_act" "LAN act" "yellow:eth" "lan" "tx rx"
|
||||
ucidef_set_led_netdev "eth_link" "LAN link" "green:eth" "lan" "link"
|
||||
;;
|
||||
netgear,r6220|\
|
||||
netgear,r6260|\
|
||||
netgear,r6350|\
|
||||
netgear,r6850|\
|
||||
netgear,wac124|\
|
||||
netgear,wndr3700-v5)
|
||||
ucidef_set_led_netdev "wan" "wan" "green:wan" "wan"
|
||||
;;
|
||||
netgear,r6700-v2|\
|
||||
netgear,r6800|\
|
||||
netgear,r6900-v2|\
|
||||
netgear,r7200|\
|
||||
netgear,r7450)
|
||||
ucidef_set_led_netdev "wan" "WAN" "white:wan" "wan"
|
||||
ucidef_set_led_netdev "lan1" "LAN1" "white:lan1" "lan1"
|
||||
ucidef_set_led_netdev "lan2" "LAN2" "white:lan2" "lan2"
|
||||
ucidef_set_led_netdev "lan3" "LAN3" "white:lan3" "lan3"
|
||||
ucidef_set_led_netdev "lan4" "LAN4" "white:lan4" "lan4"
|
||||
;;
|
||||
netgear,wax202)
|
||||
ucidef_set_led_netdev "internet" "Internet" "green:net" "wan"
|
||||
;;
|
||||
oraybox,x3a)
|
||||
ucidef_set_led_netdev "wan" "wan link" "red:status" "wan"
|
||||
ucidef_set_led_netdev "lan" "lan link" "green:status" "br-lan"
|
||||
;;
|
||||
snr,snr-cpe-me1)
|
||||
ucidef_set_led_usbport "usb" "USB" "green:usb" "usb1-port1" "usb2-port1"
|
||||
;;
|
||||
tplink,archer-a6-v3|\
|
||||
tplink,archer-ax23-v1|\
|
||||
tplink,archer-c6-v3|\
|
||||
tplink,archer-c6u-v1|\
|
||||
tplink,ex220-v1)
|
||||
ucidef_set_led_netdev "lan" "LAN" "green:lan" "br-lan"
|
||||
ucidef_set_led_netdev "wan" "WAN" "green:wan" "wan"
|
||||
;;
|
||||
tplink,deco-m4r-v4)
|
||||
ucidef_set_led_netdev "lan" "LAN" "green:lan" "br-lan"
|
||||
;;
|
||||
tplink,ec330-g5u-v1)
|
||||
ucidef_set_led_netdev "lan" "Ethernet" "blue:lan" "br-lan" "link tx rx"
|
||||
ucidef_set_led_netdev "wan" "Internet" "blue:wan" "wan" "link tx rx"
|
||||
ucidef_set_led_netdev "wan-off" "Internet-off" "amber:wan" "wan" "link"
|
||||
;;
|
||||
tplink,re350-v1)
|
||||
ucidef_set_led_netdev "wifi2g" "Wifi 2.4G" "blue:wifi2G" "wlan0"
|
||||
ucidef_set_led_netdev "wifi5g" "Wifi 5G" "blue:wifi5G" "wlan1"
|
||||
ucidef_set_led_netdev "eth_act" "LAN act" "green:eth_act" "lan" "tx rx"
|
||||
ucidef_set_led_netdev "eth_link" "LAN link" "green:eth_link" "lan" "link"
|
||||
;;
|
||||
tplink,mr600-v2-eu)
|
||||
ucidef_set_led_netdev "lan" "LAN" "white:lan" "br-lan"
|
||||
ucidef_set_led_netdev "wan" "WAN" "white:wan" "wan"
|
||||
ucidef_set_led_netdev "4g" "4G" "white:4g" "wwan0"
|
||||
;;
|
||||
tplink,re500-v1|\
|
||||
tplink,re650-v1|\
|
||||
tplink,re650-v2)
|
||||
ucidef_set_led_netdev "eth_act" "LAN act" "green:eth_act" "lan" "tx rx"
|
||||
ucidef_set_led_netdev "eth_link" "LAN link" "green:eth_link" "lan" "link"
|
||||
;;
|
||||
tplink,tl-wpa8631p-v3)
|
||||
ucidef_set_led_netdev "lan" "LAN" "green:lan" "br-lan"
|
||||
;;
|
||||
xiaomi,mi-router-4a-gigabit-v2)
|
||||
ucidef_set_led_netdev "wan" "wan" "blue:wan" "wan" "link"
|
||||
;;
|
||||
xiaomi,mi-router-ac2100)
|
||||
ucidef_set_led_netdev "wan-blue" "WAN (blue)" "blue:wan" "wan"
|
||||
;;
|
||||
xiaomi,mi-router-cr6606|\
|
||||
xiaomi,mi-router-cr6608|\
|
||||
xiaomi,mi-router-cr6609)
|
||||
ucidef_set_led_netdev "internet" "Internet" "blue:net" "wan"
|
||||
;;
|
||||
xiaomi,redmi-router-ac2100)
|
||||
ucidef_set_led_netdev "wan" "wan" "white:wan" "wan"
|
||||
;;
|
||||
youhua,wr1200js)
|
||||
ucidef_set_led_netdev "internet" "INTERNET" "green:wan" "wan"
|
||||
;;
|
||||
yuncore,fap690)
|
||||
ucidef_set_led_netdev "eth_link" "LAN link" "blue:status" "lan" "link"
|
||||
;;
|
||||
yuncore,ax820)
|
||||
ucidef_set_led_netdev "lan" "LAN" "green:lan" "lan"
|
||||
ucidef_set_led_netdev "wan" "WAN" "green:wan" "wan"
|
||||
;;
|
||||
z-router,zr-2660)
|
||||
ucidef_set_led_netdev "lan" "lan" "green:lan" "br-lan" "link tx rx"
|
||||
ucidef_set_led_netdev "wan" "wan" "green:wan" "wan" "link tx rx"
|
||||
ucidef_set_led_netdev "wan-off" "wan-off" "red:wan" "wan" "link"
|
||||
;;
|
||||
zyxel,lte3301-plus)
|
||||
ucidef_set_led_netdev "internet" "internet" "white:internet" "wwan0"
|
||||
;;
|
||||
zyxel,lte5398-m904)
|
||||
ucidef_set_led_netdev "internet" "LTE/3G Internet Activity" "green:internet" "wwan0" "rx tx"
|
||||
;;
|
||||
esac
|
||||
|
||||
board_config_flush
|
||||
|
||||
exit 0
|
||||
350
target/linux/ramips/mt7621/base-files/etc/board.d/02_network
Normal file
350
target/linux/ramips/mt7621/base-files/etc/board.d/02_network
Normal file
@@ -0,0 +1,350 @@
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/uci-defaults.sh
|
||||
. /lib/functions/system.sh
|
||||
|
||||
ramips_setup_interfaces()
|
||||
{
|
||||
local board="$1"
|
||||
|
||||
case $board in
|
||||
alfa-network,ax1800rm|\
|
||||
ampedwireless,ally-r1900k|\
|
||||
asus,rt-ax53u|\
|
||||
buffalo,wsr-2533dhpl2|\
|
||||
buffalo,wsr-2533dhpls|\
|
||||
gehua,ghl-r-001|\
|
||||
h3c,tx1800-plus|\
|
||||
h3c,tx1801-plus|\
|
||||
h3c,tx1806|\
|
||||
haier,har-20s2u1|\
|
||||
hiwifi,hc5962|\
|
||||
mercusys,mr70x-v1|\
|
||||
netgear,wax202|\
|
||||
sim,simax1800t|\
|
||||
xiaomi,mi-router-3-pro|\
|
||||
xiaomi,mi-router-ac2100|\
|
||||
xiaomi,mi-router-cr6606|\
|
||||
xiaomi,mi-router-cr6608|\
|
||||
xiaomi,mi-router-cr6609|\
|
||||
xiaomi,redmi-router-ac2100|\
|
||||
z-router,zr-2660|\
|
||||
zyxel,wsm20)
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
|
||||
;;
|
||||
arcadyan,we420223-99)
|
||||
ucidef_set_interface_lan "swp0 swp1"
|
||||
;;
|
||||
ampedwireless,ally-00x19k|\
|
||||
asus,rp-ac56|\
|
||||
asus,rp-ac87|\
|
||||
dlink,dap-1620-b1|\
|
||||
dlink,dap-x1860-a1|\
|
||||
dlink,dra-1360-a1|\
|
||||
edimax,re23s|\
|
||||
linksys,re7000|\
|
||||
mikrotik,ltap-2hnd|\
|
||||
mikrotik,routerboard-m11g|\
|
||||
netgear,eax12|\
|
||||
netgear,ex6150|\
|
||||
netgear,wax214v2|\
|
||||
sercomm,na502|\
|
||||
sercomm,na502s|\
|
||||
thunder,timecloud|\
|
||||
tplink,eap613-v1|\
|
||||
tplink,re350-v1|\
|
||||
tplink,re500-v1|\
|
||||
tplink,re650-v1|\
|
||||
tplink,re650-v2|\
|
||||
ubnt,unifi-6-lite|\
|
||||
ubnt,unifi-flexhd|\
|
||||
ubnt,unifi-nanohd|\
|
||||
yuncore,fap690|\
|
||||
wavlink,wl-wn573hx1|\
|
||||
zyxel,nwa50ax|\
|
||||
zyxel,nwa55axe)
|
||||
ucidef_set_interface_lan "lan"
|
||||
;;
|
||||
asiarf,ap7621-001|\
|
||||
humax,e10|\
|
||||
keenetic,kn-3510|\
|
||||
openfi,5pro|\
|
||||
wavlink,ws-wn572hp3-4g|\
|
||||
winstars,ws-wn583a6)
|
||||
ucidef_set_interfaces_lan_wan "lan" "wan"
|
||||
;;
|
||||
asiarf,ap7621-nv1|\
|
||||
beeline,smartbox-flash|\
|
||||
beeline,smartbox-giga|\
|
||||
elecom,wrc-x1800gs|\
|
||||
glinet,gl-mt1300|\
|
||||
iodata,wn-deax1800gr|\
|
||||
iptime,a3002mesh|\
|
||||
jcg,q20|\
|
||||
lenovo,newifi-d1|\
|
||||
mikrotik,routerboard-m33g|\
|
||||
mts,wg430223|\
|
||||
oraybox,x3a|\
|
||||
renkforce,ws-wn530hp3-a|\
|
||||
xiaomi,mi-router-3g|\
|
||||
xiaomi,mi-router-3g-v2|\
|
||||
xiaomi,mi-router-4|\
|
||||
xiaomi,mi-router-4a-gigabit|\
|
||||
xiaomi,mi-router-4a-gigabit-v2)
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2" "wan"
|
||||
;;
|
||||
bolt,arion)
|
||||
ucidef_set_interfaces_lan_wan "lan" "wan"
|
||||
ucidef_set_interface "eth_data" device "modem.103" protocol "static" ipaddr "10.22.127.222" netmask "255.255.255.255"
|
||||
ucidef_set_interface "eth_om" device "modem.4094" protocol "static" ipaddr "169.254.0.2" netmask "255.255.255.252"
|
||||
uci add_list firewall.@zone[1].network='eth_data'
|
||||
uci add_list firewall.@zone[1].network='eth_om'
|
||||
;;
|
||||
cudy,m1800|\
|
||||
yuncore,ax820|\
|
||||
zyxel,nr7101)
|
||||
ucidef_set_interfaces_lan_wan "lan" "wan"
|
||||
;;
|
||||
dlink,covr-x1860-a1)
|
||||
ucidef_set_interfaces_lan_wan "ethernet" "internet"
|
||||
;;
|
||||
elecom,wmc-s1267gs2|\
|
||||
linksys,re6500|\
|
||||
netgear,wac104|\
|
||||
zyxel,lte3301-plus)
|
||||
ucidef_set_interface_lan "lan1 lan2 lan3 lan4"
|
||||
;;
|
||||
gnubee,gb-pc1)
|
||||
ucidef_set_interface_lan "ethblack ethblue"
|
||||
;;
|
||||
gnubee,gb-pc2)
|
||||
ucidef_set_interface_lan "ethblack ethblue ethyellow"
|
||||
;;
|
||||
mikrotik,routerboard-750gr3)
|
||||
ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan"
|
||||
;;
|
||||
mikrotik,routerboard-760igs)
|
||||
ucidef_set_interfaces_lan_wan "lan2 lan3 lan4 lan5" "wan sfp"
|
||||
;;
|
||||
mqmaker,witi)
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan1 wan2"
|
||||
;;
|
||||
tozed,zlt-s12-pro)
|
||||
ucidef_set_interface_lan "lan1 lan2 lan3 wan"
|
||||
ucidef_set_interface "wwan" device "/dev/ttyUSB0" protocol "ncm"
|
||||
uci add_list firewall.@zone[1].network='wwan'
|
||||
;;
|
||||
tplink,deco-m4r-v4)
|
||||
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
||||
;;
|
||||
tplink,eap235-wall-v1|\
|
||||
tplink,eap615-wall-v1)
|
||||
ucidef_set_interface_lan "lan0 lan1 lan2 lan3"
|
||||
;;
|
||||
tplink,er605-v2)
|
||||
ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4" "eth0"
|
||||
;;
|
||||
tplink,tl-wpa8631p-v3)
|
||||
ucidef_set_interface_lan "lan1 lan2 lan3 plc0"
|
||||
;;
|
||||
tplink,mr600-v2-eu)
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "wan"
|
||||
;;
|
||||
ubnt,edgerouter-x)
|
||||
ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4" "eth0"
|
||||
;;
|
||||
ubnt,edgerouter-x-sfp)
|
||||
ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4 eth5" "eth0"
|
||||
;;
|
||||
ubnt,usw-flex)
|
||||
ucidef_set_interface_lan "lan1 lan2 lan3 lan4 lan5"
|
||||
;;
|
||||
zyxel,lte5398-m904)
|
||||
ucidef_set_interface_lan "lan1 lan2"
|
||||
ucidef_set_interface "wan" device "/dev/cdc-wdm0" protocol "qmi"
|
||||
;;
|
||||
zyxel,wap6805)
|
||||
ucidef_set_interface_lan "lan1 lan2 lan3 lan4"
|
||||
ucidef_set_interface "qtn" ifname "eth1" protocol "static" ipaddr "1.1.1.1" netmask "255.255.255.0"
|
||||
;;
|
||||
comfast,cf-e390ax|\
|
||||
comfast,cf-ew72-v2|\
|
||||
meig,slt866)
|
||||
ucidef_set_interfaces_lan_wan "lan" "wan"
|
||||
;;
|
||||
*)
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
ramips_setup_macs()
|
||||
{
|
||||
local board="$1"
|
||||
local lan_mac=""
|
||||
local wan_mac=""
|
||||
local label_mac=""
|
||||
|
||||
case $board in
|
||||
alfa-network,ax1800rm|\
|
||||
jcg,y2|\
|
||||
wavlink,wl-wn531a6|\
|
||||
wavlink,wl-wn533a8|\
|
||||
winstars,ws-wn583a6|\
|
||||
zbtlink,zbt-we1326|\
|
||||
zbtlink,zbt-wg3526-16m|\
|
||||
zbtlink,zbt-wg3526-32m)
|
||||
label_mac=$(mtd_get_mac_binary factory 0x4)
|
||||
;;
|
||||
ampedwireless,ally-00x19k)
|
||||
lan_mac=$(mtd_get_mac_ascii hwconfig HW.LAN.MAC.Address)
|
||||
label_mac=$lan_mac
|
||||
;;
|
||||
ampedwireless,ally-r1900k)
|
||||
lan_mac=$(mtd_get_mac_ascii hwconfig HW.LAN.MAC.Address)
|
||||
wan_mac=$(mtd_get_mac_ascii hwconfig HW.WAN.MAC.Address)
|
||||
label_mac=$lan_mac
|
||||
;;
|
||||
arcadyan,we420223-99)
|
||||
label_mac=$(mtd_get_mac_ascii board_data mac)
|
||||
lan_mac=$label_mac
|
||||
ucidef_set_network_device_mac eth0 $(macaddr_add "$label_mac" 3)
|
||||
;;
|
||||
asus,rt-ac65p|\
|
||||
asus,rt-ac85p)
|
||||
wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
|
||||
label_mac=$(mtd_get_mac_binary factory 0x4)
|
||||
;;
|
||||
beeline,smartbox-flash)
|
||||
wan_mac=$(mtd_get_mac_encrypted_arcadyan "board_data")
|
||||
label_mac=$(macaddr_add "$wan_mac" 3)
|
||||
lan_mac=$label_mac
|
||||
;;
|
||||
buffalo,wsr-1166dhp|\
|
||||
buffalo,wsr-2533dhpl2|\
|
||||
buffalo,wsr-2533dhpls)
|
||||
wan_mac=$(mtd_get_mac_ascii board_data "mac")
|
||||
lan_mac=$wan_mac
|
||||
label_mac=$wan_mac
|
||||
;;
|
||||
comfast,cf-e390ax)
|
||||
lan_mac=$(cat /sys/class/net/eth0/address)
|
||||
label_mac=$lan_mac
|
||||
wan_mac=$(macaddr_add "$lan_mac" 1)
|
||||
;;
|
||||
dlink,covr-x1860-a1)
|
||||
label_mac=$(mtd_get_mac_ascii config2 factory_mac)
|
||||
wan_mac=$(macaddr_add "$label_mac" 3)
|
||||
lan_mac=$label_mac
|
||||
;;
|
||||
dlink,dir-860l-b1)
|
||||
lan_mac=$(mtd_get_mac_ascii factory lanmac)
|
||||
wan_mac=$(mtd_get_mac_ascii factory wanmac)
|
||||
;;
|
||||
edimax,ra21s|\
|
||||
edimax,rg21s)
|
||||
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
||||
wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
|
||||
;;
|
||||
elecom,wrc-2533ghbk2-t|\
|
||||
elecom,wrc-2533ghbk-i)
|
||||
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
||||
wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
|
||||
label_mac=$wan_mac
|
||||
;;
|
||||
h3c,tx1800-plus|\
|
||||
h3c,tx1801-plus|\
|
||||
h3c,tx1806)
|
||||
label_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
||||
lan_mac=$(macaddr_add "$label_mac" 1)
|
||||
wan_mac=$label_mac
|
||||
;;
|
||||
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,wnpr2600g)
|
||||
wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
|
||||
label_mac=$wan_mac
|
||||
;;
|
||||
iptime,t5004)
|
||||
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
||||
wan_mac=$(macaddr_add "$lan_mac" 1)
|
||||
;;
|
||||
linksys,e5600|\
|
||||
linksys,ea6350-v4|\
|
||||
linksys,ea7300-v1|\
|
||||
linksys,ea7300-v2|\
|
||||
linksys,ea7500-v2|\
|
||||
linksys,ea8100-v1|\
|
||||
linksys,ea8100-v2)
|
||||
lan_mac=$(mtd_get_mac_ascii devinfo hw_mac_addr)
|
||||
wan_mac=$lan_mac
|
||||
label_mac=$lan_mac
|
||||
;;
|
||||
belkin,rt1800|\
|
||||
linksys,e7350)
|
||||
lan_mac=$(mtd_get_mac_ascii Config lan_hwaddr)
|
||||
wan_mac=$(mtd_get_mac_ascii Config wan_hwaddr)
|
||||
label_mac=$lan_mac
|
||||
;;
|
||||
mikrotik,ltap-2hnd)
|
||||
label_mac=$(cat "/sys/firmware/mikrotik/hard_config/mac_base")
|
||||
lan_mac=$label_mac
|
||||
;;
|
||||
tplink,er605-v2)
|
||||
CI_UBIPART="firmware"
|
||||
label_mac=$(mtd_get_mac_uci_config_ubi "tddp")
|
||||
lan_mac=$label_mac
|
||||
wan_mac=$(macaddr_add "$label_mac" 1)
|
||||
;;
|
||||
tplink,mr600-v2-eu)
|
||||
label_mac=$(cat "/sys/class/net/eth0/address")
|
||||
wwan_mac=$(macaddr_add $label_mac 1)
|
||||
ucidef_set_interface "wwan0" device "/dev/cdc-wdm0" protocol "qmi" macaddr "$wwan_mac"
|
||||
;;
|
||||
mikrotik,routerboard-750gr3|\
|
||||
mikrotik,routerboard-760igs|\
|
||||
mikrotik,routerboard-m11g|\
|
||||
mikrotik,routerboard-m33g)
|
||||
label_mac=$(cat "/sys/firmware/mikrotik/hard_config/mac_base")
|
||||
wan_mac=$label_mac
|
||||
lan_mac=$(macaddr_add $label_mac 1)
|
||||
;;
|
||||
mts,wg430223)
|
||||
wan_mac=$(mtd_get_mac_encrypted_arcadyan "board_data")
|
||||
label_mac=$wan_mac
|
||||
lan_mac=$(macaddr_add "$wan_mac" 2)
|
||||
;;
|
||||
netgear,eax12)
|
||||
lan_mac=$(mtd_get_mac_ascii Config mac)
|
||||
label_mac=$lan_mac
|
||||
;;
|
||||
netgear,wax202)
|
||||
lan_mac=$(mtd_get_mac_ascii Config mac)
|
||||
wan_mac=$(macaddr_add "$lan_mac" 1)
|
||||
label_mac=$lan_mac
|
||||
;;
|
||||
netgear,wax214v2)
|
||||
lan_mac=$(mtd_get_mac_ascii Config ethaddr)
|
||||
label_mac=$lan_mac
|
||||
;;
|
||||
yuncore,ax820)
|
||||
label_mac=$(mtd_get_mac_binary Factory 0x4)
|
||||
;;
|
||||
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
|
||||
@@ -0,0 +1,47 @@
|
||||
|
||||
. /lib/functions/uci-defaults.sh
|
||||
|
||||
board_config_update
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
mikrotik,routerboard-760igs)
|
||||
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "529"
|
||||
;;
|
||||
telco-electronics,x1)
|
||||
ucidef_add_gpio_switch "modem_reset" "Modem Reset" "528"
|
||||
;;
|
||||
tozed,zlt-s12-pro)
|
||||
ucidef_add_gpio_switch "lt72_power" "Power LTE modem" "lt72_power" "1"
|
||||
;;
|
||||
tplink,eap235-wall-v1|\
|
||||
tplink,eap615-wall-v1)
|
||||
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "poe-passthrough"
|
||||
;;
|
||||
ubnt,edgerouter-x)
|
||||
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "512"
|
||||
;;
|
||||
ubnt,edgerouter-x-sfp)
|
||||
ucidef_add_gpio_switch "poe_power_port0" "PoE Power Port0" "608"
|
||||
ucidef_add_gpio_switch "poe_power_port1" "PoE Power Port1" "609"
|
||||
ucidef_add_gpio_switch "poe_power_port2" "PoE Power Port2" "610"
|
||||
ucidef_add_gpio_switch "poe_power_port3" "PoE Power Port3" "611"
|
||||
ucidef_add_gpio_switch "poe_power_port4" "PoE Power Port4" "612"
|
||||
;;
|
||||
zyxel,lte3301-plus|\
|
||||
zyxel,lte5398-m904)
|
||||
ucidef_add_gpio_switch "usb_power" "Power USB Port" "usb_power" "1"
|
||||
ucidef_add_gpio_switch "lte_power" "Power LTE modem" "lte_power" "1"
|
||||
;;
|
||||
zyxel,nr7101)
|
||||
ucidef_add_gpio_switch "lte_reset" "Reset LTE/5G modem" "515"
|
||||
;;
|
||||
zyxel,wap6805)
|
||||
ucidef_add_gpio_switch "qtn_power" "Quantenna Module Power" "528" "1"
|
||||
;;
|
||||
esac
|
||||
|
||||
board_config_flush
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,21 @@
|
||||
#
|
||||
# Copyright (C) 2020 OpenWrt.org
|
||||
#
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/uci-defaults.sh
|
||||
|
||||
board_config_update
|
||||
|
||||
case "$(board_name)" in
|
||||
iptime,ax2004m)
|
||||
ucidef_set_compat_version "2.0"
|
||||
;;
|
||||
*)
|
||||
ucidef_set_compat_version "1.1"
|
||||
;;
|
||||
esac
|
||||
|
||||
board_config_flush
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ -e /lib/firmware/$FIRMWARE ] && exit 0
|
||||
|
||||
. /lib/functions/caldata.sh
|
||||
|
||||
caldata_mikrotik_ath9k() {
|
||||
local offset=$(($1))
|
||||
local count=$(($2))
|
||||
local macaddr=$3
|
||||
local wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data"
|
||||
|
||||
caldata_from_file $wlan_data $offset $count /tmp/$FIRMWARE
|
||||
ath9k_patch_mac "$macaddr" /tmp/$FIRMWARE
|
||||
caldata_sysfsload_from_file /tmp/$FIRMWARE 0x0 $count
|
||||
rm -f /tmp/$FIRMWARE
|
||||
}
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$FIRMWARE" in
|
||||
"ath9k-eeprom-pci-0000:01:00.0.bin")
|
||||
case $board in
|
||||
mikrotik,ltap-2hnd)
|
||||
mac_base="$(cat /sys/firmware/mikrotik/hard_config/mac_base)"
|
||||
caldata_mikrotik_ath9k 0x5000 0x440 $(macaddr_add "$mac_base" 1)
|
||||
;;
|
||||
*)
|
||||
caldata_die "board $board is not supported yet"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,75 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This must run before 10-wifi-detect
|
||||
|
||||
|
||||
[ "${ACTION}" = "add" ] || return
|
||||
|
||||
|
||||
. /lib/functions.sh
|
||||
|
||||
|
||||
check_radio()
|
||||
{
|
||||
local cfg="$1" to="$2"
|
||||
|
||||
config_get path "$cfg" path
|
||||
|
||||
[ "$path" = "$to" ] && PATH_EXISTS=true
|
||||
}
|
||||
|
||||
do_migrate_radio()
|
||||
{
|
||||
local cfg="$1" from="$2" to="$3"
|
||||
|
||||
config_get path "$cfg" path
|
||||
|
||||
[ "$path" = "$from" ] || return
|
||||
|
||||
uci set "wireless.${cfg}.path=${to}"
|
||||
WIRELESS_CHANGED=true
|
||||
|
||||
logger -t wifi-migrate "Updated path of wireless.${cfg} from '${from}' to '${to}'"
|
||||
}
|
||||
|
||||
migrate_radio()
|
||||
{
|
||||
local from="$1" to="$2"
|
||||
|
||||
config_load wireless
|
||||
|
||||
# Check if there is already a section with the target path: In this case, the system
|
||||
# was already upgraded to a version without this migration script before; better bail out,
|
||||
# as we can't be sure we don't break more than we fix.
|
||||
PATH_EXISTS=false
|
||||
config_foreach check_radio wifi-device "$to"
|
||||
$PATH_EXISTS && return
|
||||
|
||||
config_foreach do_migrate_radio wifi-device "$from" "$to"
|
||||
}
|
||||
|
||||
|
||||
WIRELESS_CHANGED=false
|
||||
|
||||
case "$(board_name)" in
|
||||
arcadyan,we420223-99|\
|
||||
beeline,smartbox-flash|\
|
||||
mts,wg430223)
|
||||
migrate_radio '1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0' '1e140000.pcie/pci0000:00/0000:00:01.0/0000:01:00.0'
|
||||
migrate_radio '1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0+1' '1e140000.pcie/pci0000:00/0000:00:01.0/0000:01:00.0+1'
|
||||
;;
|
||||
netgear,r6220|\
|
||||
netgear,wac104|\
|
||||
netgear,wndr3700-v5)
|
||||
migrate_radio '1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0' '1e140000.pcie/pci0000:00/0000:00:02.0/0000:02:00.0'
|
||||
;;
|
||||
zbtlink,zbt-we1326)
|
||||
migrate_radio '1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0' '1e140000.pcie/pci0000:00/0000:00:02.0/0000:02:00.0'
|
||||
migrate_radio '1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0' '1e140000.pcie/pci0000:00/0000:00:01.0/0000:01:00.0'
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
$WIRELESS_CHANGED && uci commit wireless
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,231 @@
|
||||
[ "$ACTION" == "add" ] || exit 0
|
||||
|
||||
PHYNBR=${DEVPATH##*/phy}
|
||||
|
||||
[ -n $PHYNBR ] || exit 0
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/system.sh
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
arcadyan,we420223-99)
|
||||
if [ "$PHYNBR" = "0" ]; then
|
||||
mac24=$(macaddr_add "$(get_mac_label)" "0xf00001")
|
||||
echo -n "$mac24" > /sys${DEVPATH}/macaddress
|
||||
elif [ "$PHYNBR" = "1" ]; then
|
||||
mac5=$(macaddr_add "$(get_mac_label)" 1)
|
||||
echo -n "$mac5" > /sys${DEVPATH}/macaddress
|
||||
fi
|
||||
;;
|
||||
beeline,smartbox-flash)
|
||||
hw_mac_addr=$(macaddr_add $(mtd_get_mac_encrypted_arcadyan "board_data") 1)
|
||||
[ "$PHYNBR" = "0" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
|
||||
hw_mac_addr=$(macaddr_setbit $hw_mac_addr 26)
|
||||
hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 27)
|
||||
hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 28)
|
||||
[ "$PHYNBR" = "1" ] && macaddr_setbit_la $hw_mac_addr > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
buffalo,wsr-2533dhpls)
|
||||
lan_mac_addr=$(mtd_get_mac_ascii board_data "mac")
|
||||
[ "$PHYNBR" = "0" ] && \
|
||||
macaddr_add $lan_mac_addr 1 > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && \
|
||||
macaddr_add $lan_mac_addr 8 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
comfast,cf-e390ax)
|
||||
[ "$PHYNBR" = "0" ] && echo -n "$(mtd_get_mac_binary factory 0x0004)" > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && echo -n "$(mtd_get_mac_binary factory 0x8004)" > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
cudy,x6-v1|\
|
||||
cudy,x6-v2)
|
||||
hw_mac_addr="$(mtd_get_mac_binary bdinfo 0xde00)"
|
||||
[ "$PHYNBR" = "1" ] && \
|
||||
macaddr_setbit_la "$(macaddr_add $hw_mac_addr 0x100000)" > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
dlink,dap-1620-b1|\
|
||||
dlink,dir-853-a1|\
|
||||
dlink,dra-1360-a1)
|
||||
lan_mac_addr="$(mtd_get_mac_binary factory 0xe000)"
|
||||
[ "$PHYNBR" = "0" ] && \
|
||||
macaddr_add $lan_mac_addr 1 > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && \
|
||||
macaddr_add $lan_mac_addr 2 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
dlink,covr-x1860-a1)
|
||||
label_mac=$(mtd_get_mac_ascii config2 factory_mac)
|
||||
[ "$PHYNBR" = "0" ] && \
|
||||
macaddr_add $label_mac 1 > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && \
|
||||
macaddr_add $label_mac 2 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
dlink,dap-x1860-a1)
|
||||
hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
|
||||
[ "$PHYNBR" = "0" ] && \
|
||||
macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && \
|
||||
macaddr_add $hw_mac_addr 4 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
dlink,dir-3040-a1)
|
||||
lan_mac_addr="$(mtd_get_mac_binary factory 0xe000)"
|
||||
[ "$PHYNBR" = "0" ] && \
|
||||
macaddr_add $lan_mac_addr 2 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
dlink,dir-853-a3)
|
||||
[ "$PHYNBR" = "0" ] && \
|
||||
macaddr_setbit_la "$(mtd_get_mac_binary factory 0xe000)" \
|
||||
> /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
dlink,dir-853-r1|\
|
||||
phicomm,k2p)
|
||||
if [ "$PHYNBR" = "0" ]; then
|
||||
base_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -1)
|
||||
macaddr_setbit_la "$base_mac" > /sys${DEVPATH}/macaddress
|
||||
fi
|
||||
;;
|
||||
glinet,gl-mt1300|\
|
||||
z-router,zr-2660)
|
||||
[ "$PHYNBR" = "1" ] && \
|
||||
macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
h3c,tx1800-plus|\
|
||||
h3c,tx1801-plus|\
|
||||
h3c,tx1806)
|
||||
addr=$(macaddr_setbit $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 2) 7)
|
||||
[ "$PHYNBR" = "0" ] && echo -n ${addr:0:9}'1'${addr:10:7} > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && echo -n ${addr:0:9}'7'${addr:10:7} > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
haier,har-20s2u1|\
|
||||
jcg,y2|\
|
||||
sim,simax1800t)
|
||||
[ "$PHYNBR" = "1" ] && \
|
||||
macaddr_setbit_la "$(mtd_get_mac_binary factory 0x4)" > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
hiwifi,hc5962)
|
||||
label_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
|
||||
[ "$PHYNBR" = "0" ] && [ -n "$label_mac" ] && \
|
||||
echo -n "$label_mac" > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && [ -n "$label_mac" ] && \
|
||||
macaddr_unsetbit "$label_mac" 6 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
iptime,a3002mesh|\
|
||||
iptime,a3004t)
|
||||
hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
|
||||
[ "$PHYNBR" = "0" ] && \
|
||||
macaddr_setbit_la "$(macaddr_add $hw_mac_addr 3)" > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
iptime,ax2004m)
|
||||
if [ "$PHYNBR" = "1" ]; then
|
||||
hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
|
||||
macaddr_setbit_la "$(macaddr_add $hw_mac_addr 3)" > /sys${DEVPATH}/macaddress
|
||||
fi
|
||||
;;
|
||||
jcg,q20)
|
||||
[ "$PHYNBR" = "1" ] && \
|
||||
macaddr_setbit_la "$(mtd_get_mac_binary Factory 0x4)" > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
keenetic,kn-3510)
|
||||
[ "$PHYNBR" = "1" ] && \
|
||||
macaddr_setbit_la "$(mtd_get_mac_binary rf-eeprom 0x4)" > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
linksys,e5600|\
|
||||
linksys,ea6350-v4|\
|
||||
linksys,ea7300-v1|\
|
||||
linksys,ea7300-v2|\
|
||||
linksys,ea7500-v2|\
|
||||
linksys,ea8100-v1|\
|
||||
linksys,ea8100-v2)
|
||||
hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
|
||||
[ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
belkin,rt1800|\
|
||||
linksys,e7350)
|
||||
hw_mac_addr=$(mtd_get_mac_ascii Config wan_hwaddr)
|
||||
[ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
netgear,eax12)
|
||||
hw_mac_addr=$(mtd_get_mac_ascii Config mac)
|
||||
[ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
netgear,wax202)
|
||||
hw_mac_addr=$(mtd_get_mac_ascii Config mac)
|
||||
[ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 3 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
netgear,wax214v2)
|
||||
hw_mac_addr=$(mtd_get_mac_ascii Config ethaddr)
|
||||
[ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 3 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
mercusys,mr70x-v1|\
|
||||
tplink,archer-ax23-v1)
|
||||
hw_mac_addr="$(mtd_get_mac_binary config 0x8)"
|
||||
[ "$PHYNBR" = "1" ] && macaddr_add "$hw_mac_addr" -1 > "/sys${DEVPATH}/macaddress"
|
||||
;;
|
||||
mts,wg430223)
|
||||
hw_mac_addr=$(macaddr_add $(mtd_get_mac_encrypted_arcadyan "board_data") 1)
|
||||
[ "$PHYNBR" = "0" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
|
||||
hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 26)
|
||||
hw_mac_addr=$(macaddr_setbit $hw_mac_addr 27)
|
||||
hw_mac_addr=$(macaddr_unsetbit $hw_mac_addr 28)
|
||||
[ "$PHYNBR" = "1" ] && macaddr_setbit_la $hw_mac_addr > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
oraybox,x3a)
|
||||
if [ "$PHYNBR" = "1" ]; then
|
||||
hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
|
||||
macaddr_setbit_la "$(macaddr_add $hw_mac_addr 0x100000)" > /sys${DEVPATH}/macaddress
|
||||
fi
|
||||
;;
|
||||
raisecom,msg1500-x-00)
|
||||
[ "$PHYNBR" = "0" ] && \
|
||||
macaddr_setbit_la "$(get_mac_label)" > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
snr,snr-cpe-me2-sfp)
|
||||
hw_mac_addr="$(mtd_get_mac_binary factory 0x8004)"
|
||||
[ "$PHYNBR" = "1" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
tenbay,t-mb5eu-v01)
|
||||
hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
|
||||
[ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr "0x100000" > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
totolink,x5000r)
|
||||
hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
|
||||
[ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 4 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
tplink,eap613-v1|\
|
||||
tplink,eap615-wall-v1)
|
||||
hw_mac_addr="$(mtd_get_mac_binary product-info 0x8)"
|
||||
macaddr_add "$hw_mac_addr" "$PHYNBR" > "/sys${DEVPATH}/macaddress"
|
||||
;;
|
||||
tplink,ex220-v1)
|
||||
hw_mac_addr="$(mtd_get_mac_binary rom_file 0xf100)"
|
||||
[ "$PHYNBR" = "1" ] && macaddr_add "$hw_mac_addr" 2 > "/sys${DEVPATH}/macaddress"
|
||||
;;
|
||||
yuncore,ax820|\
|
||||
yuncore,g720)
|
||||
[ "$PHYNBR" = "1" ] && \
|
||||
macaddr_setbit_la "$(mtd_get_mac_binary Factory 0xe000)" > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
yuncore,fap640|\
|
||||
yuncore,fap690)
|
||||
hw_mac_addr="$(mtd_get_mac_binary Factory 0x4)"
|
||||
[ "$PHYNBR" = "0" ] && macaddr_setbit_la "$hw_mac_addr" > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && echo -n "$hw_mac_addr" > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
zyxel,nwa50ax|\
|
||||
zyxel,nwa55axe)
|
||||
hw_mac_addr="$(mtd_get_mac_binary mrd 0x1fff8)"
|
||||
[ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
zyxel,wsm20)
|
||||
hw_mac_addr="$(mtd_get_mac_binary Factory 0x1fdfa)"
|
||||
[ "$PHYNBR" = "0" ] && macaddr_add $hw_mac_addr 1 > /sys${DEVPATH}/macaddress
|
||||
[ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
esac
|
||||
47
target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
Executable file
47
target/linux/ramips/mt7621/base-files/etc/init.d/bootcount
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
START=99
|
||||
|
||||
boot() {
|
||||
case $(board_name) in
|
||||
alfa-network,quad-e4g)
|
||||
[ -n "$(fw_printenv bootcount bootchanged 2>/dev/null)" ] &&\
|
||||
echo -e "bootcount\nbootchanged\n" | /usr/sbin/fw_setenv -s -
|
||||
;;
|
||||
beeline,smartbox-turbo|\
|
||||
beeline,smartbox-turbo-plus|\
|
||||
rostelecom,rt-sf-1)
|
||||
[[ $(hexdump -n 1 -e '/1 "%1d"' -s $((0x20001)) /dev/mtd3) == \
|
||||
$((0xff)) ]] || printf '\xff' | dd of=/dev/mtdblock3 \
|
||||
count=1 bs=1 seek=$((0x20001))
|
||||
;;
|
||||
jdcloud,re-cp-02)
|
||||
echo -e "bootcount 0\nbootlimit 5\nupgrade_available 1" | /usr/sbin/fw_setenv -s -
|
||||
;;
|
||||
linksys,e5600|\
|
||||
linksys,ea6350-v4|\
|
||||
linksys,ea7300-v1|\
|
||||
linksys,ea7300-v2|\
|
||||
linksys,ea7500-v2|\
|
||||
linksys,ea8100-v1|\
|
||||
linksys,ea8100-v2)
|
||||
mtd resetbc s_env || true
|
||||
;;
|
||||
belkin,rt1800|\
|
||||
linksys,e7350|\
|
||||
samknows,whitebox-v8)
|
||||
fw_setenv bootcount 0
|
||||
;;
|
||||
zyxel,lte3301-plus)
|
||||
[ $(printf %d $(fw_printenv -n DebugFlag)) -gt 0 ] || fw_setenv DebugFlag 1
|
||||
[ $(printf %d $(fw_printenv -n Image1Stable)) -gt 0 ] || fw_setenv Image1Stable 1
|
||||
[ $(printf %d $(fw_printenv -n Image1Try)) -gt 0 ] && fw_setenv Image1Try 0
|
||||
;;
|
||||
zyxel,lte5398-m904|\
|
||||
zyxel,nr7101)
|
||||
[ $(printf %d $(fw_printenv -n DebugFlag)) -gt 0 ] || fw_setenv DebugFlag 0x1
|
||||
[ $(printf %d $(fw_printenv -n Image1Stable)) -gt 0 ] || fw_setenv Image1Stable 1
|
||||
[ $(printf %d $(fw_printenv -n Image1Try)) -gt 0 ] && fw_setenv Image1Try 0
|
||||
;;
|
||||
esac
|
||||
}
|
||||
16
target/linux/ramips/mt7621/base-files/etc/rc.button/lights_toggle
Executable file
16
target/linux/ramips/mt7621/base-files/etc/rc.button/lights_toggle
Executable file
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
[[ "${ACTION}" = "released" ]] || exit 0
|
||||
|
||||
. /lib/functions.sh
|
||||
|
||||
case "$(board_name)" in
|
||||
tplink,ec330-g5u-v1)
|
||||
led_light="/sys/class/gpio/led-light/value"
|
||||
echo "$((!$(cat $led_light)))" > "$led_light"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
return 0
|
||||
@@ -0,0 +1,5 @@
|
||||
uci -q get network.globals.packet_steering > /dev/null || {
|
||||
uci set network.globals='globals'
|
||||
uci set network.globals.packet_steering=1
|
||||
uci commit network
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/migrations.sh
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
dlink,dir-1960-a1|\
|
||||
dlink,dir-2640-a1|\
|
||||
dlink,dir-2660-a1|\
|
||||
dlink,dir-3040-a1|\
|
||||
dlink,dir-3060-a1)
|
||||
migrate_leds ':net=:wan'
|
||||
;;
|
||||
tplink,archer-a6-v3|\
|
||||
tplink,archer-c6-v3)
|
||||
migrate_leds ':wifi2g$=:wlan-2' ':wifi5g$=:wlan-5'
|
||||
;;
|
||||
esac
|
||||
|
||||
remove_devicename_leds
|
||||
|
||||
migrations_apply system
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,22 @@
|
||||
. /lib/functions.sh
|
||||
|
||||
# don't modify FW data when booting with initramfs image
|
||||
fstype="$(/bin/mount | awk '($3 ~ /^\/$/) && ($5 !~ /rootfs/) { print $5 }')"
|
||||
[ "$fstype" = "tmpfs" ] && \
|
||||
exit 0
|
||||
|
||||
fixup_trx_crc() {
|
||||
local trx_magic="$1"
|
||||
local kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"\(kernel\|linux\)".*/\1/p' /proc/mtd)
|
||||
|
||||
mtd -M $trx_magic ${kernel_size:+-c 0x$kernel_size} fixtrx firmware
|
||||
}
|
||||
|
||||
case "$(board_name)" in
|
||||
buffalo,wsr-2533dhpl2)
|
||||
fixup_trx_crc 0x50484c32
|
||||
;;
|
||||
buffalo,wsr-2533dhpls)
|
||||
fixup_trx_crc 0x44484C53
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,15 @@
|
||||
set_netdev_labels() {
|
||||
local dir
|
||||
local label
|
||||
local netdev
|
||||
|
||||
for dir in /sys/class/net/*; do
|
||||
[ -r "$dir/of_node/label" ] || continue
|
||||
read -r label < "$dir/of_node/label"
|
||||
netdev="${dir##*/}"
|
||||
[ "$netdev" = "$label" ] && continue
|
||||
ip link set "$netdev" name "$label"
|
||||
done
|
||||
}
|
||||
|
||||
boot_hook_add preinit_main set_netdev_labels
|
||||
112
target/linux/ramips/mt7621/base-files/lib/upgrade/buffalo.sh
Normal file
112
target/linux/ramips/mt7621/base-files/lib/upgrade/buffalo.sh
Normal file
@@ -0,0 +1,112 @@
|
||||
# The mtd partitions "firmware" and "Kernel2" on NAND flash are os-image
|
||||
# partitions. These partitions are called as "Image1/Image2" in U-Boot
|
||||
# on WSR-2533DHPLx devices, and they are checked conditions when booting.
|
||||
# "Image1" is always used for booting.
|
||||
#
|
||||
# == U-Boot Behaviors ==
|
||||
#
|
||||
# - "Image1"/"Image2" images are good, images are different or
|
||||
# "Image2" image is broken
|
||||
# -> copy os-image to "Image2" from "Image1"
|
||||
#
|
||||
# - "Image1" image is broken
|
||||
# -> copy os-image to "Image1" from "Image2"
|
||||
#
|
||||
# - "Image1"/"Image2" images are broken
|
||||
# -> fall to U-Boot command line
|
||||
|
||||
# TRX magic numbers of each model
|
||||
case "$(board_name)" in
|
||||
buffalo,wsr-2533dhpl2)
|
||||
BUFFALO_TRX_MAGIC="50484c32" # "PHL2"
|
||||
;;
|
||||
buffalo,wsr-2533dhpls)
|
||||
BUFFALO_TRX_MAGIC="44484c53" # "DHLS"
|
||||
;;
|
||||
esac
|
||||
|
||||
buffalo_check_image() {
|
||||
local board="$1"
|
||||
local boardname="$(echo $board | tr ',' '_')"
|
||||
local magic="$2"
|
||||
local fw_image="$3"
|
||||
|
||||
# return error state if TRX + UBI formatted image specified
|
||||
# to notify about configurations
|
||||
if [ "$magic" = "$BUFFALO_TRX_MAGIC" ]; then
|
||||
echo "Your configurations won't be saved if factory-uboot.bin image specified."
|
||||
echo "But if you want to upgrade, please execute sysupgrade with \"-F\" option."
|
||||
return 1
|
||||
fi
|
||||
|
||||
# check if valid tar file specifed
|
||||
if ! tar tf "$fw_image" &>/dev/null; then
|
||||
echo "Specified file is not a tar archive: $fw_image"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local control_len=$( (tar xf $fw_image sysupgrade-$boardname/CONTROL -O | wc -c) 2> /dev/null)
|
||||
|
||||
# check if valid sysupgrade tar archive
|
||||
if [ "$control_len" = "0" ]; then
|
||||
echo "Invalid sysupgrade file: $fw_image"
|
||||
return 1
|
||||
fi
|
||||
|
||||
local kern_part_len=$(grep "\"linux\"" /proc/mtd | sed "s/mtd[0-9]*:[ \t]*\([^ \t]*\).*/\1/")
|
||||
[ -z "$kern_part_len" ] && {
|
||||
echo "Unable to get \"linux\" partition size"
|
||||
return 1
|
||||
}
|
||||
kern_part_len=$((0x$kern_part_len))
|
||||
|
||||
# this also checks if the sysupgrade image is for correct models
|
||||
local kern_bin_len=$( (tar xf $fw_image sysupgrade-${boardname}/kernel -O | wc -c) 2> /dev/null)
|
||||
if [ -z "$kern_bin_len" ]; then
|
||||
echo "Failed to get new kernel size, is valid sysupgrade image specified for the device?"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# kernel binary has a trx header (len: 28 (0x1c))
|
||||
kern_bin_len=$((kern_bin_len - 28))
|
||||
|
||||
if [ "$kern_bin_len" != "$kern_part_len" ]; then
|
||||
echo -n "The length of new kernel is invalid for current "
|
||||
echo "\"linux\" partition, please use factory-uboot.bin image."
|
||||
echo "\"linux\" partition: $kern_part_len, new kernel: $kern_bin_len"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# for TRX + UBI formatted image
|
||||
buffalo_upgrade_ubinized() {
|
||||
sync
|
||||
echo 3 > /proc/sys/vm/drop_caches
|
||||
|
||||
local mtdnum="$( find_mtd_index "ubi" )"
|
||||
# if no "ubi", don't return error for the purpose of recovery
|
||||
# ex: recovery after accidental erasing "firmware" partition
|
||||
if [ ! "$mtdnum" ]; then
|
||||
echo "cannot find ubi mtd partition \"ubi\", skip detachment"
|
||||
else
|
||||
ubidetach -m "$mtdnum"
|
||||
fi
|
||||
|
||||
# erase all data in "firmware"
|
||||
mtd erase "${PART_NAME}"
|
||||
# write TRX + UBI formatted image to "firmware"
|
||||
get_image "$1" | mtd $MTD_ARGS write - "${PART_NAME:-firmware}"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to write the specified image."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
buffalo_do_upgrade() {
|
||||
if [ "$(get_magic_long "$1")" = "$BUFFALO_TRX_MAGIC" ]; then
|
||||
buffalo_upgrade_ubinized "$1"
|
||||
else
|
||||
CI_KERNPART="firmware"
|
||||
nand_do_upgrade "$1"
|
||||
fi
|
||||
}
|
||||
88
target/linux/ramips/mt7621/base-files/lib/upgrade/iodata.sh
Normal file
88
target/linux/ramips/mt7621/base-files/lib/upgrade/iodata.sh
Normal file
@@ -0,0 +1,88 @@
|
||||
#
|
||||
# Copyright (C) 2019 OpenWrt.org
|
||||
#
|
||||
|
||||
. /lib/functions.sh
|
||||
|
||||
iodata_mstc_prepare_fail() {
|
||||
echo "failed to check and prepare the environment, rebooting..."
|
||||
umount -a
|
||||
reboot -f
|
||||
}
|
||||
|
||||
# read/write 1byte in mtd device
|
||||
#
|
||||
# parameters:
|
||||
# $1: target mtd device ("/dev/mtdblockN")
|
||||
# $2: offset of target value (decimal or hex)
|
||||
# $3: value to set (decimal or hex, don't set when reading)
|
||||
iodata_mstc_rw_byte() {
|
||||
local mtd="$1"
|
||||
local offset="$2"
|
||||
local setval="$3"
|
||||
local _val=$(hexdump -s $offset -n 1 -e '"%d"' $mtd)
|
||||
|
||||
if [ -z "$setval" ]; then
|
||||
echo $_val
|
||||
return 0
|
||||
fi
|
||||
|
||||
# decimal or hex -> decimal
|
||||
setval=$((setval))
|
||||
[ "$_val" = "$setval" ] && return 0
|
||||
setval="$(printf '%02x' $setval)"
|
||||
|
||||
if ! (printf "\x$setval" | dd bs=1 seek=$((offset)) conv=notrunc of=$mtd 2>/dev/null); then
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# set flag in mtd device on I-O DATA devices manufactured by MSTC
|
||||
# (MitraStar Technology Corp.)
|
||||
#
|
||||
# parameters:
|
||||
# $1: parameter name
|
||||
# $2: mtd name contains target flag
|
||||
# $3: offset of flag
|
||||
# $4: valid flag values ("n,n,...", ex:"0,1" or "1,2")
|
||||
# $5: value to set to the flag
|
||||
iodata_mstc_set_flag() {
|
||||
local name="$1"
|
||||
local mtddev="$(find_mtd_part $2)"
|
||||
local offset="$3"
|
||||
local valid="$4"
|
||||
local setval="$5"
|
||||
|
||||
if [ -z "$offset" ]; then
|
||||
echo "no $name flag offset provided"
|
||||
iodata_mstc_prepare_fail
|
||||
fi
|
||||
|
||||
if [ -z "$mtddev" ]; then
|
||||
echo "cannot find \"$2\" mtd partition"
|
||||
iodata_mstc_prepare_fail
|
||||
fi
|
||||
|
||||
local flag=$(iodata_mstc_rw_byte "$mtddev" "$offset")
|
||||
local _tmp
|
||||
for i in ${valid//,/ }; do
|
||||
if [ "$flag" = "$((i))" ]; then
|
||||
_tmp=$flag
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -z "$_tmp" ]; then
|
||||
echo "failed to get valid $name flag, please check the value at $offset in $mtddev"
|
||||
iodata_mstc_prepare_fail
|
||||
fi
|
||||
echo "current: $name => $flag"
|
||||
|
||||
if [ "$flag" != "$((setval))" ]; then
|
||||
if ! iodata_mstc_rw_byte "$mtddev" "$offset" "$setval"; then
|
||||
echo "failed to set \"$name\" flag"
|
||||
iodata_mstc_prepare_fail
|
||||
fi
|
||||
echo " --> set \"$name\" flag to $setval (valid: $valid)"
|
||||
fi
|
||||
}
|
||||
212
target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
Executable file
212
target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
Executable file
@@ -0,0 +1,212 @@
|
||||
#
|
||||
# Copyright (C) 2010 OpenWrt.org
|
||||
#
|
||||
|
||||
PART_NAME=firmware
|
||||
REQUIRE_IMAGE_METADATA=1
|
||||
|
||||
RAMFS_COPY_BIN='fw_printenv fw_setenv'
|
||||
RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
|
||||
|
||||
platform_check_image() {
|
||||
local board=$(board_name)
|
||||
local magic="$(get_magic_long "$1")"
|
||||
|
||||
[ "$#" -gt 1 ] && return 1
|
||||
|
||||
case "$board" in
|
||||
buffalo,wsr-2533dhpl2|\
|
||||
buffalo,wsr-2533dhpls)
|
||||
buffalo_check_image "$board" "$magic" "$1" || return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
platform_do_upgrade() {
|
||||
local board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
alfa-network,quad-e4g)
|
||||
[ "$(fw_printenv -n dual_image 2>/dev/null)" = "1" ] &&\
|
||||
[ -n "$(find_mtd_part backup)" ] && {
|
||||
PART_NAME=backup
|
||||
if [ "$(fw_printenv -n bootactive 2>/dev/null)" = "1" ]; then
|
||||
fw_setenv bootactive 2 || exit 1
|
||||
else
|
||||
fw_setenv bootactive 1 || exit 1
|
||||
fi
|
||||
}
|
||||
;;
|
||||
ampedwireless,ally-00x19k|\
|
||||
ampedwireless,ally-r1900k)
|
||||
if [ "$(fw_printenv --lock / -n bootImage 2>/dev/null)" != "0" ]; then
|
||||
fw_setenv --lock / bootImage 0 || exit 1
|
||||
fi
|
||||
;;
|
||||
iptime,ax2004m)
|
||||
if [ "$(fw_printenv -n boot_from 2>/dev/null)" != "firmware1" ]; then
|
||||
fw_setenv boot_from firmware1 || exit 1
|
||||
fi
|
||||
;;
|
||||
mikrotik,ltap-2hnd|\
|
||||
mikrotik,routerboard-750gr3|\
|
||||
mikrotik,routerboard-760igs|\
|
||||
mikrotik,routerboard-m11g|\
|
||||
mikrotik,routerboard-m33g)
|
||||
[ "$(rootfs_type)" = "tmpfs" ] && mtd erase firmware
|
||||
;;
|
||||
asus,rt-ac65p|\
|
||||
asus,rt-ac85p)
|
||||
echo "Backing up firmware"
|
||||
dd if=/dev/mtd4 bs=1024 count=4096 > /tmp/backup_firmware.bin
|
||||
dd if=/dev/mtd5 bs=1024 count=52224 >> /tmp/backup_firmware.bin
|
||||
mtd -e firmware2 write /tmp/backup_firmware.bin firmware2
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$board" in
|
||||
ampedwireless,ally-00x19k|\
|
||||
ampedwireless,ally-r1900k|\
|
||||
arcadyan,we420223-99|\
|
||||
asus,rt-ac65p|\
|
||||
asus,rt-ac85p|\
|
||||
asus,rt-ax53u|\
|
||||
asus,rt-ax54|\
|
||||
beeline,smartbox-flash|\
|
||||
beeline,smartbox-giga|\
|
||||
beeline,smartbox-pro|\
|
||||
beeline,smartbox-turbo|\
|
||||
beeline,smartbox-turbo-plus|\
|
||||
belkin,rt1800|\
|
||||
dlink,covr-x1860-a1|\
|
||||
dlink,dap-x1860-a1|\
|
||||
dlink,dir-1960-a1|\
|
||||
dlink,dir-2055-a1|\
|
||||
dlink,dir-2150-a1|\
|
||||
dlink,dir-2640-a1|\
|
||||
dlink,dir-2660-a1|\
|
||||
dlink,dir-3040-a1|\
|
||||
dlink,dir-3060-a1|\
|
||||
dlink,dir-853-a3|\
|
||||
etisalat,s3|\
|
||||
h3c,tx1800-plus|\
|
||||
h3c,tx1801-plus|\
|
||||
h3c,tx1806|\
|
||||
haier,har-20s2u1|\
|
||||
hiwifi,hc5962|\
|
||||
iptime,a3004t|\
|
||||
iptime,ax2004m|\
|
||||
iptime,t5004|\
|
||||
jcg,q20|\
|
||||
keenetic,kn-3510|\
|
||||
linksys,e5600|\
|
||||
linksys,e7350|\
|
||||
linksys,ea6350-v4|\
|
||||
linksys,ea7300-v1|\
|
||||
linksys,ea7300-v2|\
|
||||
linksys,ea7500-v2|\
|
||||
linksys,ea8100-v1|\
|
||||
linksys,ea8100-v2|\
|
||||
mts,wg430223|\
|
||||
netgear,eax12|\
|
||||
netgear,r6220|\
|
||||
netgear,r6260|\
|
||||
netgear,r6350|\
|
||||
netgear,r6700-v2|\
|
||||
netgear,r6800|\
|
||||
netgear,r6850|\
|
||||
netgear,r6900-v2|\
|
||||
netgear,r7200|\
|
||||
netgear,r7450|\
|
||||
netgear,wac104|\
|
||||
netgear,wac124|\
|
||||
netgear,wax202|\
|
||||
netgear,wax214v2|\
|
||||
netis,wf2881|\
|
||||
raisecom,msg1500-x-00|\
|
||||
rostelecom,rt-fe-1a|\
|
||||
rostelecom,rt-sf-1|\
|
||||
sercomm,na502|\
|
||||
sercomm,na502s|\
|
||||
sim,simax1800t|\
|
||||
tplink,ec330-g5u-v1|\
|
||||
wifire,s1500-nbn|\
|
||||
xiaomi,mi-router-3g|\
|
||||
xiaomi,mi-router-3-pro|\
|
||||
xiaomi,mi-router-4|\
|
||||
xiaomi,mi-router-ac2100|\
|
||||
xiaomi,mi-router-cr6606|\
|
||||
xiaomi,mi-router-cr6608|\
|
||||
xiaomi,mi-router-cr6609|\
|
||||
xiaomi,redmi-router-ac2100|\
|
||||
z-router,zr-2660|\
|
||||
zyxel,nwa50ax|\
|
||||
zyxel,nwa55axe)
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
buffalo,wsr-2533dhpl2|\
|
||||
buffalo,wsr-2533dhpls)
|
||||
buffalo_do_upgrade "$1"
|
||||
;;
|
||||
elecom,wrc-x1800gs)
|
||||
[ "$(fw_printenv -n bootmenu_delay)" != "0" ] || \
|
||||
fw_setenv bootmenu_delay 3
|
||||
iodata_mstc_set_flag "bootnum" "persist" "0x4" "1,2" "1"
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
iodata,wn-ax1167gr2|\
|
||||
iodata,wn-ax2033gr|\
|
||||
iodata,wn-dx1167r|\
|
||||
iodata,wn-dx2033gr)
|
||||
iodata_mstc_set_flag "debugflag" "factory" "0xfe75" "0,1" "1"
|
||||
iodata_mstc_set_flag "bootnum" "persist" "0x4" "1,2" "1"
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
iodata,wn-deax1800gr)
|
||||
iodata_mstc_set_flag "bootnum" "working" "0x4" "0,1" "0"
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
iodata,wn-dx1200gr)
|
||||
iodata_mstc_set_flag "debugflag" "factory" "0x1fe75" "0,1" "1"
|
||||
iodata_mstc_set_flag "bootnum" "persist" "0x4" "1,2" "1"
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
tplink,er605-v2)
|
||||
echo "Upgrading tplink,er605-v2"
|
||||
CI_UBIPART="firmware"
|
||||
CI_KERNPART="kernel"
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
ubnt,edgerouter-x|\
|
||||
ubnt,edgerouter-x-sfp)
|
||||
platform_upgrade_ubnt_erx "$1"
|
||||
;;
|
||||
zyxel,lte3301-plus|\
|
||||
zyxel,lte5398-m904|\
|
||||
zyxel,nr7101)
|
||||
fw_setenv CheckBypass 0
|
||||
fw_setenv Image1Stable 0
|
||||
[ "$(fw_printenv -n BootingFlag)" = "0" ] || fw_setenv BootingFlag 0
|
||||
CI_KERNPART="Kernel"
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
zyxel,wap6805)
|
||||
local kernel2_mtd="$(find_mtd_part Kernel2)"
|
||||
[ "$(hexdump -n 4 -e '"%x"' $kernel2_mtd)" = "56190527" ] &&\
|
||||
[ "$(hexdump -n 4 -s 104 -e '"%x"' $kernel2_mtd)" != "0" ] &&\
|
||||
dd bs=4 count=1 seek=26 conv=notrunc if=/dev/zero of=$kernel2_mtd 2>/dev/null &&\
|
||||
echo "Kernel2 sequence number was reset to 0"
|
||||
CI_KERNPART="Kernel"
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
zyxel,wsm20)
|
||||
zyxel_mstc_upgrade_prepare
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
*)
|
||||
default_do_upgrade "$1"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
78
target/linux/ramips/mt7621/base-files/lib/upgrade/ubnt.sh
Normal file
78
target/linux/ramips/mt7621/base-files/lib/upgrade/ubnt.sh
Normal file
@@ -0,0 +1,78 @@
|
||||
#
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
#
|
||||
|
||||
. /lib/functions.sh
|
||||
#Note: this code also uses some functions from nand.sh, but it is expected to be run by nand.sh, so we are not
|
||||
#sourcing it explicitly here
|
||||
|
||||
UBNT_ERX_KERNEL_INDEX_OFFSET=160
|
||||
|
||||
ubnt_get_target_kernel() {
|
||||
local factory_mtd=$1
|
||||
local current_kernel_index=$(hexdump -s $UBNT_ERX_KERNEL_INDEX_OFFSET -n 1 -e '/1 "%X "' ${factory_mtd})
|
||||
|
||||
if [ $current_kernel_index == "0" ]; then
|
||||
echo 'kernel2'
|
||||
elif [ $current_kernel_index == "1" ]; then
|
||||
echo 'kernel1'
|
||||
fi
|
||||
}
|
||||
|
||||
ubnt_update_target_kernel() {
|
||||
local factory_mtd=$1
|
||||
local kernel_part=$2
|
||||
|
||||
local new_kernel_index
|
||||
if [ $kernel_part == "kernel1" ]; then
|
||||
new_kernel_index="\x00"
|
||||
elif [ $kernel_part == "kernel2" ]; then
|
||||
new_kernel_index="\x01"
|
||||
else
|
||||
echo 'Unknown kernel image index' >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! (echo -e $new_kernel_index | dd of=${factory_mtd} bs=1 count=1 seek=$UBNT_ERX_KERNEL_INDEX_OFFSET); then
|
||||
echo 'Failed to update kernel bootup index' >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
platform_upgrade_ubnt_erx() {
|
||||
local factory_mtd=$(find_mtd_part factory)
|
||||
if [ -z "$factory_mtd" ]; then
|
||||
echo "cannot find factory partition" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local kernel_part="$(ubnt_get_target_kernel ${factory_mtd})"
|
||||
if [ -z "$kernel_part" ]; then
|
||||
echo "cannot find factory partition" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# This is a global defined in nand.sh, sets partition kernel will be flashed into
|
||||
CI_KERNPART=${kernel_part}
|
||||
|
||||
#Remove volume possibly left over from stock firmware
|
||||
local ubidev="$( nand_find_ubi "$CI_UBIPART" )"
|
||||
if [ -z "$ubidev" ]; then
|
||||
local mtdnum="$( find_mtd_index "$CI_UBIPART" )"
|
||||
if [ -z "$mtdnum" ]; then
|
||||
echo "cannot find ubi mtd partition $CI_UBIPART" >&2
|
||||
exit 1
|
||||
fi
|
||||
ubiattach -m "$mtdnum"
|
||||
sync
|
||||
ubidev="$( nand_find_ubi "$CI_UBIPART" )"
|
||||
fi
|
||||
if [ -n "$ubidev" ]; then
|
||||
local troot_ubivol="$( nand_find_volume $ubidev troot )"
|
||||
[ -n "$troot_ubivol" ] && ubirmvol /dev/$ubidev -N troot || true
|
||||
fi
|
||||
|
||||
ubnt_update_target_kernel ${factory_mtd} ${kernel_part} || exit 1
|
||||
|
||||
nand_do_upgrade "$1"
|
||||
}
|
||||
39
target/linux/ramips/mt7621/base-files/lib/upgrade/zyxel.sh
Normal file
39
target/linux/ramips/mt7621/base-files/lib/upgrade/zyxel.sh
Normal file
@@ -0,0 +1,39 @@
|
||||
#
|
||||
# Copyright (C) 2023 OpenWrt.org
|
||||
#
|
||||
|
||||
. /lib/functions.sh
|
||||
|
||||
zyxel_mstc_prepare_fail() {
|
||||
echo "failed to check and prepare the environment, rebooting..."
|
||||
umount -a
|
||||
reboot -f
|
||||
}
|
||||
|
||||
zyxel_mstc_upgrade_prepare() {
|
||||
local persist_mtd="$(find_mtd_part persist)"
|
||||
local firmware_mtd="$(find_mtd_part firmware)"
|
||||
|
||||
if [ -z "$persist_mtd" ] || [ -z "$firmware_mtd" ]; then
|
||||
echo 'cannot find mtd partition(s) "persist" or "firmware"'
|
||||
zyxel_mstc_prepare_fail
|
||||
fi
|
||||
|
||||
local bootnum=$(hexdump -s 4 -n 1 -e '"%x"' ${persist_mtd})
|
||||
|
||||
if [ "$bootnum" != "1" ] && [ "$bootnum" != "2" ]; then
|
||||
echo "failed to get bootnum, please check the value at 0x4 in ${persist_mtd}"
|
||||
zyxel_mstc_prepare_fail
|
||||
fi
|
||||
echo "current: bootnum => ${bootnum}"
|
||||
|
||||
[ "$(fw_printenv -n bootmenu_delay)" = "3" ] || fw_setenv bootmenu_delay 3
|
||||
|
||||
if [ "$bootnum" = "2" ]; then
|
||||
if ! ( echo -ne "\x01" | dd of=${persist_mtd} count=1 bs=1 seek=4 conv=notrunc 2>/dev/null ); then
|
||||
echo "failed to set new boot partition"
|
||||
zyxel_mstc_prepare_fail
|
||||
fi
|
||||
echo "### switch to 1st os-image on next boot ###"
|
||||
fi
|
||||
}
|
||||
80
target/linux/ramips/mt7621/base-files/sbin/fixup-mac-address
Executable file
80
target/linux/ramips/mt7621/base-files/sbin/fixup-mac-address
Executable file
@@ -0,0 +1,80 @@
|
||||
#!/bin/sh
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/system.sh
|
||||
|
||||
partname=""
|
||||
offset=""
|
||||
NEW_MAC=
|
||||
YES=
|
||||
|
||||
board=$(board_name)
|
||||
case $board in
|
||||
mqmaker,witi)
|
||||
partname=factory
|
||||
offset=$((0xe000))
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported board"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
while [ -n "$1" ]; do
|
||||
case "$1" in
|
||||
??:??:??:??:??:??) NEW_MAC="$1";;
|
||||
-y) YES=1;;
|
||||
*)
|
||||
cat <<EOF
|
||||
Unknown option/argument '$1'
|
||||
Usage: $0 [-y] [<macaddr>]
|
||||
EOF
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
ask_bool() {
|
||||
local message="$1"
|
||||
local default="$((! ${2:-0}))"
|
||||
[ -n "$YES" ] && return 0
|
||||
echo -n "$message "
|
||||
read opt
|
||||
case "$opt" in
|
||||
y|Y) return 0;;
|
||||
n|N) return 1;;
|
||||
*) return $default;;
|
||||
esac
|
||||
}
|
||||
|
||||
convert_hex() {
|
||||
hexdump -e '/1 "%02x "'
|
||||
}
|
||||
|
||||
gen_mac() {
|
||||
dd if=/dev/urandom bs=6 count=1 2>/dev/null
|
||||
}
|
||||
|
||||
mac="$(mtd_get_mac_binary $partname $offset)"
|
||||
case "$mac" in
|
||||
00:00:00:00:00:00);;
|
||||
ff:ff:ff:ff:ff:ff);;
|
||||
*)
|
||||
echo "Current MAC address: $mac"
|
||||
ask_bool "Overwrite (y/N)?" 0 || exit
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -n "$NEW_MAC" ]; then
|
||||
set -- $(echo "$NEW_MAC" | sed 's,:, ,g')
|
||||
else
|
||||
set -- $(gen_mac | convert_hex)
|
||||
set -- $(printf %02x $(( (0x$1 & 0xfe) | 0x02 ))) $2 $3 $4 $5 $6
|
||||
fi
|
||||
echo "New MAC address: $1:$2:$3:$4:$5:$6"
|
||||
ask_bool "Write to EEPROM (y/N)?" || exit
|
||||
|
||||
part=$(find_mtd_part "$partname")
|
||||
[ -n "$part" ] || exit
|
||||
echo -ne "\x$1\x$2\x$3\x$4\x$5\x$6" | dd of=$part conv=notrunc bs=1 count=6 seek=$offset 2>/dev/null
|
||||
echo "Done"
|
||||
Reference in New Issue
Block a user