aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/base-files
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm47xx/base-files')
-rw-r--r--target/linux/brcm47xx/base-files/lib/upgrade/platform.sh12
1 files changed, 12 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/base-files/lib/upgrade/platform.sh b/target/linux/brcm47xx/base-files/lib/upgrade/platform.sh
index d216ca4d04..412d6daaff 100644
--- a/target/linux/brcm47xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/brcm47xx/base-files/lib/upgrade/platform.sh
@@ -1,5 +1,11 @@
PART_NAME=firmware
+# $(1): file to read magic from
+# $(2): offset in bytes
+get_magic_long_at() {
+ dd if="$1" skip=$2 bs=1 count=4 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
+}
+
brcm47xx_identify() {
local magic
@@ -15,6 +21,12 @@ brcm47xx_identify() {
;;
esac
+ magic=$(get_magic_long_at "$1" 14)
+ [ "$magic" = "55324e44" ] && {
+ echo "cybertan"
+ return
+ }
+
echo "unknown"
}