Author: blogic
Date: 2014-10-14 14:21:36 +0200 (Tue, 14 Oct 2014)
New Revision: 42914
Modified:
trunk/package/boot/uboot-envtools/files/ar71xx
trunk/target/linux/ar71xx/base-files/etc/diag.sh
Log:
ar71xx: qihoo-c301: reset imageNtrynum after each successful boot.
Qihoo C301 has 2 flash chips of which one is used as primary and the
other is used as backup. OEM U-Boot will try to boot an activeregion N
with imageNstatus=0 and imageNtrynum <= imagemaxtry. If such a region
is found, bootloader will try to increment imageNtrynum and boot it.
This patch tries to reset imageNtrynum after each successful boot (if
the boot process reaches the execution of /etc/init.d/done).
root@OpenWrt:/# hexdump -C -n 128 /dev/mtdblock9
00000000 9e f3 63 91 61 63 74 69 76 65 72 65 67 69 6f 6e
|..c.activeregion|
00000010 3d 31 00 69 6d 61 67 65 31 73 74 61 74 75 73 3d
|=1.image1status=|
00000020 30 00 69 6d 61 67 65 32 73 74 61 74 75 73 3d 30
|0.image2status=0|
00000030 00 69 6d 61 67 65 32 74 72 79 6e 75 6d 3d 30 00
|.image2trynum=0.|
00000040 69 6d 61 67 65 6d 61 78 74 72 79 3d 33 00 69 6d
|imagemaxtry=3.im|
00000050 61 67 65 31 74 72 79 6e 75 6d 3d 30 00 00 00 00
|age1trynum=0....|
00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
Signed-off-by: Yousong Zhou <[email protected]>
Modified: trunk/package/boot/uboot-envtools/files/ar71xx
===================================================================
--- trunk/package/boot/uboot-envtools/files/ar71xx 2014-10-14 12:21:24 UTC
(rev 42913)
+++ trunk/package/boot/uboot-envtools/files/ar71xx 2014-10-14 12:21:36 UTC
(rev 42914)
@@ -41,6 +41,9 @@
wzr-hp-ag300h)
ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x10000" "0x10000"
;;
+qihoo-c301)
+ ubootenv_add_uci_config "/dev/mtd9" "0x0" "0x10000" "0x10000"
+ ;;
esac
config_load ubootenv
Modified: trunk/target/linux/ar71xx/base-files/etc/diag.sh
===================================================================
--- trunk/target/linux/ar71xx/base-files/etc/diag.sh 2014-10-14 12:21:24 UTC
(rev 42913)
+++ trunk/target/linux/ar71xx/base-files/etc/diag.sh 2014-10-14 12:21:36 UTC
(rev 42914)
@@ -297,6 +297,12 @@
;;
done)
status_led_on
+ case $(ar71xx_board_name) in
+ qihoo-c301)
+ local n=$(fw_printenv activeregion | cut -d = -f 2)
+ fw_setenv "image${n}trynum" 0
+ ;;
+ esac
;;
esac
}
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits