On 14/09/2014 02:27, Yousong Zhou wrote: > 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 <yszhou4t...@gmail.com>
do we need this patch and the one made by swigger ? it seems his patch write the crc32 somewhere and your patch resets the uboot-env. > --- > package/boot/uboot-envtools/files/ar71xx | 3 +++ > target/linux/ar71xx/base-files/etc/diag.sh | 6 ++++++ > 2 files changed, 9 insertions(+) > > diff --git a/package/boot/uboot-envtools/files/ar71xx > b/package/boot/uboot-envtools/files/ar71xx > index 5deed9c..f660883 100644 > --- a/package/boot/uboot-envtools/files/ar71xx > +++ b/package/boot/uboot-envtools/files/ar71xx > @@ -41,6 +41,9 @@ om2p-lc) > 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 > diff --git a/target/linux/ar71xx/base-files/etc/diag.sh > b/target/linux/ar71xx/base-files/etc/diag.sh > index ac7e20d..c7c6233 100755 > --- a/target/linux/ar71xx/base-files/etc/diag.sh > +++ b/target/linux/ar71xx/base-files/etc/diag.sh > @@ -294,6 +294,12 @@ set_state() { > ;; > 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-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel