immortalwrt/tools
Petr Štetiar a81204b3c2 tplink-safeloader: fix C7v5 factory flashing from vendor fw > v1.1.x
Currently it's not possible to flash factory images on devices shipped
with vendor firmware versions 1.1.0 Build 20201120 rel. 50406 (published
2020-12-22):

 (curFw_ver, newFw_ver) == (1.1, 1.0) [NM_Error](nm_checkSoftVer) 00848: Firmwave not supports, check failed.
 [NM_Error](nm_checkUpdateContent) 01084: software version dismatched
 [NM_Error](nm_buildUpgradeStruct) 01188: checkUpdateContent failed.

They've even following note in release notes:

 Note: You will be unable to downgrade to the previous firmware version
       after updating this firmware.

This version check in vendor firmware is implemented in
/usr/bin/nvrammanager binary likely as following C code[1]:

 sscanf(buf, "%d.%d.%*s",&upd_fw_major, &upd_fw_minor);
 ...
 if (((int)upd_fw_major < (int)cur_fw_major) ||
     ((ret = 1, cur_fw_major == upd_fw_major && (upd_fw_minor < (int)cur_fw_minor)))) {
       ret = 0;
       printf("[NM_Error](%s) %05d: Firmwave not supports, check failed.\r\n\r\n","nm_checkSoftVer" ,0x350);
 }
 ...
 return ret;

So in order to fix this and make it future proof it should be enough to
ship our factory firmware images with major version 7 (lucky number).

Tested on latest firmware version 1.1.2 Build 20210125 rel.37999:

 Firmwave supports, check OK.
  (curFw_ver, newFw_ver) == (1.1, 7.0) check firmware ok!

Flashing back to vendor firmware
c7v5_us-up-ver1-1-2-P1[20210125-rel37999]_2021-01-25_10.33.55.bin works
as well:

 U-Boot 1.1.4-gbec22107-dirty (Nov 18 2020 - 18:19:12)
 ...
 Firmware downloaded... filesize = 0xeeae77 fileaddr = 0x80060000.
 Firmware Recovery file length : 15642231
 Firmware process id 2.
 handle_fw_cloud 146
 Image verify OK!
 Firmware file Verify ok!
 product-info:product_name:Archer C7
 product_ver:5.0.0
 special_id:55530000
 [Error]sysmgr_cfg_checkSupportList(): 1023 @ specialId 45550000 NOT Match.
 Firmware supports, check OK.
 Firmware Recovery check ok!

