Initial commit

This commit is contained in:
domenico
2025-06-24 15:51:28 +02:00
commit 22031d9dab
6862 changed files with 1462554 additions and 0 deletions

View File

@@ -0,0 +1,554 @@
#!/bin/sh
. /lib/functions/uci-defaults.sh
set_usb_led() {
ucidef_set_led_usbdev "usb" "USB" "${1}" "${2:-1-1}"
}
set_wifi_led() {
ucidef_set_led_netdev "wifi_led" "wifi" "${1}" "${2:-wlan0}"
}
board=$(board_name)
boardname="${board##*,}"
board_config_update
case $board in
11acnas|\
all0239-3g|\
ew1200|\
hw550-3g|\
mofi3500-3gn|\
sap-g3200u3|\
sk-wb8|\
w2914nsv2|\
wf-2881)
set_usb_led "$boardname:green:usb"
;;
3g150b|\
3g300m)
set_usb_led "$boardname:blue:3g"
;;
3g-6200n)
set_wifi_led "$boardname:amber:wlan"
set_usb_led "$boardname:blue:3g"
;;
3g-6200nl|\
wnce2001)
set_wifi_led "$boardname:green:wlan"
;;
br-6475nd|\
mzk-w300nh2)
set_wifi_led "$boardname:amber:wlan"
;;
a5-v11|\
cs-qr10)
ucidef_set_led_default "power" "POWER" "$boardname:red:power" "1"
;;
ai-br100)
ucidef_set_led_netdev "wan" "wan" "$boardname:blue:wan" "eth0.2"
set_wifi_led "$boardname:blue:wlan"
;;
air3gii)
set_wifi_led "$boardname:green:wlan"
set_usb_led "$boardname:green:mobile"
;;
alfa-network,ac1200rm)
set_wifi_led "$boardname:green:wlan2g" "wlan1"
ucidef_set_led_default "wps" "wps" "$boardname:green:wps" "0"
;;
alfa-network,awusfree1)
set_wifi_led "$boardname:blue:wlan"
;;
all0256n-4M|\
all0256n-8M)
ucidef_set_rssimon "wlan0" "200000" "1"
ucidef_set_led_rssi "rssilow" "RSSILOW" "all0256n:green:rssilow" "wlan0" "1" "40" "0" "6"
ucidef_set_led_rssi "rssimedium" "RSSIMEDIUM" "all0256n:green:rssimed" "wlan0" "30" "80" "-29" "5"
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "all0256n:green:rssihigh" "wlan0" "70" "100" "-69" "8"
set_wifi_led "rt2800pci-phy0::radio"
;;
ar670w|\
ar725w|\
awapn2403)
set_wifi_led "rt2800soc-phy0::radio"
;;
asl26555-8M|\
asl26555-16M)
ucidef_set_led_default "power" "POWER" "asl26555:green:power" "1"
ucidef_set_led_netdev "eth" "ETH" "asl26555:green:eth" "eth0"
set_wifi_led "asl26555:green:wlan"
set_usb_led "asl26555:green:3g"
;;
bc2)
set_usb_led "$boardname:blue:usb"
;;
broadway)
set_usb_led "$boardname:red:diskmounted"
set_wifi_led "$boardname:red:wps_active"
;;
c108)
ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" "eth0"
ucidef_set_led_netdev "modem" "modem" "$boardname:green:modem" "wwan0"
;;
c20i)
ucidef_set_led_switch "lan" "lan" "$boardname:blue:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x01"
set_usb_led "$boardname:blue:usb" "2-1"
ucidef_set_led_wlan "wlan" "wlan" "$boardname:blue:wlan" "phy0radio"
;;
c50)
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
set_usb_led "$boardname:green:usb"
ucidef_set_led_netdev "wlan2g" "wlan2g" "$boardname:green:wlan2g" wlan1
set_wifi_led "$boardname:green:wlan5g"
;;
cf-wr800n)
ucidef_set_led_netdev "lan" "lan" "$boardname:white:ethernet" eth0.1
set_wifi_led "$boardname:white:wifi"
;;
cy-swr1100)
ucidef_set_led_default "wps" "WPS" "$boardname:blue:wps" "0"
set_usb_led "$boardname:blue:usb"
;;
d105)
ucidef_set_led_default "power" "POWER" "$boardname:red:power" "1"
set_usb_led "$boardname:green:usb"
;;
d240)
set_wifi_led "$boardname:blue:wifi"
set_usb_led "$boardname:blue:usb"
;;
db-wrt01)
ucidef_set_led_default "power" "power" "$boardname:orange:power" "1"
;;
dch-m225)
ucidef_set_led_default "power" "POWER" "$board:geeen:power" "1"
ucidef_set_led_default "status" "STATUS" "$board:red:status" "0"
;;
dcs-930l-b1)
ucidef_set_led_default "power" "POWER" "$boardname:red:power" "1"
ucidef_set_led_netdev "wifi" "WiFi" "$boardname:blue:wps"
;;
dir-300-b1|\
dir-600-b1|\
dir-620-a1)
ucidef_set_led_default "wan" "WAN LED (amber)" "$boardname:amber:wan" "1"
set_wifi_led "rt2800pci-phy0::radio"
;;
dir-300-b7|\
dir-320-b1|\
dir-610-a1|\
esr-9753|\
hlk-rm04|\
sl-r7205|\
v11st-fe|\
w306r-v20|\
wt1520-4M|\
wt1520-8M)
set_wifi_led "rt2800pci-phy0::radio"
;;
dir-615-d|\
dir-615-h1)
ucidef_set_led_default "status" "Status LED (amber)" "$boardname:amber:status" "0"
set_wifi_led "rt2800pci-phy0::radio"
;;
dir-620-d1|\
dlink,dwr-116-a1|\
mzk-ex300np)
set_wifi_led "$boardname:green:wifi"
;;
dlink,dwr-921-c1)
set_wifi_led "$boardname:green:wifi"
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x0f"
ucidef_set_led_default "sigstrength" "Signal Strength" "$boardname:green:sigstrength" "0"
;;
dir-810l|\
elecom,wrc-1167ghbk2-s|\
iodata,wn-gx300gr|\
mzk-750dhp|\
mzk-dp150n|\
vr500)
ucidef_set_led_default "power" "power" "$boardname:green:power" "1"
;;
dir-860l-b1)
ucidef_set_led_netdev "wan" "wan" "$boardname:green:net" "eth0.2"
;;
ex2700|\
wn3000rpv3)
set_wifi_led "$boardname:green:router"
;;
ex3700)
ucidef_set_led_netdev "wlan5g" "ROUTER (green)" "$boardname:green:router" "wlan0"
ucidef_set_led_netdev "wlan2g" "DEVICE (green)" "$boardname:green:device" "wlan1"
;;
f5d8235-v1)
ucidef_set_led_default "lan" "lan" "$boardname:blue:wired" "0"
set_usb_led "$boardname:blue:storage"
set_wifi_led "$boardname:blue:wireless"
;;
f5d8235-v2)
set_usb_led "$boardname:blue:storage"
;;
fonera20n)
set_usb_led "$boardname:orange:usb"
set_wifi_led "$boardname:orange:wifi"
;;
gnubee,gb-pc1|\
gnubee,gb-pc2)
ucidef_set_led_switch "lan1" "lan1" "$boardname:green:lan1" "switch0" "0x01"
ucidef_set_led_switch "lan2" "lan2" "$boardname:green:lan2" "switch0" "0x10"
;;
gl-mt300a|\
gl-mt300n|\
gl-mt750)
set_wifi_led "$boardname:wlan"
;;
gl-mt300n-v2)
set_wifi_led "$boardname:red:wlan"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x1"
;;
hc5661|\
hc5661a)
ucidef_set_led_default "system" "system" "$boardname:blue:system" "1"
ucidef_set_led_netdev "internet" "internet" "$boardname:blue:internet" "eth0.2"
set_wifi_led "$boardname:blue:wlan2g"
;;
hc5761)
ucidef_set_led_default "system" "system" "$boardname:blue:system" "1"
ucidef_set_led_netdev "internet" "internet" "$boardname:blue:internet" "eth0.2"
set_wifi_led "$boardname:blue:wlan2g"
ucidef_set_led_netdev "wifi5g" "wifi5g" "$boardname:blue:wlan5g" "rai0"
;;
hc5861)
ucidef_set_led_default "system" "system" "$boardname:blue:system" "1"
ucidef_set_led_netdev "internet" "internet" "$boardname:blue:internet" "eth0.2"
set_wifi_led "$boardname:blue:wlan2g"
ucidef_set_led_netdev "wifi5g" "wifi5g" "$boardname:blue:wlan5g" "rai0"
ucidef_set_led_default "turbo" "turbo" "$boardname:blue:turbo" "0"
;;
hg255d)
set_wifi_led "$boardname:green:wlan"
set_usb_led "$boardname:green:usb"
ucidef_set_led_netdev "internet" "internet" "$boardname:green:internet" "eth0.2"
;;
hpm)
ucidef_set_led_default "power" "POWER" "$boardname:orange:power" "1"
ucidef_set_led_netdev "eth" "ETH" "$boardname:green:eth" "eth0"
set_wifi_led "$boardname:green:wifi"
;;
ht-tm02)
ucidef_set_led_netdev "eth" "Ethernet" "$boardname:green:lan" "eth0"
set_wifi_led "$boardname:blue:wlan"
;;
kn|\
nbg-419n2)
set_usb_led "$boardname:green:usb"
set_wifi_led "rt2800pci-phy0::radio"
;;
kn_rc|\
kn_rf|\
kng_rc)
set_usb_led "$boardname:green:usb"
set_wifi_led "$boardname:green:wifi"
;;
linkits7688)
ucidef_set_led_wlan "wifi" "wifi" "linkit-smart-7688:orange:wifi" "phy0tpt"
;;
m2m)
set_wifi_led "$boardname:blue:wifi"
ucidef_set_led_netdev "eth" "Ethernet" "$boardname:green:wan" "eth0"
;;
miniembplug)
set_wifi_led "$boardname:red:wlan"
set_usb_led "$boardname:green:mobile"
;;
mir3g)
ucidef_set_led_switch "wan-amber" "WAN (amber)" "$boardname:amber:wan" "switch0" "0x02" "0x08"
ucidef_set_led_switch "lan1-amber" "LAN1 (amber)" "$boardname:amber:lan1" "switch0" "0x08" "0x08"
ucidef_set_led_switch "lan2-amber" "LAN2 (amber)" "$boardname:amber:lan2" "switch0" "0x04" "0x08"
;;
miwifi-mini)
ucidef_set_led_default "power" "power" "$boardname:red:status" "1"
;;
mlw221|\
mlwg2)
set_wifi_led "$boardname:blue:wifi"
ucidef_set_led_default "system" "system" "$boardname:blue:system" "1"
;;
mpr-a1|\
mpr-a2)
set_wifi_led "$boardname:blue:system"
;;
mr-102n)
set_wifi_led "$boardname:green:wlan"
set_usb_led "$boardname:green:usb"
;;
mr200)
ucidef_set_led_default "power" "power" "$boardname:white:power" "1"
ucidef_set_led_netdev "lan" "lan" "$boardname:white:lan" "eth0.1"
ucidef_set_led_netdev "wan" "wan" "$boardname:white:wan" "usb0"
set_wifi_led "$boardname:white:wlan"
;;
mzk-ex750np)
ucidef_set_led_default "power" "power" "$boardname:red:power" "1"
set_wifi_led "$boardname:red:wifi"
;;
na930)
set_usb_led "$boardname:blue:status"
;;
newifi-d1)
set_usb_led "$boardname:red:status"
;;
nw718)
set_usb_led "$boardname:amber:usb"
;;
oy-0001)
ucidef_set_led_default "power" "power" "$boardname:green:power" "1"
set_wifi_led "$boardname:green:wifi"
;;
pbr-d1)
set_usb_led "$boardname:orange:usb"
;;
pbr-m1)
ucidef_set_led_netdev "internet" "internet" "$boardname:blue:internet" "eth0.2"
ucidef_set_led_default "power" "power" "$boardname:blue:power" "1"
ucidef_set_led_default "sys" "sys" "$boardname:blue:sys" "1"
;;
d-team,newifi-d2)
set_usb_led "$boardname:blue:usb"
ucidef_set_led_switch "internet" "internet" "$boardname:amber:internet" "switch0" "0x10"
ucidef_set_led_netdev "wlan2g" "WiFi 2.4GHz" "$boardname:blue:wlan2g" "wlan0"
ucidef_set_led_netdev "wlan5g" "WiFi 5GHz" "$boardname:blue:wlan5g" "wlan1"
;;
psg1208)
set_wifi_led "$boardname:white:wlan2g"
;;
psg1218a|\
psg1218b)
ucidef_set_led_netdev "Network" "Network" "$boardname:blue:status" "eth0"
ucidef_set_led_default "status" "STATUS" "$boardname:yellow:status" "0"
;;
px-4885-4M|\
px-4885-8M)
set_wifi_led "px-4885:orange:wifi"
set_usb_led "px-4885:blue:storage"
;;
r6220)
ucidef_set_led_netdev "wan" "wan" "$boardname:green:wan" eth0.2
set_wifi_led "$boardname:green:wifi"
set_usb_led "$boardname:green:usb"
;;
re350-v1)
ucidef_set_led_netdev "wifi2g" "Wifi 2.4G" "$boardname:blue:wifi2G" "wlan0"
ucidef_set_led_netdev "wifi5g" "Wifi 5G" "$boardname:blue:wifi5G" "wlan1"
ucidef_set_led_netdev "eth_act" "LAN act" "$boardname:green:eth_act" "eth0" "tx rx"
ucidef_set_led_switch "eth_link" "LAN link" "$boardname:green:eth_link" "switch0" "0x01"
;;
re6500)
ucidef_set_led_default "power" "power" "$boardname:white:power" "1"
ucidef_set_led_default "wifi" "wifi" "$boardname:orange:wifi" "1"
;;
rp-n53)
ucidef_set_led_netdev "eth" "Network" "$boardname:white:back" "eth0"
set_wifi_led "$boardname:blue:wifi"
;;
rt-ac51u)
set_wifi_led "$boardname:blue:wifi"
set_usb_led "$boardname:blue:usb" "1-1"
;;
rt-n12p)
ucidef_set_led_default "power" "power" "$board:green:power" "1"
ucidef_set_led_netdev "lan" "lan" "$board:green:lan" eth0.1
ucidef_set_led_netdev "wan" "wan" "$board:green:wan" eth0.2
set_wifi_led "$board:green:air"
;;
rt-n14u)
ucidef_set_led_default "power" "power" "$boardname:blue:power" "1"
ucidef_set_led_netdev "lan" "lan" "$boardname:blue:lan" eth0.1
ucidef_set_led_netdev "wan" "wan" "$boardname:blue:wan" eth0.2
set_wifi_led "$boardname:blue:air"
set_usb_led "$boardname:blue:usb"
;;
tama,w06)
ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth0"
ucidef_set_led_wlan "wlan" "WLAN" "$boardname:green:wlan" "phy0tpt"
;;
tew-714tru)
set_usb_led "$boardname:red:usb"
set_wifi_led "$boardname:green:wifi"
;;
tiny-ac)
set_wifi_led "$boardname:orange:wifi"
set_usb_led "$boardname:green:usb"
;;
tl-wr840n-v4)
ucidef_set_led_wlan "wlan2g" "wlan2g" "$boardname:green:wlan" "phy0tpt"
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
;;
tl-wr841n-v13)
ucidef_set_led_wlan "wlan2g" "wlan2g" "$boardname:green:wlan" "phy0tpt"
ucidef_set_led_switch "lan1" "lan1" "$boardname:green:lan1" "switch0" "0x2"
ucidef_set_led_switch "lan2" "lan2" "$boardname:green:lan2" "switch0" "0x4"
ucidef_set_led_switch "lan3" "lan3" "$boardname:green:lan3" "switch0" "0x8"
ucidef_set_led_switch "lan4" "lan4" "$boardname:green:lan4" "switch0" "0x10"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
;;
tplink,c20-v1)
ucidef_set_led_switch "lan" "lan" "$boardname:blue:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x01"
set_usb_led "$boardname:blue:usb"
ucidef_set_led_netdev "wlan2g" "wlan2g" "$boardname:blue:wlan2g" "wlan0"
;;
tplink,c20-v4)
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
ucidef_set_led_netdev "wlan2g" "wlan2g" "$boardname:green:wlan2g" "wlan0"
;;
tplink,c50-v3)
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
ucidef_set_led_wlan "wlan2g" "wlan2g" "$boardname:green:wlan2g" "phy0tpt"
ucidef_set_led_wlan "wlan5g" "wlan5g" "$boardname:green:wlan5g" "phy1tpt"
;;
tplink,tl-mr3420-v5|\
tplink,tl-wr842n-v5)
set_usb_led "$boardname:green:usb"
ucidef_set_led_wlan "wlan2g" "wlan2g" "$boardname:green:wlan" "phy0tpt"
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
;;
tplink,tl-wr902ac-v3)
set_usb_led "$boardname:green:usb"
ucidef_set_led_wlan "wlan2g" "wlan2g" "$boardname:green:wlan" "phy0tpt"
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x10"
;;
u25awf-h1)
set_wifi_led "u25awf:red:wifi"
ucidef_set_led_netdev "eth" "eth" "u25awf:green:lan" "eth0"
;;
u7628-01-128M-16M)
ucidef_set_led_switch "lan1" "lan1" "u7628-01:green:lan1" "switch0" "0x2"
ucidef_set_led_switch "lan2" "lan2" "u7628-01:green:lan2" "switch0" "0x4"
ucidef_set_led_switch "lan3" "lan3" "u7628-01:green:lan3" "switch0" "0x8"
ucidef_set_led_switch "lan4" "lan4" "u7628-01:green:lan4" "switch0" "0x10"
ucidef_set_led_switch "wan" "wan" "u7628-01:green:wan" "switch0" "0x01"
set_usb_led "u7628-01:green:usb"
set_wifi_led "u7628-01:green:wlan"
;;
vocore-8M|\
vocore-16M)
ucidef_set_led_netdev "eth" "ETH" "vocore:orange:eth" "eth0"
set_wifi_led "vocore:green:status"
;;
vocore2)
set_wifi_led "$boardname:fuchsia:status"
;;
vocore2lite)
set_wifi_led "$boardname:green:status"
;;
w502u)
set_usb_led "$boardname:blue:usb"
set_wifi_led "rt2800pci-phy0::radio"
;;
wcr-150gn)
set_usb_led "$boardname:amber:user"
;;
we1026-5g-16m)
ucidef_set_led_netdev "lan" "LAN" "we1026-5g:green:lan" "eth0"
set_wifi_led "we1026-5g:green:wifi"
set_usb_led "we1026-5g:green:usb" "1-1.1"
;;
whr-1166d|\
whr-300hp2|\
whr-600d)
ucidef_set_led_default "power" "power" "$boardname:green:power" "1"
ucidef_set_led_default "router" "router" "$boardname:green:router" "1"
;;
wl-wn575a3)
ucidef_set_rssimon "wlan1" "200000" "1"
ucidef_set_led_rssi "wifi-low" "wifi-low" "$boardname:green:wifi-low" "wlan1" "1" "49"
ucidef_set_led_rssi "wifi-med" "wifi-med" "$boardname:green:wifi-med" "wlan1" "50" "84"
ucidef_set_led_rssi "wifi-high" "wifi-high" "$boardname:green:wifi-high" "wlan1" "85" "100"
;;
wrh-300cr)
set_wifi_led "$boardname:green:wlan"
ucidef_set_led_netdev "lan" "lan" "$boardname:green:ethernet" "eth0"
;;
wndr3700v5)
ucidef_set_led_default "power" "POWER" "$boardname:green:power" "0"
;;
wt3020-4M|\
wt3020-8M)
ucidef_set_led_default "power" "power" "wt3020:blue:power" "0"
;;
y1)
set_usb_led "$boardname:blue:usb"
ucidef_set_led_netdev "wifi" "WIFI" "$boardname:blue:wifi" "wlan1"
ucidef_set_led_netdev "wifi5g" "WIFI5G" "$boardname:blue:wifi5g" "wlan0"
ucidef_set_led_switch "lan" "LAN" "$boardname:blue:lan" "switch0" "0x03"
;;
y1s)
set_usb_led "$boardname:blue:usb"
ucidef_set_led_netdev "wifi" "WIFI" "$boardname:yellow:wifi" "wlan1"
ucidef_set_led_netdev "wifi5g" "WIFI5G" "$boardname:blue:wifi" "wlan0"
ucidef_set_led_netdev "wan" "WAN" "$boardname:blue:internet" "eth0.2" "tx rx"
;;
youhua,wr1200js)
ucidef_set_led_switch "internet" "INTERNET" "$boardname:green:wan" "switch0" "0x01"
ucidef_set_led_usbdev "usb" "USB" "$boardname:blue:usb" "1-2"
ucidef_set_led_default "wps" "wps" "$boardname:blue:wps" "0"
;;
zbt-ape522ii)
ucidef_set_led_netdev "wlan2g4" "wlan1-link" "$boardname:green:wlan2g4" "wlan1"
ucidef_set_led_netdev "sys1" "wlan1" "$boardname:green:sys1" "wlan1" "tx rx"
ucidef_set_led_netdev "sys2" "wlan0" "$boardname:green:sys2" "wlan0" "tx rx"
;;
zbt-cpe102)
ucidef_set_led_default "power" "power" "$boardname:green:4g-0" "0"
;;
zbt-wa05)
ucidef_set_led_default "power" "power" "$boardname:blue:power" "1"
set_wifi_led "$boardname:blue:air"
set_usb_led "$boardname:blue:usb"
;;
zbt-we2026)
set_wifi_led "$boardname:green:wlan"
;;
zbt-we826-16M|\
zbt-we826-32M)
set_wifi_led "zbt-we826:green:wifi"
set_usb_led "zbt-we826:green:usb"
;;
zbtlink,zbt-we1226)
set_wifi_led "$boardname:green:wlan"
ucidef_set_led_switch "lan1" "LAN1" "$boardname:green:lan1" "switch0" "0x01"
ucidef_set_led_switch "lan2" "LAN2" "$boardname:green:lan2" "switch0" "0x02"
ucidef_set_led_switch "wan" "WAN" "$boardname:green:wan" "switch0" "0x10"
;;
zbt-wr8305rt)
ucidef_set_led_default "power" "power" "$boardname:green:sys" "1"
set_usb_led "$boardname:green:usb"
set_wifi_led "$boardname:green:wifi"
;;
zorlik,zl5900v2)
ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" eth0
;;
zte-q7)
set_wifi_led "$boardname:blue:status"
;;
youku-yk1)
set_wifi_led "$boardname:blue:air"
set_usb_led "$boardname:blue:usb"
ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x10"
;;
esac
board_config_flush
exit 0

