I am trying to extract the following firmware update for my pool automation panel. I have gotten some data out by skipping the first 4 bytes using dd
dd if=firmware.pfw of=firmware_trimmed.pfw bs=1 skip=4
and using zlib-flate to decompress the .pfw
zlib-flate -uncompress firmware_uncompressed.raw
then I use binwalk to eximine the files inside but im unable to really get everything extracted as one filesystem or folder, there has to be some trick to this update. Any ideas? It seems that every file is separated by 4 bytes.