ar71xx: add support for TP-LINK TL-WR842N/ND v3
[openwrt/openwrt.git] / target / linux / ar71xx / base-files / lib / upgrade / platform.sh
index 1d3695f372f022266429eb0122d7a51d2ef7c285..0d6aa6b67e87113308970a33b69e0728d01ddd99 100755 (executable)
@@ -66,6 +66,10 @@ tplink_get_image_hwid() {
        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"'
 }
@@ -251,6 +255,7 @@ platform_check_image() {
        rw2458n | \
        wpj531 | \
        wndap360 | \
+       wpj342 | \
        wpj344 | \
        wzr-hp-g300nh2 | \
        wzr-hp-g300nh | \
@@ -263,7 +268,8 @@ platform_check_image() {
        wlae-ag300n | \
        nbg460n_550n_550nh | \
        unifi | \
-       unifiac | \
+       unifiac-lite | \
+       unifiac-pro | \
        unifi-outdoor | \
        carambola2 | \
        weio )
@@ -318,7 +324,9 @@ platform_check_image() {
        om2p-hsv2 | \
        om2p-lc | \
        om5p | \
-       om5p-an)
+       om5p-an | \
+       om5p-ac | \
+       om5p-acv2)
                platform_check_image_openmesh "$magic_long" "$1" && return 0
                return 1
                ;;
@@ -333,6 +341,7 @@ platform_check_image() {
        gl-inet | \
        mc-mac1200r | \
        minibox-v1 |\
+       omy-g1 |\
        omy-x1 |\
        onion-omega | \
        oolite | \
@@ -359,6 +368,7 @@ platform_check_image() {
        tl-wa901nd | \
        tl-wa901nd-v2 | \
        tl-wa901nd-v3 | \
+       tl-wa901nd-v4 | \
        tl-wdr3320-v2 | \
        tl-wdr3500 | \
        tl-wdr4300 | \
@@ -369,12 +379,14 @@ platform_check_image() {
        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-wr842n-v2 | \
+       tl-wr842n-v3 | \
        tl-wr941nd | \
        tl-wr941nd-v5 | \
        tl-wr941nd-v6 | \
@@ -396,13 +408,17 @@ platform_check_image() {
                }
 
                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
                }
 
@@ -567,7 +583,9 @@ platform_do_upgrade() {
        om2p-hsv2 | \
        om2p-lc | \
        om5p | \
-       om5p-an)
+       om5p-an | \
+       om5p-ac | \
+       om5p-acv2)
                platform_do_upgrade_openmesh "$ARGV"
                ;;
        unifi-outdoor-plus | \