mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-10-06 14:20:23 +03:00
ar71xx: verify hardware id of firmware images on TP-Link boards
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29455 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
6f27fcc4b0
commit
f6ab961f67
@ -48,6 +48,16 @@ wndr3700_board_detect() {
|
|||||||
AR71XX_MODEL="$machine"
|
AR71XX_MODEL="$machine"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tplink_get_hwid() {
|
||||||
|
local part
|
||||||
|
local hwid
|
||||||
|
|
||||||
|
part=$(find_mtd_part firmware)
|
||||||
|
[ -z "$part" ] && return 1
|
||||||
|
|
||||||
|
dd if=$part bs=4 count=1 skip=16 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
|
||||||
|
}
|
||||||
|
|
||||||
ar71xx_board_detect() {
|
ar71xx_board_detect() {
|
||||||
local machine
|
local machine
|
||||||
local name
|
local name
|
||||||
|
@ -61,6 +61,10 @@ platform_do_upgrade_combined() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tplink_get_image_hwid() {
|
||||||
|
get_image "$@" | dd bs=4 count=1 skip=16 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
|
||||||
|
}
|
||||||
|
|
||||||
platform_check_image() {
|
platform_check_image() {
|
||||||
local board=$(ar71xx_board_name)
|
local board=$(ar71xx_board_name)
|
||||||
local magic="$(get_magic_word "$1")"
|
local magic="$(get_magic_word "$1")"
|
||||||
@ -125,6 +129,18 @@ platform_check_image() {
|
|||||||
echo "Invalid image type."
|
echo "Invalid image type."
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local hwid
|
||||||
|
local imageid
|
||||||
|
|
||||||
|
hwid=$(tplink_get_hwid)
|
||||||
|
imageid=$(tplink_get_image_hwid "$1")
|
||||||
|
|
||||||
|
[ "$hwid" != "$imageid" ] && {
|
||||||
|
echo "Invalid image, hardware ID mismatch, hw:$hwid image:$imageid."
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
wndr3700)
|
wndr3700)
|
||||||
|
Loading…
Reference in New Issue
Block a user