scripts: fix missing character '0' issue in linksys image
authorShiji Yang <yangshiji66@qq.com>
Sat, 29 Oct 2022 14:06:24 +0000 (22:06 +0800)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 30 Oct 2022 22:14:45 +0000 (23:14 +0100)
In the stock firmware of Linksys, there is a '0' after the crc checksum.
Validated on EA6350V3, EA7300 and EA7300V2's stock images.

Fixes: 892d741259 build: add a script for generating Linksys factory images
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
scripts/linksys-image.sh

index c3baf44844a0ac3e59024fcd57de76e672945b9c..3b4412c06ee0e28dffcb706fbfddfd2a7bd8be0c 100755 (executable)
@@ -14,7 +14,7 @@
 #  <VERSION>        The version number of upgrade. Not checked so use arbitrary value (8 bytes)
 #  <TYPE>           Model of target device, padded (0x20) to (15 bytes)
 #  <CRC>           CRC checksum of the image to flash (8 byte)
-#  <padding>       Padding (0x20) (7 bytes)
+#  <padding>       Padding ('0' + 0x20 *7) (8 bytes)
 #  <signature>     Signature of signer. Not checked so use arbitrary value (16 bytes)
 #  <padding>        Padding (0x00) (192 bytes)
 #  0x0A                    (1 byte)
@@ -58,7 +58,7 @@ IMG_OUT="${IMG_IN}.new"
 dd if="${IMG_IN}" of="${IMG_TMP_OUT}"
 CRC=$(printf "%08X" $(dd if="${IMG_IN}" bs=$(stat -c%s "${IMG_IN}") count=1|cksum| cut -d ' ' -f1))
 
-printf ".LINKSYS.01000409%-15s%-8s%-7s%-16s" "${TYPE}" "${CRC}" "" "K0000000F0246434" >> "${IMG_TMP_OUT}"
+printf ".LINKSYS.01000409%-15s%-8s%-8s%-16s" "${TYPE}" "${CRC}" "0" "K0000000F0246434" >> "${IMG_TMP_OUT}"
 
 dd if=/dev/zero bs=1 count=192 conv=notrunc >> "${IMG_TMP_OUT}"