The firmware of this GPON ONT SFP module can be updated using the web interface (Management | Update Software):
The web interface only accepts image files with a special header. These can be created by adding the header to a flash dump.
.img unmodified mtd2 / mtd3 flash dump
.upf with header (can be installed using the web interface)
V1.00 is based on OpenWrt 12.09. Deutsche Telekom (Germany) seems to stick with this branch.
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 is based on OpenWrt 14.07. Wind Tre (Italy) upgraded to this branch at the end of 2022.
V2.50(ABVJ.1)b1d (2023-04-21)
V2.50(ABVJ.1)b1f (2023-07-14)
Both branches are maintained separately, so a 1.00 image can have a later build date than a 2.50 image.
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 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









Thanks for the firmware. Can someone explain to me what the difference between V1 00(ABVJ 1)b1e and V2 50(ABVJ 1)b1d is?
Looks like the V1 00(ABVJ 1)b1e is the latest version based on the date, but the has a lower Version Number than V2 50. Looks kind of weird to me. Any release notes available or suggestions ?