Initial commit
This commit is contained in:
272
target/linux/ath79/base-files/etc/board.d/01_leds
Executable file
272
target/linux/ath79/base-files/etc/board.d/01_leds
Executable file
@@ -0,0 +1,272 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions/uci-defaults.sh
|
||||
|
||||
board_config_update
|
||||
|
||||
board=$(board_name)
|
||||
boardname="${board##*,}"
|
||||
|
||||
case "$board" in
|
||||
8dev,carambola2)
|
||||
ucidef_set_led_netdev "lan" "LAN" "$boardname:orange:eth0" "eth0"
|
||||
ucidef_set_led_switch "wan" "WAN" "$boardname:orange:eth1" "switch0" "0x04"
|
||||
;;
|
||||
avm,fritz300e)
|
||||
ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0"
|
||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:green:rssi0" "wlan0" "1" "100"
|
||||
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "$boardname:green:rssi1" "wlan0" "20" "100"
|
||||
ucidef_set_led_rssi "rssimedium" "RSSIMEDIUM" "$boardname:green:rssi2" "wlan0" "40" "100"
|
||||
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "$boardname:green:rssi3" "wlan0" "60" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "$boardname:green:rssi4" "wlan0" "80" "100"
|
||||
;;
|
||||
avm,fritz4020)
|
||||
ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth1"
|
||||
ucidef_set_led_switch "lan" "LAN" "$boardname:green:lan" "switch0" "0x1E"
|
||||
;;
|
||||
buffalo,whr-g301n)
|
||||
ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth0"
|
||||
ucidef_set_led_switch "lan1" "LAN1" "$boardname:green:lan1" "switch0" "0x02"
|
||||
ucidef_set_led_switch "lan2" "LAN2" "$boardname:green:lan2" "switch0" "0x04"
|
||||
ucidef_set_led_switch "lan3" "LAN3" "$boardname:green:lan3" "switch0" "0x08"
|
||||
ucidef_set_led_switch "lan4" "LAN4" "$boardname:green:lan4" "switch0" "0x10"
|
||||
;;
|
||||
comfast,cf-e110n-v2)
|
||||
ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth1"
|
||||
ucidef_set_led_switch "wan" "WAN" "$boardname:green:wan" "switch0" "0x02"
|
||||
ucidef_set_led_wlan "wlan" "WLAN" "$boardname:green:wlan" "phy0tpt"
|
||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:red:rssilow" "wlan0" "1" "100"
|
||||
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "$boardname:red:rssimediumlow" "wlan0" "26" "100"
|
||||
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "$boardname:green:rssimediumhigh" "wlan0" "51" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "$boardname:green:rssihigh" "wlan0" "76" "100"
|
||||
;;
|
||||
comfast,cf-e120a-v3)
|
||||
ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth1"
|
||||
ucidef_set_led_switch "wan" "WAN" "$boardname:green:wan" "switch0" "0x04"
|
||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:red:rssilow" "wlan0" "1" "100"
|
||||
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "$boardname:red:rssimediumlow" "wlan0" "26" "100"
|
||||
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "$boardname:green:rssimediumhigh" "wlan0" "51" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "$boardname:green:rssihigh" "wlan0" "76" "100"
|
||||
;;
|
||||
comfast,cf-e5)
|
||||
ucidef_set_led_switch "lan" "LAN" "$boardname:blue:lan" "switch0" "0x02"
|
||||
ucidef_set_led_netdev "wan" "WAN" "$boardname:blue:wan" "eth1"
|
||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:blue:rssi0" "wlan0" "1" "100"
|
||||
ucidef_set_led_rssi "rssimedium" "RSSIMEDIUM" "$boardname:blue:rssi1" "wlan0" "33" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "$boardname:blue:rssi2" "wlan0" "66" "100"
|
||||
;;
|
||||
dlink,dir-859-a1)
|
||||
ucidef_set_led_switch "internet" "WAN" "$boardname:green:internet" "switch0" "0x20"
|
||||
;;
|
||||
engenius,ecb1750)
|
||||
ucidef_set_led_netdev "lan" "LAN" "$boardname:blue:lan" "eth0"
|
||||
;;
|
||||
engenius,ews511ap)
|
||||
ucidef_set_led_netdev "lan1" "LAN1" "$boardname:blue:lan1" "eth1"
|
||||
ucidef_set_led_netdev "lan2" "LAN2" "$boardname:blue:lan2" "eth0"
|
||||
;;
|
||||
etactica,eg200)
|
||||
ucidef_set_led_netdev "lan" "LAN" "$boardname:red:eth0" "eth0"
|
||||
ucidef_set_led_oneshot "modbus" "Modbus" "$boardname:red:modbus" "100" "33"
|
||||
ucidef_set_led_default "etactica" "etactica" "$boardname:red:etactica" "ignore"
|
||||
;;
|
||||
glinet,gl-ar300m-nand|\
|
||||
glinet,gl-ar300m-nor)
|
||||
ucidef_set_led_netdev "lan" "LAN" "gl-ar300m:green:lan" "eth0"
|
||||
;;
|
||||
glinet,gl-ar300m-lite)
|
||||
ucidef_set_led_netdev "lan" "LAN" "gl-ar300m-lite:green:lan" "eth0"
|
||||
;;
|
||||
glinet,gl-x750)
|
||||
ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth1"
|
||||
;;
|
||||
netgear,wnr612-v2|\
|
||||
on,n150r)
|
||||
ucidef_set_led_netdev "wan" "WAN" "netgear:green:wan" "eth0"
|
||||
ucidef_set_led_switch "lan1" "LAN1" "netgear:green:lan1" "switch0" "0x02" "0x0f"
|
||||
ucidef_set_led_switch "lan2" "LAN2" "netgear:green:lan2" "switch0" "0x04" "0x0f"
|
||||
;;
|
||||
pcs,cap324)
|
||||
ucidef_set_led_netdev "lan" "LAN" "pcs:green:lan" "eth0"
|
||||
;;
|
||||
pcs,cr3000)
|
||||
ucidef_set_led_netdev "wan" "WAN" "pcs:blue:wan" "eth1"
|
||||
ucidef_set_led_switch "lan1" "LAN1" "pcs:blue:lan1" "switch0" "0x04"
|
||||
ucidef_set_led_switch "lan2" "LAN2" "pcs:blue:lan2" "switch0" "0x08"
|
||||
ucidef_set_led_switch "lan3" "LAN3" "pcs:blue:lan3" "switch0" "0x10"
|
||||
ucidef_set_led_switch "lan4" "LAN4" "pcs:blue:lan4" "switch0" "0x02"
|
||||
;;
|
||||
tplink,archer-a7-v5|\
|
||||
tplink,archer-c7-v4|\
|
||||
tplink,archer-c7-v5)
|
||||
ucidef_set_led_switch "wan" "WAN" "tp-link:green:wan" "switch0" "0x02"
|
||||
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x04"
|
||||
ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x08"
|
||||
ucidef_set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x10"
|
||||
ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x20"
|
||||
;;
|
||||
tplink,archer-c2-v3|\
|
||||
tplink,tl-wr1043nd-v4|\
|
||||
tplink,tl-wr1043n-v5)
|
||||
ucidef_set_led_switch "wan" "WAN" "tp-link:green:wan" "switch0" "0x20"
|
||||
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10"
|
||||
ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x08"
|
||||
ucidef_set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x04"
|
||||
ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x02"
|
||||
;;
|
||||
tplink,archer-c6-v2)
|
||||
ucidef_set_led_switch "lan" "LAN" "tp-link:green:lan" "switch0" "0x3C"
|
||||
ucidef_set_led_switch "wan" "WAN" "tp-link:green:wan" "switch0" "0x02"
|
||||
;;
|
||||
tplink,archer-c25-v1|\
|
||||
tplink,tl-wr841-v9|\
|
||||
tplink,tl-wr841-v10|\
|
||||
tplink,tl-wr841-v11|\
|
||||
tplink,tl-wr841-v12|\
|
||||
tplink,tl-wr842n-v3)
|
||||
ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1"
|
||||
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10"
|
||||
ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x08"
|
||||
ucidef_set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x04"
|
||||
ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x02"
|
||||
;;
|
||||
tplink,archer-c58-v1|\
|
||||
tplink,archer-c59-v1|\
|
||||
tplink,archer-c60-v1|\
|
||||
tplink,archer-c60-v2|\
|
||||
tplink,archer-c60-v3)
|
||||
ucidef_set_led_switch "lan" "LAN" "tp-link:green:lan" "switch0" "0x1E"
|
||||
ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1"
|
||||
;;
|
||||
tplink,archer-d50-v1)
|
||||
ucidef_set_led_switch "lan" "LAN" "tp-link:white:lan" "switch0" "0x1c"
|
||||
ucidef_set_led_switch "wan_data" "WAN Data" "tp-link:white:internet" "switch0" "0x02" "" "tx rx"
|
||||
ucidef_set_led_switch "wan_link" "WAN Link" "tp-link:white:wan" "switch0" "0x02" "" "link"
|
||||
;;
|
||||
tplink,cpe220-v3)
|
||||
ucidef_set_led_netdev "lan0" "LAN0" "tp-link:green:lan0" "eth1"
|
||||
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10"
|
||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "tp-link:green:link1" "wlan0" "1" "100"
|
||||
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "tp-link:green:link2" "wlan0" "30" "100"
|
||||
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "tp-link:green:link3" "wlan0" "60" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "tp-link:green:link4" "wlan0" "80" "100"
|
||||
;;
|
||||
tplink,cpe210-v2|\
|
||||
tplink,cpe210-v3)
|
||||
ucidef_set_led_netdev "lan" "LAN" "tp-link:green:lan" "eth0"
|
||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "tp-link:green:link1" "wlan0" "1" "100"
|
||||
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "tp-link:green:link2" "wlan0" "30" "100"
|
||||
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "tp-link:green:link3" "wlan0" "60" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "tp-link:green:link4" "wlan0" "80" "100"
|
||||
;;
|
||||
tplink,re450-v2)
|
||||
ucidef_set_led_netdev "lan_data" "LAN Data" "tp-link:green:lan_data" "eth0" "tx rx"
|
||||
ucidef_set_led_netdev "lan_link" "LAN Link" "tp-link:green:lan_link" "eth0" "link"
|
||||
;;
|
||||
tplink,tl-mr3020-v1|\
|
||||
tplink,tl-mr3040-v2|\
|
||||
tplink,tl-wa701nd-v1|\
|
||||
tplink,tl-wa730re-v1|\
|
||||
tplink,tl-wa801nd-v1|\
|
||||
tplink,tl-wa801nd-v3|\
|
||||
tplink,tl-wa801nd-v4|\
|
||||
tplink,tl-wa830re-v1|\
|
||||
tplink,tl-wa860re-v1|\
|
||||
tplink,tl-wa901nd-v1|\
|
||||
tplink,tl-wa901nd-v4|\
|
||||
tplink,tl-wa901nd-v5)
|
||||
ucidef_set_led_netdev "lan" "LAN" "tp-link:green:lan" "eth0"
|
||||
;;
|
||||
tplink,tl-mr3420-v2|\
|
||||
tplink,tl-wr740n-v4|\
|
||||
tplink,tl-wr740n-v5|\
|
||||
tplink,tl-wr741nd-v4|\
|
||||
tplink,tl-wr841-v8|\
|
||||
tplink,tl-wr842n-v2)
|
||||
ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1"
|
||||
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x04"
|
||||
ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x08"
|
||||
ucidef_set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x10"
|
||||
ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x02"
|
||||
;;
|
||||
tplink,tl-wa850re-v1)
|
||||
ucidef_set_led_netdev "lan" "LAN" "tp-link:blue:lan" "eth0"
|
||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "tp-link:blue:signal1" "wlan0" "1" "100"
|
||||
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "tp-link:blue:signal2" "wlan0" "20" "100"
|
||||
ucidef_set_led_rssi "rssimedium" "RSSIMEDIUM" "tp-link:blue:signal3" "wlan0" "40" "100"
|
||||
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "tp-link:blue:signal4" "wlan0" "60" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "tp-link:blue:signal5" "wlan0" "80" "100"
|
||||
;;
|
||||
tplink,tl-wr740n-v1|\
|
||||
tplink,tl-wr740n-v3|\
|
||||
tplink,tl-wr741-v1|\
|
||||
tplink,tl-wr743nd-v1|\
|
||||
tplink,tl-wr841-v5|\
|
||||
tplink,tl-wr941-v4)
|
||||
ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth0"
|
||||
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x02"
|
||||
ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x04"
|
||||
ucidef_set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x08"
|
||||
ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x10"
|
||||
;;
|
||||
tplink,tl-wr940n-v3|\
|
||||
tplink,tl-wr940n-v4|\
|
||||
tplink,tl-wr941nd-v6)
|
||||
ucidef_set_led_netdev "wan" "WAN" "tp-link:blue:wan" "eth1"
|
||||
ucidef_set_led_switch "lan1" "LAN1" "tp-link:blue:lan1" "switch0" "0x10"
|
||||
ucidef_set_led_switch "lan2" "LAN2" "tp-link:blue:lan2" "switch0" "0x08"
|
||||
ucidef_set_led_switch "lan3" "LAN3" "tp-link:blue:lan3" "switch0" "0x04"
|
||||
ucidef_set_led_switch "lan4" "LAN4" "tp-link:blue:lan4" "switch0" "0x02"
|
||||
;;
|
||||
tplink,tl-wr940n-v6)
|
||||
ucidef_set_led_netdev "wan" "WAN" "tp-link:blue:wan" "eth1"
|
||||
;;
|
||||
ubnt,bullet-m|\
|
||||
ubnt,bullet-m-xw|\
|
||||
ubnt,nanostation-loco-m|\
|
||||
ubnt,nanostation-loco-m-xw|\
|
||||
ubnt,nanostation-m|\
|
||||
ubnt,nanostation-m-xw|\
|
||||
ubnt,picostation-m|\
|
||||
ubnt,rocket-m)
|
||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "ubnt:red:link1" "wlan0" "1" "100"
|
||||
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "ubnt:orange:link2" "wlan0" "26" "100"
|
||||
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "ubnt:green:link3" "wlan0" "51" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "ubnt:green:link4" "wlan0" "76" "100"
|
||||
;;
|
||||
ubnt,nanobeam-ac|\
|
||||
ubnt,nanostation-ac)
|
||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "ubnt:blue:rssi0" "wlan0" "1" "100"
|
||||
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "ubnt:blue:rssi1" "wlan0" "26" "100"
|
||||
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "ubnt:blue:rssi2" "wlan0" "51" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "ubnt:blue:rssi3" "wlan0" "76" "100"
|
||||
;;
|
||||
wd,mynet-wifi-rangeextender)
|
||||
ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0"
|
||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||
ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:blue:rssi-low" "wlan0" "1" "100"
|
||||
ucidef_set_led_rssi "rssimedium" "RSSIMED" "$boardname:blue:rssi-med" "wlan0" "33" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIMAX" "$boardname:blue:rssi-max" "wlan0" "66" "100"
|
||||
;;
|
||||
yuncore,a770)
|
||||
ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth1"
|
||||
ucidef_set_led_switch "lan" "LAN" "$boardname:green:lan" "switch0" "0x10"
|
||||
;;
|
||||
zbtlink,zbt-wd323)
|
||||
ucidef_set_led_switch "lan1" "LAN1" "zbt-wd323:orange:lan1" "switch0" "0x10"
|
||||
ucidef_set_led_switch "lan2" "LAN2" "zbt-wd323:orange:lan2" "switch0" "0x08"
|
||||
;;
|
||||
esac
|
||||
|
||||
board_config_flush
|
||||
|
||||
exit 0
|
||||
407
target/linux/ath79/base-files/etc/board.d/02_network
Executable file
407
target/linux/ath79/base-files/etc/board.d/02_network
Executable file
@@ -0,0 +1,407 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions/system.sh
|
||||
. /lib/functions/uci-defaults.sh
|
||||
. /lib/functions/k2t.sh
|
||||
|
||||
ath79_setup_interfaces()
|
||||
{
|
||||
local board="$1"
|
||||
|
||||
case "$board" in
|
||||
aruba,ap-105|\
|
||||
avm,fritz300e|\
|
||||
devolo,dvl1200i|\
|
||||
devolo,dvl1750c|\
|
||||
devolo,dvl1750i|\
|
||||
devolo,dvl1750x|\
|
||||
engenius,ecb1750|\
|
||||
glinet,gl-ar300m-lite|\
|
||||
netgear,ex6400|\
|
||||
netgear,ex7300|\
|
||||
ocedo,koala|\
|
||||
ocedo,raccoon|\
|
||||
pcs,cap324|\
|
||||
pisen,wmm003n|\
|
||||
pqi,air-pen|\
|
||||
tplink,cpe210-v2|\
|
||||
tplink,cpe210-v3|\
|
||||
tplink,re350k-v1|\
|
||||
tplink,re450-v2|\
|
||||
tplink,tl-mr10u|\
|
||||
tplink,tl-mr3020-v1|\
|
||||
tplink,tl-mr3040-v2|\
|
||||
tplink,tl-wa701nd-v1|\
|
||||
tplink,tl-wa730re-v1|\
|
||||
tplink,tl-wa801nd-v1|\
|
||||
tplink,tl-wa801nd-v3|\
|
||||
tplink,tl-wa801nd-v4|\
|
||||
tplink,tl-wa830re-v1|\
|
||||
tplink,tl-wa850re-v1|\
|
||||
tplink,tl-wa860re-v1|\
|
||||
tplink,tl-wa901nd-v1|\
|
||||
tplink,tl-wa901nd-v2|\
|
||||
tplink,tl-wa901nd-v4|\
|
||||
tplink,tl-wa901nd-v5|\
|
||||
tplink,tl-wr703n|\
|
||||
tplink,tl-wr802n-v1|\
|
||||
tplink,tl-wr802n-v2|\
|
||||
ubnt,bullet-m|\
|
||||
ubnt,bullet-m-xw|\
|
||||
ubnt,lap-120|\
|
||||
ubnt,nanobeam-ac|\
|
||||
ubnt,nanostation-ac-loco|\
|
||||
ubnt,nanostation-loco-m|\
|
||||
ubnt,nanostation-loco-m-xw|\
|
||||
ubnt,picostation-m|\
|
||||
ubnt,rocket-m|\
|
||||
ubnt,unifiac-lite|\
|
||||
ubnt,unifiac-lr|\
|
||||
ubnt,unifiac-mesh|\
|
||||
ubnt,unifi|\
|
||||
wd,mynet-wifi-rangeextender|\
|
||||
winchannel,wb2000)
|
||||
ucidef_set_interface_lan "eth0"
|
||||
;;
|
||||
avm,fritz4020|\
|
||||
pcs,cr3000|\
|
||||
tplink,archer-c58-v1|\
|
||||
tplink,archer-c59-v1)
|
||||
ucidef_set_interface_wan "eth1"
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
|
||||
;;
|
||||
buffalo,bhr-4grv|\
|
||||
buffalo,wzr-hp-g450h)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
|
||||
;;
|
||||
buffalo,bhr-4grv2)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth0"
|
||||
;;
|
||||
buffalo,whr-g301n)
|
||||
ucidef_set_interface_wan "eth0"
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
|
||||
;;
|
||||
buffalo,wzr-hp-ag300h|\
|
||||
tplink,archer-c25-v1|\
|
||||
tplink,archer-c60-v1|\
|
||||
tplink,archer-c60-v2|\
|
||||
tplink,archer-c60-v3|\
|
||||
tplink,tl-mr3220-v1|\
|
||||
tplink,tl-mr3420-v1|\
|
||||
tplink,tl-wdr3500-v1|\
|
||||
tplink,tl-wr841-v7|\
|
||||
tplink,tl-wr841-v9|\
|
||||
tplink,tl-wr841-v10|\
|
||||
tplink,tl-wr841-v11|\
|
||||
tplink,tl-wr841-v12|\
|
||||
tplink,tl-wr842n-v1|\
|
||||
tplink,tl-wr842n-v3|\
|
||||
tplink,tl-wr940n-v3|\
|
||||
tplink,tl-wr940n-v4|\
|
||||
tplink,tl-wr940n-v6|\
|
||||
tplink,tl-wr941nd-v6|\
|
||||
ubnt,airrouter)
|
||||
ucidef_set_interface_wan "eth1"
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
|
||||
;;
|
||||
buffalo,wzr-hp-g302h-a1a0)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "1:lan:1" "3:lan:4" "4:lan:3" "5:lan:2" "2:wan"
|
||||
;;
|
||||
comfast,cf-e110n-v2|\
|
||||
comfast,cf-e120a-v3|\
|
||||
tplink,cpe220-v3|\
|
||||
ubnt,nanostation-m|\
|
||||
ubnt,routerstation)
|
||||
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
||||
;;
|
||||
devolo,dvl1200e|\
|
||||
devolo,dvl1750e|\
|
||||
ocedo,ursus)
|
||||
ucidef_set_interface_lan "eth0 eth1"
|
||||
;;
|
||||
dlink,dir-825-b1)
|
||||
ucidef_set_interface_wan "eth1"
|
||||
ucidef_add_switch "switch0" \
|
||||
"0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
|
||||
;;
|
||||
dlink,dir-825-c1|\
|
||||
dlink,dir-835-a1|\
|
||||
dlink,dir-859-a1|\
|
||||
engenius,epg5000|\
|
||||
tplink,archer-c2-v3|\
|
||||
tplink,tl-wr1043nd-v4|\
|
||||
tplink,tl-wr1043n-v5)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
|
||||
;;
|
||||
elecom,wrc-1750ghbk2-i|\
|
||||
elecom,wrc-300ghbk2-i)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "2:lan:4" "3:lan:3" "4:lan:2" "5:lan:1" "1:wan"
|
||||
;;
|
||||
embeddedwireless,dorin)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "1:wan" "2:lan:3" "3:lan:2"
|
||||
;;
|
||||
engenius,ews511ap)
|
||||
ucidef_set_interface_lan "eth0 eth1" "dhcp"
|
||||
;;
|
||||
etactica,eg200)
|
||||
ucidef_set_interface_lan "eth0" "dhcp"
|
||||
;;
|
||||
glinet,gl-ar750s)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "2:lan:2" "3:lan:1" "1:wan"
|
||||
;;
|
||||
iodata,etg3-r|\
|
||||
iodata,wn-ac1167dgr|\
|
||||
iodata,wn-ac1600dgr|\
|
||||
iodata,wn-ac1600dgr2|\
|
||||
iodata,wn-ag300dgr|\
|
||||
pcs,cr5000|\
|
||||
wd,mynet-n750)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
|
||||
;;
|
||||
librerouter,librerouter-v1)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "5:wan" "6@eth1" "4:lan"
|
||||
;;
|
||||
nec,wg1200cr|\
|
||||
ubnt,nanostation-ac|\
|
||||
ubnt,unifiac-mesh-pro|\
|
||||
ubnt,unifiac-pro|\
|
||||
yuncore,a782|\
|
||||
yuncore,xd4200)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "2:lan" "3:wan"
|
||||
;;
|
||||
nec,wg800hp)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "2:lan" "3:lan" "4:lan" "1:wan"
|
||||
;;
|
||||
netgear,wndr3700|\
|
||||
netgear,wndr3700v2|\
|
||||
netgear,wndr3800)
|
||||
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
||||
ucidef_add_switch "switch0" \
|
||||
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5u@eth0"
|
||||
ucidef_add_switch_attr "switch0" "blinkrate" 2
|
||||
ucidef_add_switch_port_attr "switch0" 1 led 6
|
||||
ucidef_add_switch_port_attr "switch0" 2 led 9
|
||||
ucidef_add_switch_port_attr "switch0" 5 led 2
|
||||
;;
|
||||
netgear,wnr612-v2|\
|
||||
on,n150r|\
|
||||
tplink,tl-wr740n-v1|\
|
||||
tplink,tl-wr740n-v3|\
|
||||
tplink,tl-wr741-v1|\
|
||||
tplink,tl-wr743nd-v1|\
|
||||
tplink,tl-wr841-v5|\
|
||||
tplink,tl-wr941-v4)
|
||||
ucidef_set_interface_wan "eth0"
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth1" "1:lan" "2:lan" "3:lan" "4:lan"
|
||||
;;
|
||||
phicomm,k2t)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "3:lan:1" "5:lan:2" "4:wan"
|
||||
;;
|
||||
rosinson,wr818)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "1:lan" "2:lan" "3:wan"
|
||||
;;
|
||||
tplink,archer-a7-v5|\
|
||||
tplink,archer-c6-v2|\
|
||||
tplink,archer-c7-v4|\
|
||||
tplink,archer-c7-v5|\
|
||||
tplink,tl-wdr3600-v1|\
|
||||
tplink,tl-wdr4300-v1|\
|
||||
tplink,tl-wdr4300-v1-il|\
|
||||
tplink,tl-wdr4310-v1|\
|
||||
tplink,tl-wr941n-v7-cn)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
|
||||
;;
|
||||
tplink,archer-c5-v1|\
|
||||
tplink,archer-c7-v1|\
|
||||
tplink,archer-c7-v2|\
|
||||
tplink,tl-wdr4900-v2)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6@eth0" "1:wan"
|
||||
;;
|
||||
tplink,archer-d50-v1)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "1:wan"
|
||||
;;
|
||||
tplink,tl-mr3420-v2|\
|
||||
tplink,tl-wr740n-v4|\
|
||||
tplink,tl-wr740n-v5|\
|
||||
tplink,tl-wr741nd-v4|\
|
||||
tplink,tl-wr841-v8|\
|
||||
tplink,tl-wr842n-v2)
|
||||
ucidef_set_interface_wan "eth1"
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
|
||||
;;
|
||||
tplink,tl-wr1043nd-v1)
|
||||
ucidef_add_switch "switch0" \
|
||||
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
|
||||
;;
|
||||
tplink,tl-wr1043nd-v2|\
|
||||
tplink,tl-wr1043nd-v3)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "6@eth0"
|
||||
;;
|
||||
tplink,tl-wr2543-v1)
|
||||
ucidef_add_switch "switch0" \
|
||||
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
|
||||
;;
|
||||
tplink,tl-wr941-v2)
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
|
||||
;;
|
||||
ubnt,acb-isp)
|
||||
ucidef_set_interface_wan "eth1"
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "2:lan:1" "3:lan:3" "4:lan:2"
|
||||
;;
|
||||
ubnt,routerstation-pro)
|
||||
ucidef_set_interface_wan "eth0"
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth1" "2:lan:3" "3:lan:2" "4:lan:1"
|
||||
;;
|
||||
ubnt,nanostation-m-xw)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "5:lan" "1:wan"
|
||||
;;
|
||||
zbtlink,zbt-wd323|\
|
||||
xiaomi,mi-router-4q)
|
||||
ucidef_set_interface_wan "eth1"
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "3:lan:1" "4:lan:2"
|
||||
;;
|
||||
*)
|
||||
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
ath79_setup_macs()
|
||||
{
|
||||
local board="$1"
|
||||
|
||||
case "$board" in
|
||||
avm,fritz300e)
|
||||
lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
|
||||
;;
|
||||
avm,fritz4020)
|
||||
lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
|
||||
wan_mac=$(fritz_tffs -n macb -i $(find_mtd_part "tffs (1)"))
|
||||
;;
|
||||
dlink,dir-825-b1)
|
||||
lan_mac=$(mtd_get_mac_text "caldata" 65440)
|
||||
wan_mac=$(mtd_get_mac_text "caldata" 65460)
|
||||
;;
|
||||
dlink,dir-825-c1|\
|
||||
dlink,dir-835-a1)
|
||||
lan_mac=$(mtd_get_mac_text "mac" 4)
|
||||
wan_mac=$(mtd_get_mac_text "mac" 24)
|
||||
;;
|
||||
dlink,dir-859-a1|\
|
||||
nec,wg1200cr|\
|
||||
wd,mynet-n750)
|
||||
lan_mac=$(mtd_get_mac_ascii devdata "lanmac")
|
||||
wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
|
||||
;;
|
||||
elecom,wrc-1750ghbk2-i|\
|
||||
elecom,wrc-300ghbk2-i)
|
||||
wan_mac=$(macaddr_add "$(mtd_get_mac_binary art 4098)" -2)
|
||||
;;
|
||||
engenius,ecb1750)
|
||||
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
||||
;;
|
||||
engenius,epg5000|\
|
||||
iodata,wn-ac1167dgr|\
|
||||
iodata,wn-ac1600dgr|\
|
||||
iodata,wn-ac1600dgr2|\
|
||||
iodata,wn-ag300dgr)
|
||||
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
||||
wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
|
||||
;;
|
||||
engenius,ews511ap)
|
||||
lan_mac=$(mtd_get_mac_text "u-boot-env" 233)
|
||||
eth1_mac=$(macaddr_add "$lan_mac" 1)
|
||||
ucidef_set_interface "eth0" ifname "eth0" protocol "none" macaddr "$lan_mac"
|
||||
ucidef_set_interface "eth1" ifname "eth1" protocol "none" macaddr "$eth1_mac"
|
||||
;;
|
||||
iodata,etg3-r)
|
||||
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
||||
wan_mac=$(macaddr_add "$lan_mac" -1)
|
||||
;;
|
||||
jjplus,ja76pf2)
|
||||
wan_mac=$(fconfig -s -r -d $(find_mtd_part "RedBoot config") -n alias/ethaddr)
|
||||
lan_mac=$(macaddr_add "$wan_mac" 1)
|
||||
;;
|
||||
nec,wg800hp)
|
||||
lan_mac=$(mtd_get_mac_text board_data 640)
|
||||
wan_mac=$(mtd_get_mac_text board_data 1152)
|
||||
;;
|
||||
netgear,wndr3700|\
|
||||
netgear,wndr3700v2|\
|
||||
netgear,wndr3800)
|
||||
lan_mac=$(macaddr_setbit_la "$(mtd_get_mac_binary art 0)")
|
||||
;;
|
||||
phicomm,k2t)
|
||||
lan_mac=$(k2t_get_mac "lan_mac")
|
||||
wan_mac=$(k2t_get_mac "wan_mac")
|
||||
;;
|
||||
rosinson,wr818)
|
||||
wan_mac=$(mtd_get_mac_binary factory 0)
|
||||
lan_mac=$(macaddr_setbit_la "$wan_mac")
|
||||
;;
|
||||
tplink,archer-a7-v5|\
|
||||
tplink,archer-c7-v4|\
|
||||
tplink,archer-c7-v5|\
|
||||
tplink,tl-wr1043nd-v4|\
|
||||
tplink,tl-wr1043n-v5)
|
||||
base_mac=$(mtd_get_mac_binary info 8)
|
||||
wan_mac=$(macaddr_add "$base_mac" 1)
|
||||
;;
|
||||
tplink,tl-wdr3600-v1|\
|
||||
tplink,tl-wdr4300-v1|\
|
||||
tplink,tl-wdr4300-v1-il)
|
||||
base_mac=$(mtd_get_mac_binary u-boot 0x1fc00)
|
||||
wan_mac=$(macaddr_add "$base_mac" 1)
|
||||
;;
|
||||
tplink,tl-wr941-v2|\
|
||||
tplink,tl-wr941n-v7-cn)
|
||||
base_mac=$(mtd_get_mac_binary u-boot 130048)
|
||||
wan_mac=$(macaddr_add "$base_mac" 1)
|
||||
;;
|
||||
ubnt,routerstation|\
|
||||
ubnt,routerstation-pro)
|
||||
wan_mac=$(fconfig -s -r -d $(find_mtd_part "RedBoot config") -n ar7100_esa)
|
||||
lan_mac=$(macaddr_add "$wan_mac" 1)
|
||||
;;
|
||||
wd,mynet-wifi-rangeextender)
|
||||
lan_mac=$(nvram get et0macaddr)
|
||||
;;
|
||||
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)
|
||||
ath79_setup_interfaces $board
|
||||
ath79_setup_macs $board
|
||||
board_config_flush
|
||||
|
||||
exit 0
|
||||
55
target/linux/ath79/base-files/etc/board.d/03_gpio_switches
Executable file
55
target/linux/ath79/base-files/etc/board.d/03_gpio_switches
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2018 OpenWrt.org
|
||||
#
|
||||
|
||||
. /lib/functions/uci-defaults.sh
|
||||
|
||||
board_config_update
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
comfast,cf-e5)
|
||||
ucidef_add_gpio_switch "lte_power" "LTE Power" "14" "1"
|
||||
ucidef_add_gpio_switch "lte_wakeup" "LTE Wakeup" "11" "1"
|
||||
ucidef_add_gpio_switch "lte_poweroff" "LTE Poweroff" "1" "1"
|
||||
ucidef_add_gpio_switch "lte_reset" "LTE Reset" "12" "1"
|
||||
;;
|
||||
dlink,dir-825-c1|\
|
||||
dlink,dir-835-a1)
|
||||
ucidef_add_gpio_switch "wan_led_auto" "WAN LED Auto" "20" "0"
|
||||
;;
|
||||
librerouter,librerouter-v1)
|
||||
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "1" "0"
|
||||
;;
|
||||
tplink,archer-c25-v1)
|
||||
ucidef_add_gpio_switch "led_control" "LED control" "21" "0"
|
||||
ucidef_add_gpio_switch "led_reset" "LED reset" "19" "1"
|
||||
;;
|
||||
tplink,cpe220-v3)
|
||||
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "20"
|
||||
;;
|
||||
ubnt,nanostation-ac)
|
||||
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "3"
|
||||
;;
|
||||
ubnt,nanostation-m)
|
||||
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "8"
|
||||
;;
|
||||
ubnt,nanostation-m-xw)
|
||||
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "2"
|
||||
;;
|
||||
ubnt,acb-isp)
|
||||
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "11"
|
||||
;;
|
||||
zbtlink,zbt-wd323)
|
||||
ucidef_add_gpio_switch "io0" "IO#0" "0"
|
||||
ucidef_add_gpio_switch "io1" "IO#1" "1"
|
||||
ucidef_add_gpio_switch "io2" "IO#2" "2"
|
||||
ucidef_add_gpio_switch "io14" "IO#14" "14"
|
||||
;;
|
||||
esac
|
||||
|
||||
board_config_flush
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,240 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ -e /lib/firmware/$FIRMWARE ] && exit 0
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/system.sh
|
||||
|
||||
ath9k_eeprom_die() {
|
||||
echo "ath9k eeprom: " "$*"
|
||||
exit 1
|
||||
}
|
||||
|
||||
ath9k_eeprom_extract() {
|
||||
local part=$1
|
||||
local offset=$2
|
||||
local count=$3
|
||||
local mtd
|
||||
|
||||
mtd=$(find_mtd_chardev $part)
|
||||
[ -n "$mtd" ] || \
|
||||
ath9k_eeprom_die "no mtd device found for partition $part"
|
||||
|
||||
dd if=$mtd of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
|
||||
ath9k_eeprom_die "failed to extract from $mtd"
|
||||
}
|
||||
|
||||
ath9k_eeprom_extract_reverse() {
|
||||
local part=$1
|
||||
local offset=$2
|
||||
local count=$3
|
||||
local mtd
|
||||
local reversed
|
||||
local caldata
|
||||
|
||||
mtd=$(find_mtd_chardev "$part")
|
||||
reversed=$(hexdump -v -s $offset -n $count -e '/1 "%02x "' $mtd)
|
||||
|
||||
for byte in $reversed; do
|
||||
caldata="\x${byte}${caldata}"
|
||||
done
|
||||
|
||||
printf "%b" "$caldata" > /lib/firmware/$FIRMWARE
|
||||
}
|
||||
|
||||
xor() {
|
||||
local val
|
||||
local ret="0x$1"
|
||||
local retlen=${#1}
|
||||
|
||||
shift
|
||||
while [ -n "$1" ]; do
|
||||
val="0x$1"
|
||||
ret=$((ret ^ val))
|
||||
shift
|
||||
done
|
||||
|
||||
printf "%0${retlen}x" "$ret"
|
||||
}
|
||||
|
||||
ath9k_patch_fw_mac() {
|
||||
local mac=$1
|
||||
local mac_offset=$2
|
||||
local chksum_offset=$3
|
||||
local xor_mac
|
||||
local xor_fw_mac
|
||||
local xor_fw_chksum
|
||||
|
||||
[ -z "$mac" -o -z "$mac_offset" ] && return
|
||||
|
||||
[ -n "$chksum_offset" ] && {
|
||||
xor_mac=${mac//:/}
|
||||
xor_mac="${xor_mac:0:4} ${xor_mac:4:4} ${xor_mac:8:4}"
|
||||
|
||||
xor_fw_mac=$(hexdump -v -n 6 -s $mac_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
|
||||
xor_fw_mac="${xor_fw_mac:0:4} ${xor_fw_mac:4:4} ${xor_fw_mac:8:4}"
|
||||
|
||||
xor_fw_chksum=$(hexdump -v -n 2 -s $chksum_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
|
||||
xor_fw_chksum=$(xor $xor_fw_chksum $xor_fw_mac $xor_mac)
|
||||
|
||||
printf "%b" "\x${xor_fw_chksum:0:2}\x${xor_fw_chksum:2:2}" | \
|
||||
dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=$chksum_offset count=2
|
||||
}
|
||||
|
||||
macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE conv=notrunc oflag=seek_bytes bs=6 seek=$mac_offset count=1
|
||||
}
|
||||
|
||||
ath9k_patch_fw_mac_crc() {
|
||||
local mac=$1
|
||||
local mac_offset=$2
|
||||
local chksum_offset=$((mac_offset - 10))
|
||||
|
||||
ath9k_patch_fw_mac "${mac}" "${mac_offset}" "${chksum_offset}"
|
||||
}
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$FIRMWARE" in
|
||||
"ath9k-eeprom-ahb-18100000.wmac.bin")
|
||||
case $board in
|
||||
avm,fritz4020)
|
||||
ath9k_eeprom_extract_reverse "urlader" 5441 1088
|
||||
;;
|
||||
dlink,dir-825-c1|\
|
||||
dlink,dir-835-a1)
|
||||
ath9k_eeprom_extract "art" 4096 1088
|
||||
ath9k_patch_fw_mac $(mtd_get_mac_text "mac" 4) 2
|
||||
;;
|
||||
dlink,dir-859-a1|\
|
||||
nec,wg1200cr|\
|
||||
wd,mynet-n750)
|
||||
ath9k_eeprom_extract "art" 4096 1088
|
||||
ath9k_patch_fw_mac $(mtd_get_mac_ascii devdata "wlan24mac") 2
|
||||
;;
|
||||
engenius,ecb1750)
|
||||
ath9k_eeprom_extract "art" 4096 1088
|
||||
ath9k_patch_fw_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env "athaddr") +1) 2
|
||||
;;
|
||||
engenius,epg5000|\
|
||||
iodata,wn-ac1167dgr|\
|
||||
iodata,wn-ac1600dgr|\
|
||||
iodata,wn-ac1600dgr2|\
|
||||
iodata,wn-ag300dgr)
|
||||
ath9k_eeprom_extract "art" 4096 1088
|
||||
ath9k_patch_fw_mac $(mtd_get_mac_ascii u-boot-env ethaddr) 2
|
||||
;;
|
||||
nec,wg800hp)
|
||||
ath9k_eeprom_extract "art" 4096 1088
|
||||
ath9k_patch_fw_mac $(mtd_get_mac_text board_data 1664) 2
|
||||
;;
|
||||
*)
|
||||
ath9k_eeprom_die "board $board is not supported yet"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
"ath9k-eeprom-pci-0000:00:00.0.bin")
|
||||
case $board in
|
||||
avm,fritz300e)
|
||||
ath9k_eeprom_extract_reverse "urloader" 5441 1088
|
||||
;;
|
||||
buffalo,whr-g301n|\
|
||||
buffalo,wzr-hp-g302h-a1a0|\
|
||||
tplink,tl-wa701nd-v1|\
|
||||
tplink,tl-wa730re-v1|\
|
||||
tplink,tl-wa801nd-v1|\
|
||||
tplink,tl-wa830re-v1|\
|
||||
tplink,tl-wa901nd-v1|\
|
||||
tplink,tl-wr841-v5|\
|
||||
tplink,tl-wr941-v4)
|
||||
ath9k_eeprom_extract "art" 4096 3768
|
||||
;;
|
||||
buffalo,wzr-hp-g450h|\
|
||||
ubnt,unifi)
|
||||
ath9k_eeprom_extract "art" 4096 1088
|
||||
;;
|
||||
dlink,dir-825-c1|\
|
||||
dlink,dir-835-a1)
|
||||
ath9k_eeprom_extract "art" 20480 1088
|
||||
ath9k_patch_fw_mac $(macaddr_add $(mtd_get_mac_text "mac" 24) 1) 2
|
||||
;;
|
||||
ocedo,raccoon|\
|
||||
tplink,tl-wdr3500-v1|\
|
||||
tplink,tl-wdr3600-v1|\
|
||||
tplink,tl-wdr4300-v1|\
|
||||
tplink,tl-wdr4300-v1-il|\
|
||||
tplink,tl-wdr4310-v1|\
|
||||
tplink,tl-wdr4900-v2|\
|
||||
winchannel,wb2000)
|
||||
ath9k_eeprom_extract "art" 20480 1088
|
||||
;;
|
||||
netgear,wnr612-v2|\
|
||||
on,n150r|\
|
||||
pcs,cap324|\
|
||||
tplink,tl-mr3220-v1|\
|
||||
tplink,tl-mr3420-v1|\
|
||||
tplink,tl-wr2543-v1|\
|
||||
tplink,tl-wr740n-v1|\
|
||||
tplink,tl-wr740n-v3|\
|
||||
tplink,tl-wr741-v1|\
|
||||
tplink,tl-wr743nd-v1|\
|
||||
tplink,tl-wr841-v7|\
|
||||
tplink,tl-wr842n-v1|\
|
||||
ubnt,airrouter|\
|
||||
ubnt,bullet-m|\
|
||||
ubnt,nanostation-loco-m|\
|
||||
ubnt,nanostation-m|\
|
||||
ubnt,picostation-m|\
|
||||
ubnt,rocket-m)
|
||||
ath9k_eeprom_extract "art" 4096 4096
|
||||
;;
|
||||
pqi,air-pen)
|
||||
ath9k_eeprom_extract "art" 4096 2002
|
||||
;;
|
||||
wd,mynet-n750)
|
||||
ath9k_eeprom_extract "art" 20480 1088
|
||||
ath9k_patch_fw_mac $(mtd_get_mac_ascii devdata "wlan5mac") 2
|
||||
;;
|
||||
wd,mynet-wifi-rangeextender)
|
||||
ath9k_eeprom_extract "art" 4096 4096
|
||||
ath9k_patch_fw_mac $(nvram get wl0_hwaddr) 2
|
||||
;;
|
||||
*)
|
||||
ath9k_eeprom_die "board $board is not supported yet"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
"ath9k-eeprom-pci-0000:00:11.0.bin")
|
||||
case $board in
|
||||
buffalo,wzr-hp-ag300h|\
|
||||
netgear,wndr3700|\
|
||||
netgear,wndr3700v2|\
|
||||
netgear,wndr3800)
|
||||
ath9k_eeprom_extract "art" 4096 3768
|
||||
;;
|
||||
dlink,dir-825-b1)
|
||||
ath9k_eeprom_extract "caldata" 4096 3768
|
||||
ath9k_patch_fw_mac_crc $(mtd_get_mac_text "caldata" 65440) 524
|
||||
;;
|
||||
*)
|
||||
ath9k_eeprom_die "board $board is not supported yet"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
"ath9k-eeprom-pci-0000:00:12.0.bin")
|
||||
case $board in
|
||||
buffalo,wzr-hp-ag300h|\
|
||||
netgear,wndr3700|\
|
||||
netgear,wndr3700v2|\
|
||||
netgear,wndr3800)
|
||||
ath9k_eeprom_extract "art" 20480 3768
|
||||
;;
|
||||
dlink,dir-825-b1)
|
||||
ath9k_eeprom_extract "caldata" 20480 3768
|
||||
ath9k_patch_fw_mac_crc $(macaddr_add $(mtd_get_mac_text "caldata" 65460) 1) 524
|
||||
;;
|
||||
*)
|
||||
ath9k_eeprom_die "board $board is not supported yet"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,223 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions/k2t.sh
|
||||
|
||||
# xor multiple hex values of the same length
|
||||
xor() {
|
||||
local val
|
||||
local ret="0x$1"
|
||||
local retlen=${#1}
|
||||
|
||||
shift
|
||||
while [ -n "$1" ]; do
|
||||
val="0x$1"
|
||||
ret=$((ret ^ val))
|
||||
shift
|
||||
done
|
||||
|
||||
printf "%0${retlen}x" "$ret"
|
||||
}
|
||||
|
||||
ath10kcal_die() {
|
||||
echo "ath10cal: " "$*"
|
||||
exit 1
|
||||
}
|
||||
|
||||
ath10kcal_from_file() {
|
||||
local source=$1
|
||||
local offset=$2
|
||||
local count=$3
|
||||
|
||||
dd if=$source of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
|
||||
ath10kcal_die "failed to extract calibration data from $source"
|
||||
}
|
||||
|
||||
ath10kcal_extract() {
|
||||
local part=$1
|
||||
local offset=$2
|
||||
local count=$3
|
||||
local mtd
|
||||
|
||||
mtd=$(find_mtd_chardev $part)
|
||||
[ -n "$mtd" ] || \
|
||||
ath10kcal_die "no mtd device found for partition $part"
|
||||
|
||||
dd if=$mtd of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
|
||||
ath10kcal_die "failed to extract calibration data from $mtd"
|
||||
}
|
||||
|
||||
ath10kcal_patch_mac() {
|
||||
local mac=$1
|
||||
|
||||
[ -z "$mac" ] && return
|
||||
|
||||
macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE conv=notrunc oflag=seek_bytes bs=6 seek=6 count=1
|
||||
}
|
||||
|
||||
ath10kcal_patch_mac_crc() {
|
||||
local mac=$1
|
||||
local mac_offset=6
|
||||
local chksum_offset=2
|
||||
local xor_mac
|
||||
local xor_fw_mac
|
||||
local xor_fw_chksum
|
||||
|
||||
xor_fw_mac=$(hexdump -v -n 6 -s $mac_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
|
||||
xor_fw_mac="${xor_fw_mac:0:4} ${xor_fw_mac:4:4} ${xor_fw_mac:8:4}"
|
||||
|
||||
ath10kcal_patch_mac "$mac" && {
|
||||
xor_mac=${mac//:/}
|
||||
xor_mac="${xor_mac:0:4} ${xor_mac:4:4} ${xor_mac:8:4}"
|
||||
|
||||
xor_fw_chksum=$(hexdump -v -n 2 -s $chksum_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
|
||||
xor_fw_chksum=$(xor $xor_fw_chksum $xor_fw_mac $xor_mac)
|
||||
|
||||
printf "%b" "\x${xor_fw_chksum:0:2}\x${xor_fw_chksum:2:2}" | \
|
||||
dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=$chksum_offset count=2
|
||||
}
|
||||
}
|
||||
|
||||
[ -e /lib/firmware/$FIRMWARE ] && exit 0
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/system.sh
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$FIRMWARE" in
|
||||
"ath10k/cal-pci-0000:00:00.0.bin")
|
||||
case $board in
|
||||
devolo,dvl1200e|\
|
||||
devolo,dvl1200i|\
|
||||
devolo,dvl1750c|\
|
||||
devolo,dvl1750e|\
|
||||
devolo,dvl1750i|\
|
||||
devolo,dvl1750x)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary art 0) -1)
|
||||
;;
|
||||
dlink,dir-859-a1)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac")
|
||||
;;
|
||||
elecom,wrc-1750ghbk2-i)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
;;
|
||||
engenius,ecb1750)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac $(mtd_get_mac_ascii u-boot-env athaddr)
|
||||
;;
|
||||
engenius,epg5000|\
|
||||
iodata,wn-ac1167dgr|\
|
||||
iodata,wn-ac1600dgr2)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) +1)
|
||||
;;
|
||||
engenius,ews511ap)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1)
|
||||
;;
|
||||
glinet,gl-ar750s)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0) +1)
|
||||
;;
|
||||
glinet,gl-x750)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0) +2)
|
||||
;;
|
||||
nec,wg800hp)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac_crc $(mtd_get_mac_text board_data 2176)
|
||||
;;
|
||||
ocedo,koala|\
|
||||
ocedo,ursus)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac $(mtd_get_mac_binary art 12)
|
||||
;;
|
||||
openmesh,om5p-ac-v2)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
|
||||
;;
|
||||
tplink,archer-a7-v5|\
|
||||
tplink,archer-c2-v3|\
|
||||
tplink,archer-c7-v4|\
|
||||
tplink,archer-c7-v5|\
|
||||
tplink,archer-c25-v1)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary info 8) -1)
|
||||
;;
|
||||
tplink,archer-c5-v1|\
|
||||
tplink,archer-c7-v2)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary u-boot 0x1fc00) -1)
|
||||
;;
|
||||
tplink,archer-d50-v1)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary romfile 0xf100) +2)
|
||||
;;
|
||||
tplink,re350k-v1)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary config 0x10008) +2)
|
||||
;;
|
||||
tplink,re450-v2)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary info 8) +1)
|
||||
;;
|
||||
ubnt,unifiac-lite|\
|
||||
ubnt,unifiac-lr|\
|
||||
ubnt,unifiac-mesh|\
|
||||
ubnt,unifiac-mesh-pro|\
|
||||
ubnt,lap-120|\
|
||||
ubnt,nanobeam-ac|\
|
||||
ubnt,nanostation-ac|\
|
||||
ubnt,nanostation-ac-loco|\
|
||||
ubnt,unifiac-pro)
|
||||
ath10kcal_extract "EEPROM" 20480 2116
|
||||
;;
|
||||
yuncore,a770)
|
||||
ath10kcal_extract "art" 20480 2116
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
"ath10k/pre-cal-pci-0000:00:00.0.bin")
|
||||
case $board in
|
||||
nec,wg1200cr)
|
||||
ath10kcal_extract "art" 20480 12064
|
||||
ath10kcal_patch_mac_crc $(mtd_get_mac_ascii devdata wlan5mac)
|
||||
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
|
||||
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
|
||||
;;
|
||||
netgear,ex6400|\
|
||||
netgear,ex7300)
|
||||
ath10kcal_extract "caldata" 20480 12064
|
||||
ath10kcal_patch_mac $(mtd_get_mac_binary caldata 12)
|
||||
;;
|
||||
phicomm,k2t)
|
||||
ath10kcal_extract "art" 20480 12064
|
||||
ath10kcal_patch_mac_crc $(k2t_get_mac "5g_mac")
|
||||
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
|
||||
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
|
||||
;;
|
||||
tplink,archer-c58-v1|\
|
||||
tplink,archer-c59-v1|\
|
||||
tplink,archer-c60-v1|\
|
||||
tplink,archer-c60-v2|\
|
||||
tplink,archer-c60-v3|\
|
||||
tplink,archer-c6-v2)
|
||||
ath10kcal_extract "art" 20480 12064
|
||||
ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary mac 8) -1)
|
||||
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
|
||||
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
|
||||
;;
|
||||
yuncore,a782|\
|
||||
yuncore,xd4200)
|
||||
ath10kcal_extract "art" 20480 12064
|
||||
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
|
||||
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,51 @@
|
||||
#!/bin/sh
|
||||
|
||||
WIFI_PATH_CHANGED=0
|
||||
|
||||
. /lib/functions.sh
|
||||
|
||||
migrate_wifi_path() {
|
||||
local section="$1"
|
||||
local path
|
||||
|
||||
config_get path ${section} path
|
||||
case ${path} in
|
||||
"pci0000:01/0000:01:00.0")
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
tplink,archer-c7-v1|\
|
||||
tplink,archer-c7-v2)
|
||||
path="pci0000:00/0000:00:00.0"
|
||||
WIFI_PATH_CHANGED=1
|
||||
;;
|
||||
*)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
"platform/ahb/ahb:apb/18100000.wmac"|\
|
||||
"platform/ar933x_wmac"|\
|
||||
"platform/ar934x_wmac"|\
|
||||
"platform/qca953x_wmac"|\
|
||||
"platform/qca955x_wmac"|\
|
||||
"platform/qca956x_wmac")
|
||||
path="platform/ahb/18100000.wmac"
|
||||
WIFI_PATH_CHANGED=1
|
||||
;;
|
||||
*)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
uci set wireless.${section}.path=${path}
|
||||
}
|
||||
|
||||
[ "${ACTION}" = "add" ] && {
|
||||
[ ! -e /etc/config/wireless ] && return 0
|
||||
|
||||
config_load wireless
|
||||
config_foreach migrate_wifi_path wifi-device
|
||||
|
||||
[ "${WIFI_PATH_CHANGED}" = "1" ] && uci commit wireless
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
#!/bin/ash
|
||||
|
||||
[ "$ACTION" == "add" ] || exit 0
|
||||
|
||||
PHYNBR=${DEVPATH##*/phy}
|
||||
|
||||
[ -n $PHYNBR ] || exit 0
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/system.sh
|
||||
. /lib/functions/k2t.sh
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
iodata,wn-ag300dgr)
|
||||
# There is no eeprom data for 5 GHz wlan in "art" partition
|
||||
# which would allow to patch the macaddress
|
||||
[ "$PHYNBR" -eq 1 ] && \
|
||||
echo $(macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" 1) > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
iodata,wn-ac1600dgr)
|
||||
# There is no eeprom data for 5 GHz wlan in "art" partition
|
||||
# which would allow to patch the macaddress
|
||||
[ "$PHYNBR" -eq 0 ] && \
|
||||
echo $(macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" 1) > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
phicomm,k2t)
|
||||
# The K2T factory firmware does use LAN mac address as the 2.4G wifi mac address
|
||||
[ "$PHYNBR" -eq 1 ] && \
|
||||
echo $(k2t_get_mac "lan_mac") > /sys${DEVPATH}/macaddress
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/migrations.sh
|
||||
|
||||
board=$(board_name)
|
||||
boardonly="${board##*,}"
|
||||
|
||||
case "$board" in
|
||||
engenius,epg5000)
|
||||
migrate_leds ":wlan-2g=:wlan2g" ":wlan-5g=:wlan5g"
|
||||
;;
|
||||
pcs,cap324)
|
||||
migrate_leds "lan:amber=amber:lan" "lan:green=green:lan"
|
||||
;;
|
||||
tplink,archer-c25-v1|\
|
||||
tplink,archer-c58-v1|\
|
||||
tplink,archer-c59-v1|\
|
||||
tplink,archer-c7-v4|\
|
||||
tplink,archer-c7-v5|\
|
||||
tplink,tl-wr802n-v2)
|
||||
migrate_leds "^$boardonly:=tp-link:"
|
||||
;;
|
||||
tplink,archer-c7-v2|\
|
||||
tplink,tl-wdr3600-v1|\
|
||||
tplink,tl-wdr4300-v1|\
|
||||
tplink,tl-wdr4300-v1-il|\
|
||||
tplink,tl-wdr4310-v1|\
|
||||
tplink,tl-wr802n-v1)
|
||||
migrate_leds ":blue:=:green:"
|
||||
;;
|
||||
wd,mynet-n750)
|
||||
migrate_leds "wd:=mynet-n750:"
|
||||
;;
|
||||
esac
|
||||
|
||||
migrations_apply system
|
||||
|
||||
exit 0
|
||||
55
target/linux/ath79/base-files/lib/functions/k2t.sh
Executable file
55
target/linux/ath79/base-files/lib/functions/k2t.sh
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2018 Weijie Gao <hackpascal@gmail.com>
|
||||
#
|
||||
# Helper function to extract mac addresses from mtd part for Phicomm K2T
|
||||
#
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/system.sh
|
||||
. /usr/share/libubox/jshn.sh
|
||||
|
||||
k2t_config_load() {
|
||||
local mtd_blk=$(find_mtd_part config)
|
||||
|
||||
if [ -z "$mtd_blk" ]; then
|
||||
echo "k2t_config_load: no mtd part named config" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local json_size=$(dd if=$mtd_blk bs=1 count=8 2>/dev/null)
|
||||
|
||||
json_size="0x$json_size"
|
||||
json_size=$((json_size))
|
||||
|
||||
if [ "$?" -ne 0 ]; then
|
||||
echo "k2t_config_load: invalid json data size" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [ "$json_size" -eq 0 ]; then
|
||||
echo "k2t_config_load: empty json data" >&2
|
||||
exit 3
|
||||
fi
|
||||
|
||||
local json_data=$(dd if=$mtd_blk bs=1 skip=8 count=$json_size 2>/dev/null)
|
||||
|
||||
json_load "$json_data"
|
||||
}
|
||||
|
||||
k2t_get_mac() {
|
||||
local old_ns
|
||||
|
||||
json_set_namespace "k2t" old_ns
|
||||
|
||||
if k2t_config_load; then
|
||||
json_select "this_dev_info"
|
||||
json_get_var val "$1"
|
||||
json_select ..
|
||||
fi
|
||||
|
||||
json_set_namespace old_ns
|
||||
|
||||
echo $val
|
||||
}
|
||||
|
||||
54
target/linux/ath79/base-files/lib/upgrade/platform.sh
Normal file
54
target/linux/ath79/base-files/lib/upgrade/platform.sh
Normal file
@@ -0,0 +1,54 @@
|
||||
#
|
||||
# Copyright (C) 2011 OpenWrt.org
|
||||
#
|
||||
|
||||
PART_NAME=firmware
|
||||
REQUIRE_IMAGE_METADATA=1
|
||||
|
||||
redboot_fis_do_upgrade() {
|
||||
local append
|
||||
local sysup_file="$1"
|
||||
local kern_part="$2"
|
||||
local magic=$(get_magic_word "$sysup_file")
|
||||
|
||||
if [ "$magic" = "4349" ]; then
|
||||
local kern_length=0x$(dd if="$sysup_file" bs=2 skip=1 count=4 2>/dev/null)
|
||||
|
||||
[ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
|
||||
dd if="$sysup_file" bs=64k skip=1 2>/dev/null | \
|
||||
mtd -r $append -F$kern_part:$kern_length:0x80060000,rootfs write - $kern_part:rootfs
|
||||
|
||||
elif [ "$magic" = "7379" ]; then
|
||||
local board_dir=$(tar tf $sysup_file | grep -m 1 '^sysupgrade-.*/$')
|
||||
local kern_length=$(tar xf $sysup_file ${board_dir}kernel -O | wc -c)
|
||||
|
||||
[ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
|
||||
tar xf $sysup_file ${board_dir}kernel ${board_dir}root -O | \
|
||||
mtd -r $append -F$kern_part:$kern_length:0x80060000,rootfs write - $kern_part:rootfs
|
||||
|
||||
else
|
||||
echo "Unknown image, aborting!"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
platform_check_image() {
|
||||
return 0
|
||||
}
|
||||
|
||||
platform_do_upgrade() {
|
||||
local board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
jjplus,ja76pf2)
|
||||
redboot_fis_do_upgrade "$1" linux
|
||||
;;
|
||||
ubnt,routerstation|\
|
||||
ubnt,routerstation-pro)
|
||||
redboot_fis_do_upgrade "$1" kernel
|
||||
;;
|
||||
*)
|
||||
default_do_upgrade "$1"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
Reference in New Issue
Block a user