View File

@@ -0,0 +1,591 @@
#!/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
11acnas|\
dir-615-h1|\
w2914nsv2|\
zbt-we2026)
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-4M|\
all0256n-8M|\
all5002|\
all5003|\
bocco|\
broadway|\
dcs-930|\
dcs-930l-b1|\
ht-tm02|\
linkits7688 | \
m2m|\
microwrt|\
mpr-a2|\
ncs601w|\
omega2 | \
omega2p | \
timecloud|\
w150m|\
widora,neo-16m|\
widora,neo-32m|\
wnce2001|\
zbt-cpe102|\
zorlik,zl5900v2|\
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|\
ai-br100|\
alfa-network,ac1200rm|\
mediatek,ap-mt7621a-v60|\
d240|\
db-wrt01|\
dir-300-b7|\
dir-320-b1|\
dir-610-a1|\
dir-810l|\
dlink,dwr-116-a1|\
dlink,dwr-921-c1|\
ew1200|\
firewrt|\
hc5661a|\
hlk-rm04|\
k2p|\
kn|\
kn_rc|\
mac1200rv2|\
miwifi-mini|\
miwifi-nano|\
mt7621|\
mt7628|\
mzk-750dhp|\
mzk-w300nh2|\
d-team,newifi-d2|\
nixcore-x1-8M|\
nixcore-x1-16M|\
oy-0001|\
pbr-m1|\
psg1208|\
psg1218a|\
r6220|\
rt-n12p|\
sap-g3200u3|\
sk-wb8|\
u7621-06-256M-16M|\
vr500|\
wf-2881|\
whr-g300n|\
mqmaker,witi-256m|\
mqmaker,witi-512m|\
wl-wn575a3|\
wndr3700v5|\
youku-yk1|\
zbt-ape522ii|\
zbt-we1326|\
zbtlink,zbt-we3526|\
zbt-we826-16M|\
zbt-we826-32M|\
zbt-wg2626|\
zbt-wg3526-16M|\
zbt-wg3526-32M|\
zbt-wr8305rt)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
;;
alfa-network,awusfree1|\
cs-qr10|\
d105|\
dlink,dap-1522-a1|\
dch-m225|\
ex2700|\
ex3700|\
hpm|\
mzk-ex300np|\
mzk-ex750np|\
na930|\
pbr-d1|\
ravpower,wd03|\
tama,w06|\
u25awf-h1|\
wli-tx4-ag300n|\
wmdr-143n|\
wmr-300|\
wn3000rpv3|\
wrh-300cr)
ucidef_set_interface_lan "eth0"
;;
mir3g)
ucidef_add_switch "switch0" \
"2:lan:2" "3:lan:1" "1:wan" "6t@eth0"
;;
psg1218b)
ucidef_add_switch "switch0" \
"0:lan:3" "1:lan:2" "2:lan:1" "3: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-ac51u)
ucidef_add_switch "switch0" \
"0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
;;
rt-n15|\
wl-351)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
;;
asl26555-8M|\
asl26555-16M|\
rp-n53)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
;;
atp-52b|\
awm002-evb-4M|\
awm002-evb-8M|\
dir-645|\
f5d8235-v2|\
gl-mt300a|\
gl-mt300n|\
gl-mt750|\
hg255d|\
jhr-n805r|\
jhr-n825r|\
jhr-n926r|\
mzk-wdpr|\
rb750gr3|\
rt-n14u|\
tplink,c20-v4|\
tplink,c50-v3|\
tplink,tl-mr3420-v5|\
tplink,tl-wr842n-v5|\
tl-wr840n-v4|\
tl-wr840n-v5|\
tl-wr841n-v13|\
u7628-01-128M-16M|\
ubnt-erx|\
ubnt-erx-sfp|\
ur-326n4g|\
wrtnode|\
wrtnode2p | \
wrtnode2r | \
youhua,wr1200js|\
zbt-wa05)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
;;
mikrotik,rbm33g)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "0:wan" "6@eth0"
;;
c20i|\
c50|\
tplink,c20-v1)
ucidef_add_switch "switch0" \
"1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
;;
dir-860l-b1|\
elecom,wrc-1167ghbk2-s|\
iodata,wn-gx300gr)
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
;;
gnubee,gb-pc1|\
gnubee,gb-pc2)
ucidef_add_switch "switch0" \
"0:lan" "4:lan" "6@eth0"
;;
gl-mt300n-v2)
ucidef_add_switch "switch0" \
"1: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"
;;
c108|\
cf-wr800n)
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"
;;
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"
;;
hc5962)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
;;
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-8M|\
vocore-16M)
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"
;;
phicomm,k2g)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5:wan" "6@eth0"
;;
re350-v1)
ucidef_add_switch "switch0" \
"0:lan" "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-638apb-v2)
ucidef_add_switch "switch0" \
"4:lan" "6@eth0"
;;
tew-691gr|\
tew-692gr|\
wlr-6000)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
;;
tplink,tl-wr902ac-v3)
ucidef_add_switch "switch0" \
"4:lan" "6@eth0"
;;
vonets,var11n-300|\
wt1520-4M|\
wt1520-8M)
ucidef_add_switch "switch0" \
"0:lan" "4:wan" "6@eth0"
;;
vocore2|\
vocore2lite)
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-1166ds)
ucidef_add_switch "switch0" \
"3:lan" "4:wan" "6@eth0"
;;
wcr-150gn|\
we1026-5g-16m)
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" \
"0:lan" "1:lan" "2:wan" "6@eth0"
;;
wt3020-4M|\
wt3020-8M)
ucidef_add_switch "switch0" \
"4:lan" "0:wan" "6@eth0"
;;
zbtlink,zbt-we1226|\
y1)
ucidef_add_switch "switch0" \
"0:lan:2" "1:lan:1" "4: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|\
wmdr-143n)
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|\
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|\
dir-645)
lan_mac=$(mtd_get_mac_ascii nvram lanmac)
wan_mac=$(mtd_get_mac_ascii nvram wanmac)
;;
dch-m225)
lan_mac=$(mtd_get_mac_ascii factory lanmac)
;;
dir-860l-b1)
lan_mac=$(mtd_get_mac_ascii factory lanmac)
wan_mac=$(mtd_get_mac_ascii factory wanmac)
;;
dlink,dwr-116-a1|\
dlink,dwr-921-c1)
wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
lan_mac=$(macaddr_add "$wan_mac" 1)
;;
e1700)
wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
;;
elecom,wrc-1167ghbk2-s|\
sk-wb8)
wan_mac=$(mtd_get_mac_binary factory 57350)
;;
gl-mt300n-v2|\
whr-g300n)
wan_mac=$(mtd_get_mac_binary factory 4)
;;
hc5*61|\
hc5661a|\
hc5962)
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)
;;
iodata,wn-gx300gr)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary Factory 4)" 1)
;;
kn_rc|\
kn_rf|\
kng_rc)
wan_mac=$(mtd_get_mac_binary factory 40)
;;
linkits7688)
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)
;;
mir3g)
lan_mac=$(mtd_get_mac_binary Factory 0xe006)
;;
miwifi-mini)
wan_mac=$(cat /sys/class/net/eth0/address)
lan_mac=$(macaddr_setbit_la "$wan_mac")
;;
m3|\
m4-4M|\
m4-8M|\
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|\
phicomm,k2g)
lan_mac=$(mtd_get_mac_binary factory 40)
wan_mac=$(mtd_get_mac_binary factory 46)
;;
r6220)
wan_mac=$(mtd_get_mac_binary factory 4)
lan_mac=$(macaddr_add "$wan_mac" 1)
;;
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)
;;
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-1166ds|\
wsr-1166)
local index="$(find_mtd_index "board_data")"
wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
lan_mac=$wan_mac
;;
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)
;;
*)
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=$(board_name)
ramips_setup_interfaces $board
ramips_setup_macs $board
board_config_flush
exit 0

