Fixing a bad flash
I recovered a used Zyxel unit purchased from amazon using this method after some experimentation.
If your zyxel unit does not boot: Symptoms are booting up - no network connection - and green flashing LED on front that just keeps flashing forever.
Also Try the USB recovery method first. If that does not work - then your unit may have a corrupted NAND.
The best way to detect this is with serial cable. On bootup if it gets stuck on Stage2 after the kernel - with the error in the serial terminal:
- Stage 2: Prepare the root file system ***
Mount system partition... yaffs: dev is 32505862 name is "mtdblock6" ro yaffs: passed flags "" uncorrectable error : Disk /dev/sda doesn't contain a valid partition table bsname}: no internal volume available 1
If the internal mmcblk partition is corrupted. When this happens the boot will not get past stage two. You can do the following over serial - or using a keyboard - but using a keyboard you may not be able to see if you typed an error.
First download the recovery file and unzip to the root of a fat32 formatted usb key: 450AFO1C1_UpgradeKey.zip from: 
Now either over serial or with a usb keyboard type the following:
mount /dev/sdb1 /mnt/parnerkey/
If things go well your unit should shutdown - turn it back on - and things should be working!