zycast: new tool for ZyXEL bootloader flashing
The bootloader of many ZyXEL routers support a proprietary
feature allowing the devices to be flashed over the network
using a multicast stream.
This tool is an attempt to document and implement the client
side of this protocol
The set of possibly supported ZyXEL devices include NR7101,
NR5101, WAP6805, P8702N, P2812HNU, VMG8825, EX5401 and many
more. Implementation details are known to vary among devices.
Quirks are to be expected on any untested device.
This code is ONLY tested on the NR7101.
Supported devices will listen for magic packets a few seconds
on every boot. This is indicated by a console message like
Multiboot Listening...
or
wait multiboot...
or
Multiboot clinent(sic) version: 1.2
Typically followed by a countdown indicating when the listen
window closes.
Synchronizing the client with the listening window is not
required. The protocol is designed to allow the client to
continuously repeat its image stream. Just start the
client before rebooting the router and let it run till the
download is finished.
This means that it is possible to do blind upgrades too. But
any error will be hard to catch without console.
Signed-off-by: Bjørn Mork <bjorn@mork.no>