View File

@@ -0,0 +1,24 @@
#!/bin/sh
. /lib/functions/uci-defaults.sh
board_config_update
board=$(board_name)
case "$board" in
ubnt-erx)
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "0"
;;
ubnt-erx-sfp)
ucidef_add_gpio_switch "poe_power_port0" "PoE Power Port0" "496"
ucidef_add_gpio_switch "poe_power_port1" "PoE Power Port1" "497"
ucidef_add_gpio_switch "poe_power_port2" "PoE Power Port2" "498"
ucidef_add_gpio_switch "poe_power_port3" "PoE Power Port3" "499"
ucidef_add_gpio_switch "poe_power_port4" "PoE Power Port4" "500"
;;
esac
board_config_flush
exit 0

View File

@@ -0,0 +1,367 @@
#!/bin/sh
# Copyright (C) 2010-2013 OpenWrt.org
. /lib/functions.sh
. /lib/functions/leds.sh
get_status_led() {
board=$(board_name)
boardname="${board##*,}"
case $board in
3g150b|\
3g300m|\
w150m)
status_led="$boardname:blue:ap"
;;
3g-6200n|\
ar670w|\
ar725w|\
br-6475nd|\
c50|\
dch-m225|\
dir-860l-b1|\
e1700|\
elecom,wrc-1167ghbk2-s|\
ex2700|\
ex3700|\
fonera20n|\
firewrt|\
hg255d|\
iodata,wn-gx300gr|\
kn|\
kn_rc|\
kn_rf|\
kng_rc|\
mzk-750dhp|\
mzk-dp150n|\
mzk-w300nh2|\
nbg-419n|\
nbg-419n2|\
pwh2004|\
r6220|\
tplink,c20-v4|\
tplink,c50-v3|\
tplink,tl-mr3420-v5|\
tplink,tl-wr842n-v5|\
tplink,tl-wr902ac-v3|\
tl-wr840n-v4|\
tl-wr840n-v5|\
tl-wr841n-v13|\
vr500|\
wnce2001|\
wndr3700v5|\
x5|\
x8|\
xdxrn502j|\
wn3000rpv3)
status_led="$boardname:green:power"
;;
3g-6200nl)
status_led="$boardname:green:internet"
;;
a5-v11|\
cs-qr10|\
d105|\
dcs-930l-b1|\
hlk-rm04|\
jhr-n825r|\
mpr-a1|\
mpr-a2|\
mzk-ex750np)
status_led="$boardname:red:power"
;;
ai-br100|\
ht-tm02)
status_led="$boardname:blue:wlan"
;;
alfa-network,ac1200rm|\
awapn2403|\
dir-645|\
sk-wb8|\
wrh-300cr)
status_led="$boardname:green:wps"
;;
alfa-network,awusfree1)
status_led="$boardname:orange:system"
;;
all0239-3g|\
dcs-930|\
dir-300-b1|\
dir-300-b7|\
dir-320-b1|\
dir-600-b1|\
dir-610-a1|\
dir-615-d|\
dir-615-h1|\
dir-620-a1|\
dir-620-d1|\
dwr-512-b|\
dlink,dwr-116-a1|\
gnubee,gb-pc1|\
gnubee,gb-pc2|\
hpm|\
hw550-3g|\
mac1200rv2|\
miniembwifi|\
mofi3500-3gn|\
rut5xx|\
v11st-fe|\
wmr-300|\
zbt-wg2626)
status_led="$boardname:green:status"
;;
dlink,dwr-921-c1)
status_led="$boardname:green:sigstrength"
;;
asl26555-8M|\
asl26555-16M)
status_led="asl26555:green:power"
;;
atp-52b|\
ew1200|\
ip2202)
status_led="$boardname:green:run"
;;
c108)
status_led="$boardname:green:lan"
;;
cf-wr800n|\
psg1208)
status_led="$boardname:white:wps"
;;
psg1218a|\
psg1218b)
status_led="$boardname:yellow:status"
;;
cy-swr1100|\
w502u|\
youhua,wr1200js)
status_led="$boardname:blue:wps"
;;
d240|\
dap-1350|\
na930|\
d-team,newifi-d2|\
pbr-m1|\
re350-v1|\
rt-ac51u|\
rt-n13u|\
rt-n14u|\
rt-n15|\
rt-n56u|\
tplink,c20-v1|\
wl-330n|\
wl-330n3g|\
wli-tx4-ag300n|\
y1|\
y1s|\
youku-yk1|\
zorlik,zl5900v2)
status_led="$boardname:blue:power"
;;
dlink,dap-1522-a1|\
phicomm,k2g|\
k2p|\
m3|\
mir3g|\
miwifi-nano)
status_led="$boardname:blue:status"
;;
db-wrt01|\
esr-9753|\
pbr-d1)
status_led="$boardname:orange:power"
;;
f5d8235-v1)
status_led="$boardname:blue:wired"
;;
f5d8235-v2)
status_led="$boardname:blue:router"
;;
f7c027|\
timecloud)
status_led="$boardname:orange:status"
;;
hc5*61|\
hc5661a|\
jhr-n805r|\
jhr-n926r|\
mlw221|\
mlwg2|\
vonets,var11n-300)
status_led="$boardname:blue:system"
;;
hc5962)
status_led="$boardname:white:status"
;;
linkits7688)
status_led="linkit-smart-7688:orange:wifi"
;;
m2m)
status_led="$boardname:blue:wifi"
;;
gl-mt300n-v2)
status_led="$boardname:green:power"
;;
m4-4M|\
m4-8M)
status_led="m4:blue:status"
;;
mikrotik,rbm33g)
status_led="rbm33g:green:usr"
;;
miwifi-mini|\
zte-q7)
status_led="$boardname:red:status"
;;
mr-102n)
status_led="$boardname:amber:status"
;;
mr200)
status_led="$boardname:white:power"
;;
nw718)
status_led="$boardname:amber:cpu"
;;
newifi-d1)
status_led="$boardname:blue:status"
;;
omega2| \
omega2p)
status_led="$boardname:amber:system"
;;
oy-0001|\
sl-r7205)
status_led="$boardname:green:wifi"
;;
psr-680w)
status_led="$boardname:red:wan"
;;
px-4885-4M|\
px-4885-8M)
status_led="px-4885:orange:wifi"
;;
re6500|\
whr-1166d|\
whr-600d)
status_led="$boardname:orange:wifi"
;;
mzk-ex300np|\
rt-n10-plus|\
tew-638apb-v2|\
tew-691gr|\
tew-692gr|\
ur-326n4g|\
ur-336un|\
wf-2881)
status_led="$boardname:green:wps"
;;
rb750gr3)
status_led="$boardname:blue:pwr"
;;
sap-g3200u3)
status_led="$boardname:green:usb"
;;
u25awf-h1)
status_led="u25awf:red:wifi"
;;
u7621-06-256M-16M)
status_led="u7621-06:green:status"
;;
u7628-01-128M-16M)
status_led="u7628-01:green:power"
;;
v22rw-2x2)
status_led="$boardname:green:security"
;;
vocore-8M|\
vocore-16M)
status_led="vocore:green:status"
;;
vocore2)
status_led="$boardname:fuchsia:status"
;;
vocore2lite)
status_led="$boardname:green:status"
;;
w306r-v20|\
mqmaker,witi-256m|\
mqmaker,witi-512m|\
zbt-wr8305rt)
status_led="$boardname:green:sys"
;;
wcr-1166ds|\
whr-300hp2|\
wsr-1166|\
wsr-600)
status_led="$boardname:green:power"
;;
wcr-150gn|\
wl-351)
status_led="$boardname:amber:power"
;;
whr-g300n|\
wlr-6000|\
zbt-we2026)
status_led="$boardname:red:power"
;;
widora,neo-16m|\
widora,neo-32m)
status_led="widora:orange:wifi"
;;
wzr-agl300nh)
status_led="$boardname:green:router"
;;
wizfi630a)
status_led="$boardname::run"
;;
wr512-3gn-4M|\
wr512-3gn-8M)
status_led="wr512-3gn:green:wps"
;;
wrtnode2r | \
wrtnode2p | \
wrtnode)
status_led="wrtnode:blue:indicator"
;;
wt3020-4M|\
wt3020-8M)
status_led="wt3020:blue:power"
;;
zbt-cpe102)
status_led="$boardname:green:4g-0"
;;
zbt-we826-16M|\
zbt-we826-32M)
status_led="zbt-we826:green:power"
;;
zbtlink,zbt-we1226)
status_led="$boardname:green:wlan"
;;
zbt-wg3526-16M|\
zbt-wg3526-32M)
status_led="zbt-wg3526:green:status"
;;
esac
}
set_state() {
get_status_led $1
case "$1" in
preinit)
status_led_blink_preinit
;;
failsafe)
status_led_blink_failsafe
;;
upgrade | \
preinit_regular)
status_led_blink_preinit_regular
;;
done)
status_led_on
;;
esac
}

