openwrt/tools
Petr Štetiar a2728a806a 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>
(cherry picked from commit e6d66375cb)
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2021-05-06 09:55:07 +02:00
..
autoconf
automake
b43-tools b43-tools: update to latest git HEAD 2018-06-18 20:29:38 +02:00
bc Revert "bc: update to 1.07.1" 2019-05-22 21:27:44 +02:00
bison tools/bison: Update to 3.4.1 2019-09-04 13:18:42 +02:00
cbootimage tools: add cbootimage for tegra 2019-04-06 14:48:46 +02:00
cbootimage-configs tools: add cbootimage-configs for tegra 2019-04-06 14:48:46 +02:00
ccache ccache: update to 3.7.2 2019-09-04 13:34:08 +02:00
cmake tools/cmake: fix typo in parallel make patch 2020-08-11 01:14:25 +02:00
coreutils
dosfstools
e2fsprogs tools/e2fsprogs: Update to version 1.45.4 2019-11-07 19:42:42 +01:00
elftosb
expat expat: Update to version 2.2.9 2019-11-07 19:42:42 +01:00
findutils tools: findutils: fix compilation with glibc 2.28 2018-08-10 06:29:49 +02:00
firmware-utils tplink-safeloader: fix C7v5 factory flashing from vendor fw > v1.1.x 2021-05-06 09:55:07 +02:00
flex flex: Add a lex symlink 2018-11-25 19:23:03 +01:00
flock
genext2fs
gengetopt tools/gengetopt: Update to 2.23 2019-09-04 13:26:24 +02:00
gmp
include tools: Update endian definitions for Mac OSX 2018-12-19 15:08:30 +00:00
isl tools/isl: update to 0.20 2019-02-26 23:20:04 +01:00
kernel2minor tools: kernel2minor: update to latest version 2018-07-12 18:15:33 +02:00
libelf tools: libelf: fix headers to trigger -Wundef warnings 2019-09-04 13:46:55 +02:00
libressl tools: libressl: fix compilation for non-glibc clib (FS#2400) 2019-09-04 13:31:40 +02:00
libtool
lzma
lzma-old
m4 tools: m4: fix compilation with glibc 2.28 2018-08-10 06:29:32 +02:00
make-ext4fs make_ext4fs: Update to version 2020-01-05 2020-07-29 12:11:04 +02:00
missing-macros
mkimage tools: mkimage: fix __u64 typedef conflict with new glibc 2019-09-12 02:25:03 +00:00
mklibs
mm-macros
mpc
mpfr tools/mpfr: Update to 4.0.2 2019-02-10 20:51:09 +01:00
mtd-utils tools/mtd-utils: update to 2.1.1 2019-08-27 10:31:06 +02:00
mtools tools/mtools: Update to 4.0.23 2018-12-24 17:05:57 +01:00
padjffs2
patch tools/patch: apply upstream patch for cve-2019-13638 2019-08-14 07:29:32 +02:00
patch-image
patchelf
pkg-config tools/pkg-config: Handle variable substitution of 'bindir' to redirect to STAGING_DIR/bin 2018-11-13 15:40:30 -05:00
qemu
quilt
scons scons: update to 3.0.5 2019-05-18 21:17:45 +02:00
sdimage tools/sdimage: Fix build with host Linux headers < 3.18 2018-12-16 14:03:35 +01:00
sed tools/sed: Update to 4.7 2019-02-10 20:48:25 +01:00
sparse
squashfs squashfs: Fix compile with GCC 10 2020-05-24 14:40:49 +02:00
squashfskit4 tools: squashfskit4: fix build with GCC10 2020-03-29 18:47:15 +02:00
sstrip
tar tools: tar: update to version 1.32 2019-03-10 21:36:28 +01:00
upslug2 upslug2: Update to git repository 2019-09-04 13:47:11 +02:00
wrt350nv2-builder
xz tools/xz: Compile with PIC to fix linking errors 2019-04-06 19:14:06 +02:00
zip tools: zip: add option for reproducible archives 2019-01-15 19:11:53 +01:00
zlib
Makefile tools: always create $STAGING_DIR/usr/{include,lib} 2020-12-06 08:31:03 +01:00