Create flash dump of mtd2 or mtd3 (Image A / Image B):
dd if=/dev/mtd2 of=/tmp/mtd2
Download flash dump from SFP (e. g. using TFTP).
Download header file (rename to 'header') and add it to flash dump:
cat header mtd2 > firmware.upf
Copy software version string from flash dump to header:
dd if=firmware.upf of=firmware.upf bs=1 skip=632 seek=124 count=32 conv=notrunc
Get CRC32 of firmware.upf:
v=$(cat firmware.upf | gzip | tail -c 8 | head -c 4 | hexdump -e '1/4 "%08x"')
Convert CRC32 to binary and write it to header:
echo -e -n "\x${v:0:2}\x${v:2:2}\x${v:4:2}\x${v:6:2}" | dd of=firmware.upf bs=1 seek=104 conv=notrunc
Change extension to .zip and extract.
.img: raw mtd2 flash dump
.upf: with header
V1 00(ABVJ 0)b3s (2020-12-23)
V1 00(ABVJ 0)b3v (2021-05-08)
V1 00(ABVJ 1)b1e (2023-07-26)
V2 50(ABVJ 1)b1d (2023-04-21)