View File

@@ -0,0 +1,74 @@
#!/bin/sh
rt2x00_eeprom_die() {
echo "rt2x00 eeprom: " "$*"
exit 1
}
rt2x00_eeprom_extract() {
local part=$1
local offset=$2
local count=$3
local mtd
mtd=$(find_mtd_part $part)
[ -n "$mtd" ] || \
rt2x00_eeprom_die "no mtd device found for partition $part"
dd if=$mtd of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count 2>/dev/null || \
rt2x00_eeprom_die "failed to extract from $mtd"
}
jboot_eeprom_extract() {
local part=$1
local offset=$2
local mtd
mtd=$(find_mtd_part $part)
[ -n "$mtd" ] || \
rt2x00_eeprom_die "no mtd device found for partition $part"
jboot_config_read -i $mtd -o $offset -e /lib/firmware/$FIRMWARE 2>/dev/null || \
rt2x00_eeprom_die "failed to extract from $mtd"
}
rt2x00_eeprom_set_macaddr() {
local macaddr=$1
[ -n "$macaddr" ] || \
rt2x00_eeprom_die "invalid wlan mac address"
macaddr_2bin $macaddr | dd of=/lib/firmware/$FIRMWARE \
conv=notrunc bs=1 seek=4 count=6 2>/dev/null || \
rt2x00_eeprom_die "failed to write mac address to eeprom file"
}
FW="/lib/firmware/$FIRMWARE"
[ -e "$FW" ] && exit 0
. /lib/functions.sh
. /lib/functions/system.sh
board=$(board_name)
case "$FIRMWARE" in
"soc_wmac.eeprom")
case $board in
dlink,dwr-116-a1|\
dlink,dwr-921-c1)
wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
wifi_mac=$(macaddr_add "$wan_mac" 1)
jboot_eeprom_extract "config" 0xE000
rt2x00_eeprom_set_macaddr $wifi_mac
;;
tiny-ac)
wifi_mac=$(mtd_get_mac_ascii u-boot-env INIC_MAC_ADDR)
rt2x00_eeprom_extract "factory" 0 512
rt2x00_eeprom_set_macaddr $wifi_mac
;;
*)
rt2x00_eeprom_die "Please define mtd-eeprom in $board DTS file!"
;;
esac
;;
esac