1. https://gist.github.com/ynezz/2e0583647d863386a66c3d231541b6d1

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2021-04-13 23:30:08 +08:00
..
autoconf tools: fix permission 2019-09-07 15:36:23 +08:00
autoconf-archive tools: add autoconf-archive 2020-05-23 19:20:29 +08:00
automake Merge Lean's source 2019-12-14 12:18:29 +08:00
b43-tools tools: update 2019-10-26 10:01:37 +08:00
bc tools/bc: use autoreconf to fix build failure on macOS with recent Xcode versions 2020-11-21 17:41:58 +08:00
bison tools/bison: update to 3.7.1 2020-08-23 23:38:07 +08:00
cbootimage treewide: update email address of Tomasz Maciej Nowak 2020-11-24 23:28:39 +08:00
cbootimage-configs treewide: update email address of Tomasz Maciej Nowak 2020-11-24 23:28:39 +08:00
ccache tools/ccache: find libzstd using rpath 2021-01-11 20:58:10 +08:00
cmake tools/cmake: always use non-ccache CC and CXX variables 2021-01-08 16:08:33 +08:00
coreutils tools/coreutils: update to 8.32 2020-08-31 11:10:51 +08:00
cpio tools: add cpio 2021-03-01 12:08:11 +08:00
dosfstools tools: fix permission 2019-09-07 15:36:23 +08:00
e2fsprogs tools/e2fsprogs: fix build under macos 2020-04-10 20:04:56 +08:00
elftosb tools: fix permission 2019-09-07 15:36:23 +08:00
expat tools/expat: change package source to GitHub 2019-11-30 19:24:19 +08:00
fakeroot download: add mirror alias for Debian 2021-02-27 12:11:33 +08:00
findutils tools/findutils: Update to 4.7.0 2020-04-10 09:17:04 +08:00
firmware-utils tplink-safeloader: fix C7v5 factory flashing from vendor fw > v1.1.x 2021-04-13 23:30:08 +08:00
flex tools: fix permission 2019-09-07 15:36:23 +08:00
flock tools/flock: add PKG_{VERSION,RELEASE} 2020-07-23 22:45:21 +08:00
genext2fs tools: fix permission 2019-09-07 15:36:23 +08:00
gengetopt tools: update 2019-10-26 10:01:37 +08:00
gmp tools/gmp: Remove obsolete options 2020-02-20 03:02:36 +08:00
include tools: fix permission 2019-09-07 15:36:23 +08:00
isl tools: update 2019-10-26 10:01:37 +08:00
kernel2minor tools: fix permission 2019-09-07 15:36:23 +08:00
libressl ccache: update to 4.1 2020-12-31 17:50:39 +08:00
libtool tools: fix permission 2019-09-07 15:36:23 +08:00
lzma treewide: unify OpenWrt hosted source via @OPENWRT 2021-02-08 12:11:32 +08:00
lzma-old treewide: unify OpenWrt hosted source via @OPENWRT 2021-02-08 12:11:32 +08:00
m4 tools: fix permission 2019-09-07 15:36:23 +08:00
make-ext4fs make_ext4fs: Update to version 2020-01-05 2020-01-15 02:06:24 +08:00
missing-macros treewide: remove empty default cases 2020-09-18 16:37:37 +08:00
mkimage tools: mkimage: add patches for 64-bit MediaTek BootROM 2021-03-12 12:00:34 +08:00
mklibs download: add mirror alias for Debian 2021-02-27 12:11:33 +08:00
mm-macros tools/mm-macros: Update to 1.0.0 2020-04-10 09:18:12 +08:00
mpc tools/mpc: update to 1.2.0 2020-08-28 09:26:04 +08:00
mpfr tools/mpfr: update to 4.1.0 2020-08-24 11:34:03 +08:00
mtd-utils tools: mtd-utils: Update to version 2.1.2 2020-08-27 12:02:57 +08:00
mtools tools/mtools: Update to 4.0.24 2020-04-10 09:17:20 +08:00
padjffs2 tools: drop PKG_VERSION for purely local packages 2020-07-23 22:44:05 +08:00
patch tools/patch: apply upstream patch for cve-2019-13638 2019-08-16 13:59:06 +08:00
patch-image tools/patch-image: add PKG_RELEASE 2020-07-23 22:44:24 +08:00
patchelf tools/patchelf: bump to use latest master 2021-02-16 12:08:21 +08:00
pkg-config ccache: update to 4.1 2020-12-31 17:50:39 +08:00
qemu luci-app-ssr-plus: fix v2ray Netflix unlock 2020-03-17 10:42:17 +08:00
quilt tools/quilt: update to 0.66 2019-11-30 19:24:57 +08:00
sdimage tools: fix permission 2019-09-07 15:36:23 +08:00
sed tools/sed: Update to 4.8 2020-02-20 03:02:22 +08:00
sparse tools/sparse: update to version 0.6.3 2021-03-20 11:22:37 +08:00
squashfs squashfs: Fix compile with GCC 10 2020-06-19 17:09:24 +08:00
squashfskit4 tools/squashfskit4: fix build on non-linux systems 2020-09-02 11:32:04 +08:00
sstrip tools/sstrip: update to latest version 2020-11-28 19:05:31 +08:00
tar tools: update 2019-10-26 10:01:37 +08:00
ucl ucl: fix CLEAN 2020-04-23 01:44:28 +08:00
upx upx: fix host build (#3339) 2020-03-01 14:05:09 +08:00
xxd tools/xxd: fix source URL 2021-03-02 12:07:04 +08:00
xz tools/xz: Update to 5.2.5 2020-04-10 09:17:36 +08:00
zip ramips: mt7621: add support for Netgear R6800 2019-12-13 08:25:54 -08:00
zlib tools: fix permission 2019-09-07 15:36:23 +08:00
zstd tools/zstd: compile with cmake 2021-01-31 22:18:38 +08:00
Makefile Merge Mainline 2021-03-14 23:47:44 +08:00