ramips: add support for ALFA Network Quad-E4G
[openwrt/openwrt.git] / target / linux / ramips / base-files / lib / upgrade / platform.sh
index 67b0f3e7f47f9a1099f5de62f3fba8f12948acb5..3b967aac871ed48e6f3163bac9ed14cc4b7b52c0 100755 (executable)
@@ -5,6 +5,9 @@
 PART_NAME=firmware
 REQUIRE_IMAGE_METADATA=1
 
+RAMFS_COPY_BIN='fw_printenv fw_setenv'
+RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
+
 platform_check_image() {
        return 0
 }
@@ -27,7 +30,7 @@ platform_nand_pre_upgrade() {
        case "$board" in
        ubnt-erx|\
        ubnt-erx-sfp)
-               platform_upgrade_ubnt_erx "$ARGV"
+               platform_upgrade_ubnt_erx "$1"
                ;;
        esac
 }
@@ -36,21 +39,37 @@ platform_do_upgrade() {
        local board=$(board_name)
 
        case "$board" in
+       alfa-network,ac1200rm|\
+       alfa-network,awusfree1|\
+       alfa-network,quad-e4g|\
+       alfa-network,r36m-e4g|\
+       alfa-network,tube-e4g)
+               [ "$(fw_printenv -n dual_image 2>/dev/null)" = "1" ] &&\
+               [ -n "$(find_mtd_part backup)" ] && {
+                       PART_NAME=backup
+                       if [ "$(fw_printenv -n bootactive 2>/dev/null)" = "1" ]; then
+                               fw_setenv bootactive 2 || exit 1
+                       else
+                               fw_setenv bootactive 1 || exit 1
+                       fi
+               }
+               default_do_upgrade "$1"
+               ;;
        hc5962|\
-       mir3g|\
        r6220|\
        netgear,r6350|\
        ubnt-erx|\
        ubnt-erx-sfp|\
+       xiaomi,mir3g|\
        xiaomi,mir3p)
-               nand_do_upgrade "$ARGV"
+               nand_do_upgrade "$1"
                ;;
        tplink,c50-v4)
                MTD_ARGS="-t romfile"
-               default_do_upgrade "$ARGV"
+               default_do_upgrade "$1"
                ;;
        *)
-               default_do_upgrade "$ARGV"
+               default_do_upgrade "$1"
                ;;
        esac
 }