View File

@@ -0,0 +1 @@
[ "$ACTION" = "motion" ] && logger webcam motion event

View File

@@ -0,0 +1,12 @@
#!/bin/sh /etc/rc.common
START=99
start() {
. /lib/functions.sh
local board=$(board_name)
if [ $board = "sk-wb8" ]; then
fw_setenv bootcount 0
fi
}

View File

@@ -0,0 +1,3 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
::askconsole:/usr/libexec/login.sh

View File

@@ -0,0 +1,26 @@
#!/bin/sh
#
# Copyright (C) 2012 OpenWrt.org
#
. /lib/functions.sh
fix_checksum() {
local kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"kernel".*/\1/p' /proc/mtd)
[ "$kernel_size" ] && mtd -c 0x$kernel_size fix$1 firmware
}
board=$(board_name)
case "$board" in
cy-swr1100 | \
dch-m225 | \
dir-645 | \
dir-860l-b1)
fix_checksum seama
;;
dlink,dap-1522-a1)
fix_checksum wrg
;;
esac

View File

@@ -0,0 +1,9 @@
#!/bin/sh
do_ramips() {
. /lib/ramips.sh
ramips_board_detect
}
boot_hook_add preinit_main do_ramips

View File

@@ -0,0 +1,56 @@
#!/bin/sh
# Netgear WNCE2001 has does a checksum check on boot and goes into recovery
# tftp mode when the check fails. Initializing the JFFS2 partition triggers
# this, so we make sure to zero checksum and size to be checksummed before
# that happens, so this needs to run very early during boot.
do_checksumming_disable() {
. /lib/functions.sh
local board=$(board_name)
case "$board" in
wnce2001)
echo "Board is WNCE2001, updating checksum partition..."
local zeroes=/dev/zero
local tmpfile=/tmp/wnce2001_checksum
local partname=checksum
local mtd=$(find_mtd_part $partname)
dd if=$mtd of=$tmpfile bs=80 count=1 2>/dev/null
signature=$(dd if=$tmpfile bs=1 skip=24 count=20 2>/dev/null)
checksum=$(dd if=$tmpfile bs=1 count=4 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"')
if [ "$signature" != "RT3052-AP-WNCE2001-3" ]; then
echo "Signature of checksum partition is wrong, bailing."
return 0
fi
if [ "$checksum" != "00000000" ]; then
echo "Checksum is set, zeroing."
# zero out checksum
dd if=$zeroes of=$tmpfile conv=notrunc bs=1 seek=0 count=4 2>/dev/null
# zero out bytecount to be checksummed
dd if=$zeroes of=$tmpfile conv=notrunc bs=1 seek=60 count=4 2>/dev/null
mtd write $tmpfile $partname
else
echo "Checksum is already zero, nothing to do."
fi
;;
rt-n56u)
echo "Board is ASUS RT-N56U, replacing uImage header..."
local firmware_mtd=$(find_mtd_part firmware)
local rootfs_mtd=$(find_mtd_part rootfs)
local rootfs_data_mtd=$(find_mtd_part rootfs_data)
local rootfs_len=$(grep \"rootfs\" /proc/mtd | awk -F' ' '{print "0x"$2}')
local rootfs_data_len=$(grep \"rootfs_data\" /proc/mtd | awk -F' ' '{print "0x"$2}')
local offset=$(echo "$rootfs_len $rootfs_data_len 0x40" | awk -F' ' '{printf "%i",$1-$2-$3}')
local signature=$(dd if=$rootfs_mtd skip=$offset bs=1 count=4 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"')
if [ "$signature" = "27051956" ]; then
dd conv=notrunc if=$rootfs_mtd skip=$offset of=$firmware_mtd bs=1 count=64 2>/dev/null
fi
;;
esac
return 0
}
boot_hook_add preinit_main do_checksumming_disable

View File

@@ -0,0 +1,34 @@
#!/bin/sh
#
# Copyright (C) 2013 OpenWrt.org
#
. /lib/ramips.sh
ramips_set_preinit_iface() {
RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350|MT7628|MT7688|MT7620|MT7621)"`
if [ -n "${RT3X5X}" ]; then
# The ethernet switch driver enables VLAN by default, but
# failsafe uses eth0, making the device unreachable:
# https://dev.openwrt.org/ticket/18768
case "${RT3X5X}" in
*MT7620*)
ralink_switchdev=mt7620
;;
*MT7621*)
ralink_switchdev=mt7530
;;
*)
ralink_switchdev=rt305x
;;
esac
swconfig dev $ralink_switchdev set reset 1
swconfig dev $ralink_switchdev set enable_vlan 0
swconfig dev $ralink_switchdev set apply 1
fi
ifname=eth0
}
boot_hook_add preinit_main ramips_set_preinit_iface

