1 This fwex tool extracts the payloads from Broadcom firmware update files.
3 The first payload image is usually the ROMD CFE/Kernel/root file-system combination.
4 If the payload is LZW (typically the second payload image is the XML router configuration) it will also decompress it.
6 The LZW (de)compressor code originally came from the FFMPEG project and was modified by Broadcom for
7 (de)compressing device configuration files.
9 In the Zyxel/MitraStar/Broadcom source-code packages provided by those companies there is a tool
10 that runs on the host for LZW compression only:
12 hostTools/CompressConfig
14 That tool includes the FFMPEG library code but does NOT provide its own source-code, as it should
15 since the files are licensed on the terms of the GNU GPL.
17 I've copied the files from the Zyxel source-code distribution as the basis of this host-based extractor tool:
19 cp userspace/public/libs/cms_util/lzw*.c .
20 cp userspace/public/include/cms_lzw.h .
21 cp userspace/public/include/linux/os_defs.h .
22 cp userspace/public/include/cms{params,version}.h .
23 cp userspace/public/include/cms.h .
24 cp shared/opensource/include/bcm963xx/bcmTag.h .