u cannot update hg658c over hg658b, because the NAND erase size.
in firmware for hg658b, erase size is 16kb, and for hg658c is 128kb.
i tryed some reverse engineering on firmware, as i know i found some info's.
we take as reference latest firmware posted.
- in the first 128 bytes of image , is the header, but is encrypted and i cannot find a way to decrypt that.
- next 128kb are image header, this is 99% understanded.
- first 4 bytes unknown
- next 4 bytes is the length in hex of jffs image (started from hex address 20080 to 0xc4007f = c20000 length)
- next 35 bytes is the name gived for jffs
- next 14 bytes is the date and version
- next 4 bytes is the crc32 of the jffs-image (from address 0x20080 to 0xc4007f = c20000 length)
- next is empty space.
- from address 0x20080 to 0xC4007f is the jffs2 rootfs-image
- the last 20 bytes is the crc32 calculated for the whole image file (unknown header + known header + jffs2 image) - if this crc is wrong the router reject the firmware at upload.
Hope those info's help, maybe someone else can share from his experience and make the firmware customizable for everyone's needs.
Cheers.
(Last edited by cornelus2009 on 17 Jan 2015, 17:06)