aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtarget/linux/ramips/mt7620/base-files/etc/init.d/bootcount13
-rwxr-xr-xtarget/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh16
-rwxr-xr-xtarget/linux/ramips/mt76x8/base-files/etc/init.d/bootcount4
-rwxr-xr-xtarget/linux/ramips/mt76x8/base-files/lib/upgrade/platform.sh15
4 files changed, 48 insertions, 0 deletions
diff --git a/target/linux/ramips/mt7620/base-files/etc/init.d/bootcount b/target/linux/ramips/mt7620/base-files/etc/init.d/bootcount
new file mode 100755
index 0000000000..c7b6919926
--- /dev/null
+++ b/target/linux/ramips/mt7620/base-files/etc/init.d/bootcount
@@ -0,0 +1,13 @@
+#!/bin/sh /etc/rc.common
+
+START=99
+
+boot() {
+ case $(board_name) in
+ alfa-network,ac1200rm|\
+ alfa-network,tube-e4g)
+ [ -n "$(fw_printenv bootcount bootchanged 2>/dev/null)" ] &&\
+ echo -e "bootcount\nbootchanged\n" | /usr/sbin/fw_setenv -s -
+ ;;
+ esac
+}
diff --git a/target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh
index 786d57fc70..aad243c1f9 100755
--- a/target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh
@@ -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
}
@@ -13,6 +16,19 @@ platform_do_upgrade() {
local board=$(board_name)
case "$board" in
+ alfa-network,ac1200rm|\
+ 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"
+ ;;
*)
default_do_upgrade "$1"
;;
diff --git a/target/linux/ramips/mt76x8/base-files/etc/init.d/bootcount b/target/linux/ramips/mt76x8/base-files/etc/init.d/bootcount
index 0d64deb9e0..3c21433cc5 100755
--- a/target/linux/ramips/mt76x8/base-files/etc/init.d/bootcount
+++ b/target/linux/ramips/mt76x8/base-files/etc/init.d/bootcount
@@ -4,6 +4,10 @@ START=99
boot() {
case $(board_name) in
+ alfa-network,awusfree1)
+ [ -n "$(fw_printenv bootcount bootchanged 2>/dev/null)" ] &&\
+ echo -e "bootcount\nbootchanged\n" | /usr/sbin/fw_setenv -s -
+ ;;
xiaomi,miwifi-nano)
fw_setenv flag_boot_success 1
;;
diff --git a/target/linux/ramips/mt76x8/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt76x8/base-files/lib/upgrade/platform.sh
index 606a9f2bf6..a3de97abf7 100755
--- a/target/linux/ramips/mt76x8/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/mt76x8/base-files/lib/upgrade/platform.sh
@@ -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
}
@@ -13,6 +16,18 @@ platform_do_upgrade() {
local board=$(board_name)
case "$board" in
+ alfa-network,awusfree1)
+ [ "$(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"
+ ;;
tplink,archer-c50-v4)
MTD_ARGS="-t romfile"
default_do_upgrade "$1"