get_image "$@" | dd bs=4 count=1 skip=16 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
}
+tplink_get_image_mid() {
+ get_image "$@" | dd bs=4 count=1 skip=17 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
+}
+
tplink_get_image_boot_size() {
get_image "$@" | dd bs=4 count=1 skip=37 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
}
case "$board" in
all0315n | \
all0258n | \
- cap4200ag)
+ cap324 | \
+ cap4200ag | \
+ cr3000 |\
+ cr5000)
platform_check_image_allnet "$1" && return 0
return 1
;;
alfa-ap96 | \
alfa-nx | \
+ arduino-yun | \
ap113 | \
ap121 | \
ap121-mini | \
ap136-020 | \
ap135-020 | \
ap147-010 | \
+ ap152 | \
ap96 | \
bxu2000n-2-a1 | \
db120 | \
+ dr344 | \
f9k1115v2 |\
hornet-ub | \
mr12 | \
ap81 | \
ap83 | \
ap132 | \
+ c-55 | \
+ cf-e316n-v2 | \
dgl-5500-a1 |\
dhp-1565-a1 |\
dir-505-a1 | \
dir-615-i1 | \
dir-825-c1 | \
dir-835-a1 | \
+ dlan-hotspot | \
dlan-pro-500-wp | \
dlan-pro-1200-ac | \
dragino2 | \
esr900 | \
ew-dorin | \
ew-dorin-router | \
+ gl-ar150 | \
+ gl-ar300 | \
+ gl-domino | \
hiwifi-hc6361 | \
hornet-ub-x2 | \
mzk-w04nu | \
tew-632brp | \
tew-712br | \
tew-732br | \
+ tew-823dru | \
wrt400n | \
airgateway | \
+ airgatewaypro | \
airrouter | \
bullet-m | \
loco-m-xw | \
rw2458n | \
wpj531 | \
wndap360 | \
+ wpj342 | \
wpj344 | \
wzr-hp-g300nh2 | \
wzr-hp-g300nh | \
wlae-ag300n | \
nbg460n_550n_550nh | \
unifi | \
+ unifiac-lite | \
+ unifiac-pro | \
unifi-outdoor | \
- carambola2 )
+ carambola2 | \
+ weio | \
+ wrtnode2q)
[ "$magic" != "2705" ] && {
echo "Invalid image type."
return 1
return 0
;;
+ cpe210|\
cpe510)
tplink_pharos_check_image "$1" && return 0
return 1
return 0;
;;
+ mr1750 | \
+ mr1750v2 | \
mr600 | \
mr600v2 | \
mr900 | \
om2pv2 | \
om2p-hs | \
om2p-hsv2 | \
+ om2p-hsv3 | \
om2p-lc | \
om5p | \
- om5p-an)
+ om5p-an | \
+ om5p-ac | \
+ om5p-acv2)
platform_check_image_openmesh "$magic_long" "$1" && return 0
return 1
;;
antminer-s1 | \
antminer-s3 | \
+ antrouter-r1 | \
archer-c5 | \
archer-c7 | \
el-m150 | \
el-mini | \
gl-inet | \
mc-mac1200r | \
+ minibox-v1 |\
+ omy-g1 |\
+ omy-x1 |\
onion-omega | \
oolite | \
smart-300 | \
+ som9331 | \
+ tellstick-znet-lite | \
tl-mr10u | \
tl-mr11u | \
tl-mr12u | \
tl-wa901nd | \
tl-wa901nd-v2 | \
tl-wa901nd-v3 | \
+ tl-wa901nd-v4 | \
+ tl-wdr3320-v2 | \
tl-wdr3500 | \
tl-wdr4300 | \
tl-wdr4900-v2 | \
tl-wr720n-v3 | \
tl-wr741nd | \
tl-wr741nd-v4 | \
+ tl-wr810n | \
tl-wr841n-v1 | \
tl-wa830re-v2 | \
tl-wr841n-v7 | \
tl-wr841n-v8 | \
tl-wr841n-v9 | \
+ tl-wr841n-v11 | \
tl-wr842n-v2 | \
+ tl-wr842n-v3 | \
tl-wr941nd | \
tl-wr941nd-v5 | \
+ tl-wr941nd-v6 | \
tl-wr1041n-v2 | \
tl-wr1043nd | \
tl-wr1043nd-v2 | \
}
local hwid
- local imageid
+ local mid
+ local imagehwid
+ local imagemid
hwid=$(tplink_get_hwid)
- imageid=$(tplink_get_image_hwid "$1")
+ mid=$(tplink_get_mid)
+ imagehwid=$(tplink_get_image_hwid "$1")
+ imagemid=$(tplink_get_image_mid "$1")
- [ "$hwid" != "$imageid" ] && {
- echo "Invalid image, hardware ID mismatch, hw:$hwid image:$imageid."
+ [ "$hwid" != "$imagehwid" -o "$mid" != "$imagemid" ] && {
+ echo "Invalid image, hardware ID mismatch, hw:$hwid $mid image:$imagehwid $imagemid."
return 1
}
return 1
;;
+ nbg6616 | \
unifi-outdoor-plus | \
uap-pro)
[ "$magic_long" != "19852003" ] && {
wndr3700 | \
wnr2000-v3 | \
wnr612-v2 | \
- wnr1000-v2)
+ wnr1000-v2 | \
+ wpn824n)
local hw_magic
hw_magic="$(ar71xx_get_mtd_part_magic firmware)"
}
return 0
;;
+ mr18)
+ merakinand_do_platform_check $board $1
+ return $?;
+ ;;
nbg6716 | \
r6100 | \
wndr3700v4 | \
fi
return 0
;;
- wnr2000-v4)
+ wnr2000-v4)
[ "$magic_long" != "32303034" ] && {
echo "Invalid image type."
return 1
}
return 0
;;
+ wnr2200)
+ [ "$magic_long" != "32323030" ] && {
+ echo "Invalid image type."
+ return 1
+ }
+ return 0
+ ;;
esac
wndr4300 )
nand_do_upgrade "$1"
;;
+ mr18)
+ merakinand_do_upgrade "$1"
+ ;;
esac
}
tew-673gru)
platform_do_upgrade_dir825b "$ARGV"
;;
+ mr1750 | \
+ mr1750v2 | \
mr600 | \
mr600v2 | \
mr900 | \
om2pv2 | \
om2p-hs | \
om2p-hsv2 | \
+ om2p-hsv3 | \
om2p-lc | \
om5p | \
- om5p-an)
+ om5p-an | \
+ om5p-ac | \
+ om5p-acv2)
platform_do_upgrade_openmesh "$ARGV"
;;
unifi-outdoor-plus | \