It does NOT run on my router. root@OpenWrt:~# cat /etc/config/ubootenv config ubootenv option dev '/dev/mtd9' option offset '0x0' option envsize '0x10000' option secsize '0x10000' root@OpenWrt:~# fw_printenv Cannot parse config file: No such file or directory
What's wrong? -----邮件原件----- 发件人: Yousong Zhou [mailto:[email protected]] 发送时间: 2014年9月14日 8:28 收件人: [email protected] 抄送: [email protected]; [email protected]; [email protected]; [email protected]; Yousong Zhou 主题: [PATCH] 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]> --- 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 } -- 1.7.10.4 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
