2 # Copyright (C) 2010 OpenWrt.org
6 REQUIRE_IMAGE_METADATA
=1
8 RAMFS_COPY_BIN
='fw_printenv fw_setenv'
9 RAMFS_COPY_DATA
='/etc/fw_env.config /var/lock/fw_printenv.lock'
11 platform_check_image
() {
15 platform_do_upgrade
() {
16 local board
=$
(board_name
)
19 alfa-network
,quad-e4g
)
20 [ "$(fw_printenv -n dual_image 2>/dev/null)" = "1" ] &&\
21 [ -n "$(find_mtd_part backup)" ] && {
23 if [ "$(fw_printenv -n bootactive 2>/dev/null)" = "1" ]; then
24 fw_setenv bootactive
2 ||
exit 1
26 fw_setenv bootactive
1 ||
exit 1
30 ampedwireless
,ally-00x19k|\
31 ampedwireless
,ally-r1900k
)
32 if [ "$(fw_printenv --lock / -n bootImage 2>/dev/null)" != "0" ]; then
33 fw_setenv
--lock / bootImage
0 ||
exit 1
37 if [ "$(fw_printenv -n boot_from 2>/dev/null)" != "firmware1" ]; then
38 fw_setenv boot_from firmware1 ||
exit 1
42 mikrotik
,routerboard-750gr3|\
43 mikrotik
,routerboard-760igs|\
44 mikrotik
,routerboard-m11g|\
45 mikrotik
,routerboard-m33g
)
46 [ "$(rootfs_type)" = "tmpfs" ] && mtd erase firmware
50 echo "Backing up firmware"
51 dd if=/dev
/mtd4 bs
=1024 count
=4096 > /tmp
/backup_firmware.bin
52 dd if=/dev
/mtd5 bs
=1024 count
=52224 >> /tmp
/backup_firmware.bin
53 mtd
-e firmware2
write /tmp
/backup_firmware.bin firmware2
58 ampedwireless
,ally-00x19k|\
59 ampedwireless
,ally-r1900k|\
60 arcadyan
,we420223-99|\
65 beeline
,smartbox-flash|\
66 beeline
,smartbox-giga|\
67 beeline
,smartbox-pro|\
68 beeline
,smartbox-turbo|\
69 beeline
,smartbox-turbo-plus|\
111 raisecom
,msg1500-x-00|\
112 rostelecom
,rt-fe-1a|\
117 tplink
,ec330-g5u-v1|\
119 xiaomi
,mi-router-3g|\
120 xiaomi
,mi-router-3-pro|\
122 xiaomi
,mi-router-ac2100|\
123 xiaomi
,mi-router-cr6606|\
124 xiaomi
,mi-router-cr6608|\
125 xiaomi
,mi-router-cr6609|\
126 xiaomi
,redmi-router-ac2100|\
132 iodata
,wn-ax1167gr2|\
136 iodata_mstc_set_flag
"debugflag" "factory" "0xfe75" "0,1" "1"
137 iodata_mstc_set_flag
"bootnum" "persist" "0x4" "1,2" "1"
140 iodata
,wn-deax1800gr
)
141 iodata_mstc_set_flag
"bootnum" "working" "0x4" "0,1" "0"
145 iodata_mstc_set_flag
"debugflag" "factory" "0x1fe75" "0,1" "1"
146 iodata_mstc_set_flag
"bootnum" "persist" "0x4" "1,2" "1"
150 echo "Upgrading tplink,er605-v2"
151 CI_UBIPART
="firmware"
156 ubnt
,edgerouter-x-sfp
)
157 platform_upgrade_ubnt_erx
"$1"
162 fw_setenv CheckBypass
0
163 fw_setenv Image1Stable
0
164 [ "$(fw_printenv -n BootingFlag)" = "0" ] || fw_setenv BootingFlag
0
169 local kernel2_mtd
="$(find_mtd_part Kernel2)"
170 [ "$(hexdump -n 4 -e '"%x
"' $kernel2_mtd)" = "56190527" ] &&\
171 [ "$(hexdump -n 4 -s 104 -e '"%x
"' $kernel2_mtd)" != "0" ] &&\
172 dd bs
=4 count
=1 seek
=26 conv
=notrunc
if=/dev
/zero of
=$kernel2_mtd 2>/dev
/null
&&\
173 echo "Kernel2 sequence number was reset to 0"
178 zyxel_mstc_upgrade_prepare
182 default_do_upgrade
"$1"