View File

@@ -0,0 +1,733 @@
#!/bin/sh
#
# Copyright (C) 2010-2013 OpenWrt.org
#
ramips_board_detect() {
local machine
local name
machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)
case "$machine" in
*"11AC NAS Router")
name="11acnas"
;;
*"3G150B")
name="3g150b"
;;
*"3G300M")
name="3g300m"
;;
*"3g-6200n")
name="3g-6200n"
;;
*"3g-6200nl")
name="3g-6200nl"
;;
*"A5-V11")
name="a5-v11"
;;
*"Ai-BR100")
name="ai-br100"
;;
*"Air3GII")
name="air3gii"
;;
*"ALL0239-3G")
name="all0239-3g"
;;
*"ALL0256N (4M)")
name="all0256n-4M"
;;
*"ALL0256N (8M)")
name="all0256n-8M"
;;
*"ALL5002")
name="all5002"
;;
*"ALL5003")
name="all5003"
;;
*"AR670W")
name="ar670w"
;;
*"AR725W")
name="ar725w"
;;
*"ASL26555 (8M)")
name="asl26555-8M"
;;
*"ASL26555 (16M)")
name="asl26555-16M"
;;
*"ATP-52B")
name="atp-52b"
;;
*"AWAPN2403")
name="awapn2403"
;;
*"AWM002 EVB (4M)")
name="awm002-evb-4M"
;;
*"AWM002 EVB (8M)")
name="awm002-evb-8M"
;;
*"BC2")
name="bc2"
;;
*"BOCCO")
name="bocco"
;;
*"BR-6475nD")
name="br-6475nd"
;;
*"Broadway")
name="broadway"
;;
*"C108")
name="c108"
;;
*"C20i")
name="c20i"
;;
*"C50")
name="c50"
;;
*"Carambola")
name="carambola"
;;
*"CF-WR800N")
name="cf-wr800n"
;;
*"CS-QR10")
name="cs-qr10"
;;
*"CY-SWR1100")
name="cy-swr1100"
;;
*"D105")
name="d105"
;;
*"D240")
name="d240"
;;
*"DAP-1350")
name="dap-1350"
;;
*"DB-WRT01")
name="db-wrt01"
;;
*"DCH-M225")
name="dch-m225"
;;
*"DCS-930")
name="dcs-930"
;;
*"DCS-930L B1")
name="dcs-930l-b1"
;;
*"DIR-300 B1")
name="dir-300-b1"
;;
*"DIR-300 B7")
name="dir-300-b7"
;;
*"DIR-320 B1")
name="dir-320-b1"
;;
*"DIR-600 B1")
name="dir-600-b1"
;;
*"DIR-610 A1")
name="dir-610-a1"
;;
*"DIR-615 D")
name="dir-615-d"
;;
*"DIR-615 H1")
name="dir-615-h1"
;;
*"DIR-620 A1")
name="dir-620-a1"
;;
*"DIR-620 D1")
name="dir-620-d1"
;;
*"DIR-645")
name="dir-645"
;;
*"DIR-810L")
name="dir-810l"
;;
*"DIR-860L B1")
name="dir-860l-b1"
;;
*"Dovado Tiny AC")
name="tiny-ac"
;;
*"DuZun DM06")
name="duzun-dm06"
;;
*"DWR-512 B")
name="dwr-512-b"
;;
*"E1700")
name="e1700"
;;
*"ESR-9753")
name="esr-9753"
;;
*"EW1200")
name="ew1200"
;;
*"EX2700")
name="ex2700";
;;
*"EX3700/EX3800")
name="ex3700"
;;
*"F5D8235 v1")
name="f5d8235-v1"
;;
*"F5D8235 v2")
name="f5d8235-v2"
;;
*"F7C027")
name="f7c027"
;;
*"FireWRT")
name="firewrt"
;;
*"Fonera 2.0N")
name="fonera20n"
;;
*"FreeStation5")
name="freestation5"
;;
*"GL-MT300A")
name="gl-mt300a"
;;
*"GL-MT300N")
name="gl-mt300n"
;;
*"GL-MT750")
name="gl-mt750"
;;
*"GL-MT300N-V2")
name="gl-mt300n-v2"
;;
*"HC5661")
name="hc5661"
;;
*"HC5661A")
name="hc5661a"
;;
*"HC5761")
name="hc5761"
;;
*"HC5861")
name="hc5861"
;;
*"HC5962")
name="hc5962"
;;
*"HG255D")
name="hg255d"
;;
*"HLK-RM04")
name="hlk-rm04"
;;
*"HPM")
name="hpm"
;;
*"HT-TM02")
name="ht-tm02"
;;
*"HW550-3G")
name="hw550-3g"
;;
*"IP2202")
name="ip2202"
;;
*"JHR-N805R")
name="jhr-n805r"
;;
*"JHR-N825R")
name="jhr-n825r"
;;
*"JHR-N926R")
name="jhr-n926r"
;;
*"K2P")
name="k2p"
;;
*"M3")
name="m3"
;;
*"M4 (4M)")
name="m4-4M"
;;
*"M4 (8M)")
name="m4-8M"
;;
*"MediaTek LinkIt Smart 7688")
name="linkits7688"
;;
*"Memory 2 Move")
name="m2m"
;;
*"Mercury MAC1200R v2")
name="mac1200rv2"
;;
*"Mi Router 3G")
name="mir3g"
;;
*"MicroWRT")
name="microwrt"
;;
*"MiniEMBPlug")
name="miniembplug"
;;
*"MiniEMBWiFi")
name="miniembwifi"
;;
*"MiWiFi Mini")
name="miwifi-mini"
;;
*"MiWiFi Nano")
name="miwifi-nano"
;;
*"MLW221")
name="mlw221"
;;
*"MLWG2")
name="mlwg2"
;;
*"MOFI3500-3GN")
name="mofi3500-3gn"
;;
*"MPR-A1")
name="mpr-a1"
;;
*"MPR-A2")
name="mpr-a2"
;;
*"MR-102N")
name="mr-102n"
;;
*"MR200")
name="mr200"
;;
*"MT7620a + MT7530 evaluation"*)
name="mt7620a_mt7530"
;;
*"MT7620a V22SG"*)
name="mt7620a_v22sg"
;;
*"MT7621 evaluation"*)
name="mt7621"
;;
*"MT7628AN evaluation"*)
name="mt7628"
;;
*"MT7688 evaluation"*)
name="mt7688"
;;
*"MZK-750DHP")
name="mzk-750dhp"
;;
*"MZK-DP150N")
name="mzk-dp150n"
;;
*"MZK-EX300NP")
name="mzk-ex300np"
;;
*"MZK-EX750NP")
name="mzk-ex750np"
;;
*"MZK-W300NH2"*)
name="mzk-w300nh2"
;;
*"MZK-WDPR"*)
name="mzk-wdpr"
;;
*"NA930")
name="na930"
;;
*"NBG-419N")
name="nbg-419n"
;;
*"NBG-419N v2")
name="nbg-419n2"
;;
*"Newifi-D1")
name="newifi-d1"
;;
*"NCS601W")
name="ncs601w"
;;
*"NixcoreX1 (8M)")
name="nixcore-x1-8M"
;;
*"NixcoreX1 (16M)")
name="nixcore-x1-16M"
;;
*"NW718")
name="nw718"
;;
*"Onion Omega2")
name="omega2"
;;
*"Onion Omega2+")
name="omega2p"
;;
*"OY-0001")
name="oy-0001"
;;
*"PBR-D1")
name="pbr-d1"
;;
*"PBR-M1")
name="pbr-m1"
;;
*"PSG1208")
name="psg1208"
;;
*"PSG1218 rev.A")
name="psg1218a"
;;
*"PSG1218 rev.B")
name="psg1218b"
;;
*"PSR-680W"*)
name="psr-680w"
;;
*"PWH2004")
name="pwh2004"
;;
*"PX-4885 (4M)")
name="px-4885-4M"
;;
*"PX-4885 (8M)")
name="px-4885-8M"
;;
*"Q7")
name="zte-q7"
;;
*"R6220")
name="r6220"
;;
*"RB750Gr3")
name="rb750gr3"
;;
*"RE350 v1")
name="re350-v1"
;;
*"RE6500")
name="re6500"
;;
*"RN502J")
name="xdxrn502j"
;;
*"RP-N53")
name="rp-n53"
;;
*"RT5350F-OLinuXino")
name="rt5350f-olinuxino"
;;
*"RT5350F-OLinuXino-EVB")
name="rt5350f-olinuxino-evb"
;;
*"RT-AC51U")
name="rt-ac51u"
;;
*"RT-G32 B1")
name="rt-g32-b1"
;;
*"RT-N10+")
name="rt-n10-plus"
;;
*"RT-N12+")
name="rt-n12p"
;;
*"RT-N13U")
name="rt-n13u"
;;
*"RT-N14U")
name="rt-n14u"
;;
*"RT-N15")
name="rt-n15"
;;
*"RT-N56U")
name="rt-n56u"
;;
*"RUT5XX")
name="rut5xx"
;;
*"SamKnows Whitebox 8")
name="sk-wb8"
;;
*"SAP-G3200U3")
name="sap-g3200u3"
;;
*"SL-R7205"*)
name="sl-r7205"
;;
*"TEW-638APB v2")
name="tew-638apb-v2"
;;
*"TEW-691GR")
name="tew-691gr"
;;
*"TEW-692GR")
name="tew-692gr"
;;
*"TEW-714TRU")
name="tew-714tru"
;;
*"Timecloud")
name="timecloud"
;;
*"TL-WR840N v4")
name="tl-wr840n-v4"
;;
*"TL-WR840N v5")
name="tl-wr840n-v5"
;;
*"TL-WR841N v13")
name="tl-wr841n-v13"
;;
*"U25AWF-H1")
name="u25awf-h1"
;;
*"U7621-06 (256M RAM/16M flash)")
name="u7621-06-256M-16M"
;;
*"U7628-01 (128M RAM/16M flash)")
name="u7628-01-128M-16M"
;;
*"UBNT-ERX")
name="ubnt-erx"
;;
*"UBNT-ERX-SFP")
name="ubnt-erx-sfp"
;;
*"UR-326N4G")
name="ur-326n4g"
;;
*"UR-336UN")
name="ur-336un"
;;
*"V11ST-FE")
name="v11st-fe"
;;
*"V22RW-2X2")
name="v22rw-2x2"
;;
*"VoCore (8M)")
name="vocore-8M"
;;
*"VoCore (16M)")
name="vocore-16M"
;;
*"VoCore2")
name="vocore2"
;;
*"VoCore2-Lite")
name="vocore2lite"
;;
*"VR500")
name="vr500"
;;
*"W150M")
name="w150m"
;;
*"W2914NS v2")
name="w2914nsv2"
;;
*"W306R V2.0")
name="w306r-v20"
;;
*"W502U")
name="w502u"
;;
*"WCR-1166DS")
name="wcr-1166ds"
;;
*"WCR-150GN")
name="wcr-150gn"
;;
*"WE1026-5G (16M)")
name="we1026-5g-16m"
;;
*"WF-2881")
name="wf-2881"
;;
*"WHR-1166D")
name="whr-1166d"
;;
*"WHR-300HP2")
name="whr-300hp2"
;;
*"WHR-600D")
name="whr-600d"
;;
*"WHR-G300N")
name="whr-g300n"
;;
*"WIZARD 8800")
name="wizard8800"
;;
*"WizFi630A")
name="wizfi630a"
;;
*"WL-330N")
name="wl-330n"
;;
*"WL-330N3G")
name="wl-330n3g"
;;
*"WL-341 v3")
name="wl-341v3"
;;
*"WL-351 v1 002")
name="wl-351"
;;
*"WL-WN575A3")
name="wl-wn575a3"
;;
*"WLI-TX4-AG300N")
name="wli-tx4-ag300n"
;;
*"WLR-6000")
name="wlr-6000"
;;
*"WMDR-143N")
name="wmdr-143n"
;;
*"WMR-300")
name="wmr-300"
;;
*"WN3000RPv3")
name="wn3000rpv3"
;;
*"WNCE2001")
name="wnce2001"
;;
*"WNDR3700v5")
name="wndr3700v5"
;;
*"WR512-3GN (4M)")
name="wr512-3gn-4M"
;;
*"WR512-3GN (8M)")
name="wr512-3gn-8M"
;;
*"WR6202")
name="wr6202"
;;
*"WRH-300CR")
name="wrh-300cr"
;;
*"WRTNODE")
name="wrtnode"
;;
*"WRTnode2R")
name="wrtnode2r"
;;
*"WRTnode2P")
name="wrtnode2p"
;;
*"WSR-1166DHP")
name="wsr-1166"
;;
*"WSR-600DHP")
name="wsr-600"
;;
*"WT1520 (4M)")
name="wt1520-4M"
;;
*"WT1520 (8M)")
name="wt1520-8M"
;;
*"WT3020 (4M)")
name="wt3020-4M"
;;
*"WT3020 (8M)")
name="wt3020-8M"
;;
*"WZR-AGL300NH")
name="wzr-agl300nh"
;;
*"X5")
name="x5"
;;
*"X8")
name="x8"
;;
*"Y1")
name="y1"
;;
*"Y1S")
name="y1s"
;;
*"ZBT-APE522II")
name="zbt-ape522ii"
;;
*"ZBT-CPE102")
name="zbt-cpe102"
;;
*"ZBT-WA05")
name="zbt-wa05"
;;
*"ZBT-WE1326")
name="zbt-we1326"
;;
*"ZBT-WE2026")
name="zbt-we2026"
;;
*"ZBT-WE826 (16M)")
name="zbt-we826-16M"
;;
*"ZBT-WE826 (32M)")
name="zbt-we826-32M"
;;
*"ZBT-WG2626")
name="zbt-wg2626"
;;
*"ZBT-WG3526 (16M)")
name="zbt-wg3526-16M"
;;
*"ZBT-WG3526 (32M)")
name="zbt-wg3526-32M"
;;
*"ZBT-WR8305RT")
name="zbt-wr8305rt"
;;
*"ZyXEL Keenetic")
name="kn"
;;
*"ZyXEL Keenetic Omni")
name="kn_rc"
;;
*"ZyXEL Keenetic Omni II")
name="kn_rf"
;;
*"ZyXEL Keenetic Viva")
name="kng_rc"
;;
*"YK1")
name="youku-yk1"
;;
esac
# use generic board detect if no name is set
[ -z "$name" ] && return
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
echo "$name" > /tmp/sysinfo/board_name
echo "$machine" > /tmp/sysinfo/model
}

