ar71xx: Add TP-Link Pharos v2 board detection
[openwrt/staging/yousong.git] / target / linux / ar71xx / base-files / lib / upgrade / platform.sh
index a7968b5bb084b6f18c604c996af6d78d90aff464..41e60d7f01242b5830a8dbe60db42eb0ce0d6c71 100755 (executable)
@@ -97,10 +97,11 @@ tplink_pharos_check_support_list() {
        local image="$1"
        local offset="$2"
        local model="$3"
+       local trargs="$4"
 
        # Here $image is given to dd directly instead of using get_image;
        # otherwise the skip will take almost a second (as dd can't seek)
-       dd if="$image" bs=1 skip=$offset count=1024 2>/dev/null | (
+       dd if="$image" bs=1 skip=$offset count=1024 2>/dev/null | tr -d "$trargs" | (
                while IFS= read -r line; do
                        [ "$line" = "$model" ] && exit 0
                done
@@ -110,17 +111,19 @@ tplink_pharos_check_support_list() {
 }
 
 tplink_pharos_check_image() {
-       local magic_long="$(get_magic_long "$1")"
-       [ "$magic_long" != "7f454c46" ] && {
-               echo "Invalid image magic '$magic_long'"
+       local image_magic="$(get_magic_long "$1")"
+       local board_magic="$2"
+       [ "$image_magic" != "$board_magic" ] && {
+               echo "Invalid image magic '$image_magic'. Expected '$board_magic'."
                return 1
        }
 
-       local model_string="$(tplink_pharos_get_model_string)"
+       local model_string="$3"
+       local trargs="$4"
 
        # New images have the support list at 7802888, old ones at 1511432
-       tplink_pharos_check_support_list "$1" 7802888 "$model_string" || \
-       tplink_pharos_check_support_list "$1" 1511432 "$model_string" || {
+       tplink_pharos_check_support_list "$1" 7802888 "$model_string" "$trargs" || \
+       tplink_pharos_check_support_list "$1" 1511432 "$model_string" "$trargs" || {
                echo "Unsupported image (model not in support-list)"
                return 1
        }
@@ -579,7 +582,11 @@ platform_check_image() {
        eap120|\
        wbs210|\
        wbs510)
-               tplink_pharos_check_image "$1" && return 0
+               tplink_pharos_check_image "$1" "7f454c46" "$(tplink_pharos_get_model_string)" '' && return 0
+               return 1
+               ;;
+       cpe210-v2)
+               tplink_pharos_check_image "$1" "01000000" "$(tplink_pharos_v2_get_model_string)" '\0\xff\r' && return 0
                return 1
                ;;
        a40|\