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 mikrotik
,routerboard-750gr3|\
31 mikrotik
,routerboard-760igs|\
32 mikrotik
,routerboard-m11g|\
33 mikrotik
,routerboard-m33g
)
34 [ "$(rootfs_type)" = "tmpfs" ] && mtd erase firmware
38 echo "Backing up firmware"
39 dd if=/dev
/mtd4 bs
=1024 count
=4096 > /tmp
/backup_firmware.bin
40 dd if=/dev
/mtd5 bs
=1024 count
=52224 >> /tmp
/backup_firmware.bin
41 mtd
-e firmware2
write /tmp
/backup_firmware.bin firmware2
65 xiaomi
,mi-router-3-pro|\
67 xiaomi
,mi-router-ac2100|\
68 xiaomi
,redmi-router-ac2100
)
74 iodata_mstc_upgrade_prepare
"0xfe75"
78 iodata_mstc_upgrade_prepare
"0x1fe75"
82 ubnt
,edgerouter-x-sfp
)
83 platform_upgrade_ubnt_erx
"$1"
86 local kernel2_mtd
="$(find_mtd_part Kernel2)"
87 [ "$(hexdump -n 4 -e '"%x
"' $kernel2_mtd)" = "56190527" ] &&\
88 [ "$(hexdump -n 4 -s 104 -e '"%x
"' $kernel2_mtd)" != "0" ] &&\
89 dd bs
=4 count
=1 seek
=26 conv
=notrunc
if=/dev
/zero of
=$kernel2_mtd 2>/dev
/null
&&\
90 echo "Kernel2 sequence number was reset to 0"
95 default_do_upgrade
"$1"