View File

@@ -0,0 +1,363 @@
#
# Copyright (C) 2010 OpenWrt.org
#
PART_NAME=firmware
platform_check_image() {
local board=$(board_name)
local magic="$(get_magic_long "$1")"
[ "$#" -gt 1 ] && return 1
case "$board" in
3g150b|\
3g300m|\
a5-v11|\
ai-br100|\
air3gii|\
alfa-network,ac1200rm|\
alfa-network,awusfree1|\
all0239-3g|\
all0256n-4M|\
all0256n-8M|\
all5002|\
all5003|\
mediatek,ap-mt7621a-v60|\
ar725w|\
asl26555-8M|\
asl26555-16M|\
awapn2403|\
awm002-evb-4M|\
awm002-evb-8M|\
bc2|\
bocco|\
broadway|\
c108|\
carambola|\
cf-wr800n|\
cs-qr10|\
d105|\
d240|\
dap-1350|\
db-wrt01|\
dcs-930|\
dcs-930l-b1|\
dir-300-b1|\
dir-300-b7|\
dir-320-b1|\
dir-600-b1|\
dir-615-d|\
dir-615-h1|\
dir-620-a1|\
dir-620-d1|\
dir-810l|\
duzun-dm06|\
e1700|\
elecom,wrc-1167ghbk2-s|\
esr-9753|\
ew1200|\
ex2700|\
ex3700|\
f7c027|\
firewrt|\
fonera20n|\
freestation5|\
gnubee,gb-pc1|\
gnubee,gb-pc2|\
gl-mt300a|\
gl-mt300n|\
gl-mt750|\
gl-mt300n-v2|\
hc5*61|\
hc5661a|\
hg255d|\
hlk-rm04|\
hpm|\
ht-tm02|\
hw550-3g|\
iodata,wn-gx300gr|\
ip2202|\
jhr-n805r|\
jhr-n825r|\
jhr-n926r|\
k2p|\
kn|\
kn_rc|\
kn_rf|\
kng_rc|\
linkits7688|\
m2m|\
m3|\
m4-4M|\
m4-8M|\
mac1200rv2|\
microwrt|\
miniembplug|\
miniembwifi|\
miwifi-mini|\
miwifi-nano|\
mlw221|\
mlwg2|\
mofi3500-3gn|\
mpr-a1|\
mpr-a2|\
mr-102n|\
mt7628|\
mzk-750dhp|\
mzk-dp150n|\
mzk-ex300np|\
mzk-ex750np|\
mzk-w300nh2|\
mzk-wdpr|\
nbg-419n|\
nbg-419n2|\
newifi-d1|\
d-team,newifi-d2|\
nixcore-x1-8M|\
nixcore-x1-16M|\
nw718|\
omega2|\
omega2p|\
oy-0001|\
pbr-d1|\
pbr-m1|\
phicomm,k2g|\
psg1208|\
psg1218a|\
psg1218b|\
psr-680w|\
px-4885-4M|\
px-4885-8M|\
rb750gr3|\
re6500|\
rp-n53|\
rt5350f-olinuxino|\
rt5350f-olinuxino-evb|\
rt-ac51u|\
rt-g32-b1|\
rt-n10-plus|\
rt-n12p|\
rt-n13u|\
rt-n14u|\
rt-n15|\
rt-n56u|\
rut5xx|\
sap-g3200u3|\
sk-wb8|\
sl-r7205|\
tama,w06|\
tew-638apb-v2|\
tew-691gr|\
tew-692gr|\
tew-714tru|\
timecloud|\
tiny-ac|\
u25awf-h1|\
u7621-06-256M-16M|\
u7628-01-128M-16M|\
ur-326n4g|\
ur-336un|\
v22rw-2x2|\
vonets,var11n-300|\
vocore-8M|\
vocore-16M|\
vocore2|\
vocore2lite|\
vr500|\
w150m|\
w2914nsv2|\
w306r-v20|\
w502u|\
ravpower,wd03|\
wf-2881|\
whr-1166d|\
whr-300hp2|\
whr-600d|\
whr-g300n|\
widora,neo-16m|\
widora,neo-32m|\
mqmaker,witi-256m|\
mqmaker,witi-512m|\
wizfi630a|\
wl-330n|\
wl-330n3g|\
wl-341v3|\
wl-351|\
wl-wn575a3|\
wli-tx4-ag300n|\
wlr-6000|\
wmdr-143n|\
wmr-300|\
wn3000rpv3|\
wnce2001|\
wndr3700v5|\
wr512-3gn-4M|\
wr512-3gn-8M|\
wr6202|\
wrh-300cr|\
wrtnode|\
wrtnode2r |\
wrtnode2p |\
wsr-600|\
wt1520-4M|\
wt1520-8M|\
wt3020-4M|\
wt3020-8M|\
wzr-agl300nh|\
x5|\
x8|\
y1|\
y1s|\
youhua,wr1200js|\
we1026-5g-16m|\
zbt-ape522ii|\
zbt-cpe102|\
zbt-wa05|\
zbtlink,zbt-we1226|\
zbt-we1326|\
zbt-we2026|\
zbtlink,zbt-we3526|\
zbt-we826-16M|\
zbt-we826-32M|\
zbt-wg2626|\
zbt-wg3526-16M|\
zbt-wg3526-32M|\
zbt-wr8305rt|\
zorlik,zl5900v2|\
zte-q7|\
youku-yk1)
[ "$magic" != "27051956" ] && {
echo "Invalid image type."
return 1
}
return 0
;;
3g-6200n|\
3g-6200nl|\
br-6475nd)
[ "$magic" != "43535953" ] && {
echo "Invalid image type."
return 1
}
return 0
;;
ar670w)
[ "$magic" != "6d000080" ] && {
echo "Invalid image type."
return 1
}
return 0
;;
c20i|\
c50|\
mr200|\
tplink,c20-v1|\
tplink,c20-v4|\
tplink,c50-v3|\
tplink,tl-mr3420-v5|\
tplink,tl-wr842n-v5|\
tplink,tl-wr902ac-v3|\
tl-wr840n-v4|\
tl-wr840n-v5|\
tl-wr841n-v13)
[ "$magic" != "03000000" ] && {
echo "Invalid image type."
return 1
}
return 0
;;
cy-swr1100|\
dch-m225|\
dir-610-a1|\
dir-645|\
dir-860l-b1)
[ "$magic" != "5ea3a417" ] && {
echo "Invalid image type."
return 1
}
return 0
;;
dlink,dwr-116-a1|\
dlink,dwr-921-c1|\
dwr-512-b)
[ "$magic" != "0404242b" ] && {
echo "Invalid image type."
return 1
}
return 0
;;
hc5962|\
mir3g|\
r6220|\
ubnt-erx|\
ubnt-erx-sfp)
nand_do_platform_check "$board" "$1"
return $?;
;;
mikrotik,rbm33g|\
re350-v1)
[ "$magic" != "01000000" ] && {
echo "Invalid image type."
return 1
}
return 0
;;
wcr-1166ds|\
wsr-1166)
[ "$magic" != "48445230" ] && {
echo "Invalid image type."
return 1
}
return 0
;;
esac
echo "Sysupgrade is not yet supported on $board."
return 1
}
platform_pre_upgrade() {
local board=$(board_name)
case "$board" in
mikrotik,rbm33g)
[ -z "$(rootfs_type)" ] && mtd erase firmware
;;
esac
}
platform_nand_pre_upgrade() {
local board=$(board_name)
case "$board" in
ubnt-erx|\
ubnt-erx-sfp)
platform_upgrade_ubnt_erx "$ARGV"
;;
esac
}
platform_do_upgrade() {
local board=$(board_name)
case "$board" in
hc5962|\
mir3g|\
r6220|\
ubnt-erx|\
ubnt-erx-sfp)
nand_do_upgrade "$ARGV"
;;
*)
default_do_upgrade "$ARGV"
;;
esac
}
blink_led() {
. /etc/diag.sh; set_state upgrade
}
append sysupgrade_pre_upgrade blink_led

View File

@@ -0,0 +1,76 @@
#
# 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
}

View File

@@ -0,0 +1,81 @@
#!/bin/sh
. /lib/functions.sh
. /lib/functions/system.sh
partname=""
offset=""
NEW_MAC=
YES=
board=$(board_name)
case $board in
mqmaker,witi-256m|\
mqmaker,witi-512m)
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"