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
36 mikrotik
,routerboard-750gr3|\
37 mikrotik
,routerboard-760igs|\
38 mikrotik
,routerboard-m11g|\
39 mikrotik
,routerboard-m33g
)
40 [ "$(rootfs_type)" = "tmpfs" ] && mtd erase firmware
44 echo "Backing up firmware"
45 dd if=/dev
/mtd4 bs
=1024 count
=4096 > /tmp
/backup_firmware.bin
46 dd if=/dev
/mtd5 bs
=1024 count
=52224 >> /tmp
/backup_firmware.bin
47 mtd
-e firmware2
write /tmp
/backup_firmware.bin firmware2
52 ampedwireless
,ally-00x19k|\
53 ampedwireless
,ally-r1900k|\
83 raisecom
,msg1500-x-00|\
86 xiaomi
,mi-router-3-pro|\
88 xiaomi
,mi-router-ac2100|\
89 xiaomi
,redmi-router-ac2100
)
96 iodata_mstc_upgrade_prepare
"0xfe75"
100 iodata_mstc_upgrade_prepare
"0x1fe75"
104 ubnt
,edgerouter-x-sfp
)
105 platform_upgrade_ubnt_erx
"$1"
108 fw_setenv CheckBypass
0
109 fw_setenv Image1Stable
0
114 local kernel2_mtd
="$(find_mtd_part Kernel2)"
115 [ "$(hexdump -n 4 -e '"%x
"' $kernel2_mtd)" = "56190527" ] &&\
116 [ "$(hexdump -n 4 -s 104 -e '"%x
"' $kernel2_mtd)" != "0" ] &&\
117 dd bs
=4 count
=1 seek
=26 conv
=notrunc
if=/dev
/zero of
=$kernel2_mtd 2>/dev
/null
&&\
118 echo "Kernel2 sequence number was reset to 0"
123 default_do_upgrade
"$1"