3d680c5728
The Sitecom firmware upgrade file has SENAO_FIRMWARE_TYPE 2 set. This looks rather wrong since SENAO_FIRMWARE_TYPE 2 is kernel only but the file is way to big for only including a kernel. The factory image need to have the dlf file extension. Otherwise the Sitecom firmware rejects the file. The stock firmware uses the following mac addresses: LAN: 00:0C:F6:AA:BB:D8 (u-boot env: ethaddr) 2,4: 00:0C:F6:AA:BB:D8 (EEPROM) 5: 00:0C:F6:AA:BB:DC (EEPROM) WAN: 00:0C:F6:AA:C8:43 (u-boot env: wanaddr) Assuming the mac address range :D8 to :DC is reserved for this device, the MAC addresses were reorder to have a unique MAC address for each interface: 2.4GHz: 00:0C:F6:AA:BB:D8 LAN: 00:0C:F6:AA:BB:D9 WAN: 00:0C:F6:AA:BB:DA 5 GHz: 00:0C:F6:AA:BB:DC The first MAC is assigned to the 2.4GHz WiFi interface to keep compatibility with the SSIDs printed on the case, which have the last three sextets of the MAC address appended. There are still issues with the rt2x00 driver. It is not possible to use both wireless interfaces at the same time. The 2.4 GHz wireless (PCIe) only works if the internal 5GHz wireless is/has been enabled or used for scanning. The internal 5GHz wireless only works if the 2.4GHz wireless (PCIe) was never enabled. Disabling the 2.4Ghz after it was enabled will result in stations seeing the 5Ghz AP but are unable to connect. Due to the not optimal working wifi the manufacture, backup and storage partitions of the OEM firmware are kept for now to allow an easy switch back to the Sitecom firmware. Signed-off-by: Jasper Scholte <NightNL@outlook.com> Signed-off-by: Mathias Kresin <dev@kresin.me>
411 lines
7.7 KiB
Bash
Executable file
411 lines
7.7 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
. /lib/functions.sh
|
|
. /lib/ramips.sh
|
|
. /lib/functions/uci-defaults.sh
|
|
. /lib/functions/system.sh
|
|
|
|
ramips_setup_rt3x5x_vlans()
|
|
{
|
|
if [ ! -x /sbin/swconfig ]; then
|
|
# legacy default
|
|
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
return
|
|
fi
|
|
local wanports=""
|
|
local lanports=""
|
|
for port in 5 4 3 2 1 0; do
|
|
if [ `swconfig dev rt305x port $port get disable` = "1" ]; then
|
|
continue
|
|
fi
|
|
if [ `swconfig dev rt305x port $port get lan` = "0" ]; then
|
|
wanports="$port:wan $wanports"
|
|
else
|
|
lanports="$port:lan $lanports"
|
|
fi
|
|
done
|
|
ucidef_add_switch "rt305x" $lanports $wanports "6t@eth0"
|
|
}
|
|
|
|
ramips_setup_interfaces()
|
|
{
|
|
local board="$1"
|
|
|
|
case $board in
|
|
3g150b|\
|
|
3g300m|\
|
|
a5-v11|\
|
|
all0256n|\
|
|
all5002|\
|
|
all5003|\
|
|
broadway|\
|
|
dcs-930|\
|
|
dcs-930l-b1|\
|
|
ht-tm02|\
|
|
linkits7688 | \
|
|
linkits7688d | \
|
|
m2m|\
|
|
microwrt|\
|
|
mpr-a2|\
|
|
ncs601w|\
|
|
timecloud|\
|
|
w150m|\
|
|
widora-neo|\
|
|
wnce2001|\
|
|
zbt-cpe102|\
|
|
zte-q7)
|
|
ucidef_add_switch "switch0"
|
|
ucidef_add_switch_attr "switch0" "enable" "false"
|
|
ucidef_set_interface_lan "eth0"
|
|
;;
|
|
mlw221|\
|
|
mr-102n)
|
|
ucidef_set_interface_lan "eth0.2"
|
|
;;
|
|
3g-6200n|\
|
|
ac1200pro|\
|
|
ai-br100|\
|
|
db-wrt01|\
|
|
dir-300-b7|\
|
|
dir-320-b1|\
|
|
dir-610-a1|\
|
|
dir-615-h1|\
|
|
firewrt|\
|
|
hlk-rm04|\
|
|
mac1200rv2|\
|
|
miwifi-mini|\
|
|
miwifi-nano|\
|
|
mt7621|\
|
|
mt7628|\
|
|
mzk-750dhp|\
|
|
mzk-w300nh2|\
|
|
nixcore|\
|
|
oy-0001|\
|
|
pbr-m1|\
|
|
psg1208|\
|
|
psg1218|\
|
|
sap-g3200u3|\
|
|
sk-wb8|\
|
|
vr500|\
|
|
wf-2881|\
|
|
witi|\
|
|
wl-wn575a3|\
|
|
wndr3700v5|\
|
|
wt1520|\
|
|
y1|\
|
|
youku-yk1|\
|
|
zbt-ape522ii|\
|
|
zbt-we826|\
|
|
zbt-wg2626|\
|
|
zbt-wg3526|\
|
|
zbt-wr8305rt)
|
|
ucidef_add_switch "switch0" \
|
|
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
|
|
;;
|
|
whr-300hp2|\
|
|
whr-600d|\
|
|
wsr-1166|\
|
|
wsr-600)
|
|
ucidef_add_switch "switch0" \
|
|
"0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
|
|
;;
|
|
ar670w|\
|
|
ar725w|\
|
|
rt-n15|\
|
|
wl-351)
|
|
ucidef_add_switch "switch0" \
|
|
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
|
|
;;
|
|
asl26555|\
|
|
re6500|\
|
|
rp-n53)
|
|
ucidef_add_switch "switch0" \
|
|
"1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
|
|
;;
|
|
atp-52b|\
|
|
awm002-evb|\
|
|
awm003-evb|\
|
|
c20i|\
|
|
c50|\
|
|
dir-645|\
|
|
dir-860l-b1|\
|
|
f5d8235-v1|\
|
|
f5d8235-v2|\
|
|
gl-mt300a|\
|
|
gl-mt300n|\
|
|
gl-mt750|\
|
|
hg255d|\
|
|
jhr-n805r|\
|
|
jhr-n825r|\
|
|
jhr-n926r|\
|
|
mzk-wdpr|\
|
|
rb750gr3|\
|
|
rt-n14u|\
|
|
ubnt-erx|\
|
|
ur-326n4g|\
|
|
wrtnode|\
|
|
wrtnode2p | \
|
|
wrtnode2r | \
|
|
wt3020|\
|
|
zbt-wa05)
|
|
ucidef_add_switch "switch0" \
|
|
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
|
|
;;
|
|
awapn2403)
|
|
ucidef_add_switch "switch0" \
|
|
"0:lan" "1:wan" "6@eth0"
|
|
;;
|
|
b2c|\
|
|
nw718|\
|
|
psr-680w|\
|
|
sl-r7205|\
|
|
ur-336un|\
|
|
w502u|\
|
|
wr6202)
|
|
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
;;
|
|
br-6475nd)
|
|
ucidef_add_switch "switch0" \
|
|
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
|
|
;;
|
|
cf-wr800n|\
|
|
ex2700)
|
|
ucidef_add_switch "switch0" \
|
|
"4:lan" "6t@eth0"
|
|
;;
|
|
cy-swr1100)
|
|
ucidef_add_switch "switch0" \
|
|
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
|
|
;;
|
|
cs-qr10|\
|
|
d105|\
|
|
dch-m225|\
|
|
hpm|\
|
|
mzk-ex300np|\
|
|
mzk-ex750np|\
|
|
na930|\
|
|
pbr-d1|\
|
|
wli-tx4-ag300n|\
|
|
wmr-300|\
|
|
wrh-300cr)
|
|
ucidef_set_interface_lan "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"
|
|
;;
|
|
mlwg2|\
|
|
wizard8800|\
|
|
wl-330n)
|
|
ucidef_set_interface_lan "eth0.1"
|
|
;;
|
|
mzk-dp150n|\
|
|
vocore)
|
|
ucidef_add_switch "switch0" \
|
|
"0:lan" "4:lan" "6t@eth0"
|
|
;;
|
|
newifi-d1)
|
|
ucidef_set_interface_lan_wan "eth0.1" "eth0.2"
|
|
ucidef_add_switch "switch0" \
|
|
"0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6t@eth0" "7t@eth0"
|
|
ucidef_add_switch "switch1" \
|
|
"4:lan" "6t@eth0" "7t@eth0"
|
|
;;
|
|
rt-n56u)
|
|
ucidef_add_switch "switch0" \
|
|
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0"
|
|
;;
|
|
tew-691gr|\
|
|
tew-692gr|\
|
|
wlr-6000)
|
|
ucidef_add_switch "switch0" \
|
|
"1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
|
|
;;
|
|
tew-714tru|\
|
|
v11st-fe|\
|
|
wzr-agl300nh)
|
|
ucidef_add_switch "switch0" \
|
|
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
|
|
;;
|
|
wcr-150gn)
|
|
ucidef_add_switch "switch0" \
|
|
"0:lan" "6t@eth0"
|
|
;;
|
|
whr-1166d)
|
|
ucidef_add_switch "switch0" \
|
|
"0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
|
|
;;
|
|
wizfi630a)
|
|
ucidef_add_switch "switch0" \
|
|
"1:lan" "2:lan" "0:wan" "6@eth0"
|
|
;;
|
|
*)
|
|
RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
|
|
if [ -n "${RT3X5X}" ]; then
|
|
ramips_setup_rt3x5x_vlans
|
|
else
|
|
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
fi
|
|
;;
|
|
esac
|
|
}
|
|
|
|
ramips_setup_macs()
|
|
{
|
|
local board="$1"
|
|
local lan_mac=""
|
|
local wan_mac=""
|
|
|
|
case $board in
|
|
a5-v11|\
|
|
ht-tm02)
|
|
lan_mac=$(cat /sys/class/net/eth0/address)
|
|
;;
|
|
all0239-3g|\
|
|
carambola|\
|
|
freestation5|\
|
|
w502u|\
|
|
wnce2001)
|
|
wan_mac=$(mtd_get_mac_binary factory 46)
|
|
;;
|
|
bc2|\
|
|
broadway|\
|
|
d105|\
|
|
dir-300-b7|\
|
|
dir-320-b1|\
|
|
dir-620-a1|\
|
|
esr-9753|\
|
|
freestation5|\
|
|
hlk-rm04|\
|
|
mpr-a1|\
|
|
psr-680w|\
|
|
sl-r7205|\
|
|
y1|\
|
|
y1s)
|
|
lan_mac=$(cat /sys/class/net/eth0/address)
|
|
lan_mac=$(macaddr_setbit_la "$lan_mac")
|
|
wan_mac=$(macaddr_add "$lan_mac" 1)
|
|
;;
|
|
br-6475nd)
|
|
lan_mac=$(cat /sys/class/net/eth0/address)
|
|
wan_mac=$(mtd_get_mac_binary devdata 7)
|
|
;;
|
|
cy-swr1100|\
|
|
dch-m225)
|
|
lan_mac=$(mtd_get_mac_ascii factory lanmac)
|
|
;;
|
|
dir-645)
|
|
lan_mac=$(mtd_get_mac_ascii nvram lanmac)
|
|
wan_mac=$(mtd_get_mac_ascii nvram wanmac)
|
|
;;
|
|
dir-860l-b1)
|
|
lan_mac=$(mtd_get_mac_ascii factory lanmac)
|
|
wan_mac=$(mtd_get_mac_ascii factory wanmac)
|
|
;;
|
|
e1700)
|
|
wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
|
|
;;
|
|
hc5*61)
|
|
lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
|
|
[ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
|
|
wan_mac=$(macaddr_add "$lan_mac" 1)
|
|
;;
|
|
linkits7688 | \
|
|
linkits7688d)
|
|
wan_mac=$(mtd_get_mac_binary factory 4)
|
|
lan_mac=$(mtd_get_mac_binary factory 46)
|
|
;;
|
|
mac1200rv2)
|
|
lan_mac=$(mtd_get_mac_binary factory_info 13)
|
|
wan_mac=$(macaddr_add "$lan_mac" 1)
|
|
;;
|
|
m3|\
|
|
m4|\
|
|
x5|\
|
|
x8)
|
|
lan_mac=$(cat /sys/class/net/eth0/address)
|
|
lan_mac=$(macaddr_add "$lan_mac" -2)
|
|
;;
|
|
newifi-d1)
|
|
lan_mac=$(cat /sys/class/net/eth0/address)
|
|
lan_mac=$(macaddr_add "$lan_mac" 2)
|
|
;;
|
|
oy-0001)
|
|
lan_mac=$(mtd_get_mac_binary factory 40)
|
|
wan_mac=$(mtd_get_mac_binary factory 46)
|
|
;;
|
|
rt-n56u)
|
|
lan_mac=$(cat /sys/class/net/eth0/address)
|
|
lan_mac=$(macaddr_setbit_la "$lan_mac")
|
|
wan_mac=$(mtd_get_mac_binary factory 32772)
|
|
;;
|
|
sk-wb8)
|
|
wan_mac=$(mtd_get_mac_binary factory 57350)
|
|
;;
|
|
tew-691gr)
|
|
wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 3)
|
|
;;
|
|
tew-692gr)
|
|
wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 1)
|
|
;;
|
|
tiny-ac)
|
|
lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
|
|
wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
|
|
;;
|
|
vr500)
|
|
lan_mac=$(mtd_get_mac_binary factory 57344)
|
|
wan_mac=$(mtd_get_mac_binary factory 57350)
|
|
;;
|
|
w306r-v20)
|
|
lan_mac=$(cat /sys/class/net/eth0/address)
|
|
wan_mac=$(macaddr_add "$lan_mac" 5)
|
|
;;
|
|
wcr-150gn)
|
|
wan_mac=$(mtd_get_mac_binary factory 40)
|
|
;;
|
|
whr-1166d|\
|
|
whr-300hp2|\
|
|
whr-600d|\
|
|
wsr-600)
|
|
wan_mac=$(mtd_get_mac_binary factory 4)
|
|
lan_mac=$wan_mac
|
|
;;
|
|
wizfi630a)
|
|
lan_mac=$(mtd_get_mac_binary factory 4)
|
|
wan_mac=$(mtd_get_mac_binary factory 40)
|
|
;;
|
|
wlr-6000)
|
|
wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 32772)" 2)
|
|
;;
|
|
wsr-1166)
|
|
local index="$(find_mtd_index "board_data")"
|
|
wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
|
|
lan_mac=$wan_mac
|
|
;;
|
|
*)
|
|
lan_mac=$(cat /sys/class/net/eth0/address)
|
|
wan_mac=$(macaddr_add "$lan_mac" 1)
|
|
;;
|
|
esac
|
|
|
|
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
|
|
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
|
|
}
|
|
|
|
board_config_update
|
|
board=$(ramips_board_name)
|
|
ramips_setup_interfaces $board
|
|
ramips_setup_macs $board
|
|
board_config_flush
|
|
|
|
exit 0
|