Planex MZK-W04NU


This device is supported by OpenWrt. There are images for it on the downloads-server.


aptitude install gkermit picocom
picocom --baud 115200 --flow x --parity n --databits 8 --send-cmd "gkermit -iXvs" --receive-cmd "gkermit -iXvr" /dev/ttyUSB0

Send: ctrl-a ctrl-s
Recieve: ctrl-a ctrl-r

svn co svn://
cd openwrt-trunk/tools/firmware-utils


1. Padd with 0x00 the .uImage kernel to reach 1,441,792 bytes (dd bs=1408k conv=sync)
dd bs=1408k conv=sync if=../dist/openwrt_r14959_manyUSB1-ar71xx-uImage-gzip.bin of=openwrt_r14959_manyUSB1-ar71xx-uImage-gzip.bin.padded
2. Padd with 0x00 the .squashfs file to reach 6,356,992 bytes (dd bs=6208k conv=sync)
dd bs=6208k conv=sync if=
3. Concatenate the 2 above files (.uImage + .squashfs = .bin). We now have the .bin file
4. Add the Planex header (34 bytes) using (mkplanexfw). We now have the .webui file

1,441,792 + 6,356,992 + 34 = 7,798,818 bytes. 65,502 bytes were missing in the target/linux/ar71xx/image/Makefile in order the firmware could be uploaded via the Planex http interface :

5. Padd with 0x00 the .webui image to reach 7,864,320 bytes (dd if=.webui bs=7680k sync=conv of=.webui2)

After that, I could upload the firmware successfully.

Note : The last padd must be done AFTER the Planex header writing, if done before, the header won't be accepted by Planex GUI.

For example: mtd -r write openwrt-ar71xx-mzk-w04nu-squashfs.bin firmware

BTW, planex flashes with 7798818 bytes .webui without any problem in my case.

ar7100> erase 0xbf050000 +0x770000
ar7100> setenv serverip; setenv ipaddr
ar7100> tftp 0xa0800000 openwrt-ar71xx-mzk-w04nu-squashfs.bin
ar7100> cp.b 0xa0800000 0xbf050000 0x770000
ar7100> reset

The .uni file format can be flashed from the original vendor firmware webpages or from within OpenWrt using the mtd command.

Back to top

toh/planex/mzk-w04nu.txt · Last modified: 2011/08/30 01:18 by orca