OpenWrt installation on ZyXEL NSA325v1


Since several days, i'm struggling with the installation of OpenWrt on a ZyXEL NSA325 v1.
I am following the guide provided here:

Problem is that the basic commands, like "usb", "fatload" or "setenv", are not recognized. I always get the same error message in the shell, for example:

root@NSA325:~# usb reset
-sh: usb: command not found

I am not a Linux expert (far from it), that's why it's possible i must be doing something stupid...

From what i could figure out, the latest kernel module from the stock OS (firmware v4.81(AAAJ.1)) is already installed:

root@NSA325:~# uname -r

I have already tried re-applying the latest stock firmware image, resetting the device to factory settings, but nothing worked.

Does anyone has any ideas on how to get access to these commands, maybe somebody has seen this type of issue before?

Thank you in advance !

You missed this:

We require [...] a 3.3V USB to serial adapter.
command the device through a terminal (using serial)

I should have probably stated this, thanks for pointing it out.
I get the same error, regardless if i send the command while connected through PuTTy via the serial cable (with a FTDI module) or via SSH...

Back to the source:

After plugging in the USB stick (use the rear USB ports), into the NAS, with the correct files and booting into u-boot,

As @AndrewZ pointed out, this should be executed in u-boot, not in Linux.

1 Like

Thank you, both !
This is also what i'm thinking about, but as i don't really know how to start u-boot, i keep running in circles.
Let me break it down on what i'm doing, maybe it'll be obvious where the mistake is:

  1. I'm successfully connected to the NSA325 box via the serial cable.
  2. I'm sticking in the USB drive (tried with both the front and the back ports), with the u-boot files (latest v18.x) and the OpenWrt image
  3. It then starts the following sequence:

root@NSA325:/# usb 1-1.2: new high speed USB device using ehci_marvell and address 6
In hub_port_init, and number is 2, retry 0, port 2 .....
usb 1-1.2: configuration #1 chosen from 1 choice
scsi6 : SCSI emulation for USB Mass Storage devices
hotplug1057add:[8/6/80][/devices/platform/ehci_marvell.70059/usb1/1-1/1-1.2/1-1.2:1.0]Mass Storage device:08h/xxh/xxh
scsi 6:0:0:0: Direct-Access SanDisk Cruzer Micro 6.51 PQ: 0 ANSI: 0 CCS
sd 6:0:0:0: [sdc] 3910655 512-byte logical blocks: (2.00 GB/1.86 GiB)
sd 6:0:0:0: [sdc] Write Protect is off
sd 6:0:0:0: [sdc] Assuming drive cache: write through
sd 6:0:0:0: [sdc] Assuming drive cache: write through
** sdc: sdc1**
hotplug_add_storsd 6:0:0:0: Attached scsi generic sg2 type 0
sd 6:0:0:0: [sdc] Assuming drive cache: write through
sd 6:0:0:0: [sdc] Attached SCSI removable disk 1,6:0:0:0
6:0:0:0 1,/dev/sdc 1,/dev/sdc,1,* USB:/dev/sdc1 /dev/sdc1 /mnt/sdc1 -p 150 -e storage hotplugadd /dev/sdc1
[13610] server write-only FIFO is opened (fd=6)
[13610] server read-only FIFO is opened (fd=7)
[13610] server error read-only FIFO is opened (fd=8)
argc = 2, func = 310
argid[1]: 1196; argv[1]: /dev/sdc1
FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive! -p 150 -e media addextshare /dev/sdc1
** pid = 13610**
[13610] is disconnected
[13802] server write-only FIFO is opened (fd=6)
[13802] server read-only FIFO is opened (fd=7)
[13802] server error read-only FIFO is opened (fd=8)
argc = 2, func = 419
argid[1]: 1246; argv[1]: /dev/sdc1
** pid = 13802**
[13802] is disconnected
USB disk
led_state_map_addr = 16

  1. When pressing any key after this sequence is ended, it goes back to the Linux shell...

I have also tried with other USB sticks, but it's the same result.
On a similar guide, there's an additional action (press any key on the serial communication to interrupt the boot progress), which i've also tried, without success:

you're still in Linux, u-boot starts before the OS is booted.
if you're in Linux, you've already missed the window of opportunity.

1 Like

Reboot and see what's going on in a terminal.
At the very beginning of the boot process you should see an u-boot menu with the option to stop boot.

The kind of little steps you overlook and no one tells you that they must be done :slight_smile:

Thank you both ! I'll give it a whirl and get back to you.

I agree that device page needs some extra wording.
Edit: Just updated.

1 Like

if unsure, post a snippet of the boot sequence, the 1st 100 lines or so should be enough.

There's progress, i managed to easily interrupt the normal boot process and now, the "usb reset" command is available:

Streaming disabled
Write allocate disabled

USB 0: host mode
** [BlueDBG] reseting SoC Pex[0] 0 ...**
PEX 0: PCI Express Root Complex Interface
PEX interface detected Link X1
** [BlueDBG] reseting SoC Pex[1] 0 ...**
** [BlueDBG] reseting SoC Pex[1] 1 ...**
** [BlueDBG] reseting SoC Pex[1] 2 ...**
** [BlueDBG] reseting SoC Pex[1] 3 ...**
** [BlueDBG] reseting SoC Pex[1] 4 ...**
** [BlueDBG] reseting SoC Pex[1] 5 ...**
** [BlueDBG] reseting SoC Pex[1] 6 ...**
** [BlueDBG] reseting SoC Pex[1] 7 ...**
** [BlueDBG] reseting SoC Pex[1] 8 ...**
** [BlueDBG] reseting SoC Pex[1] 9 ...**
** [BlueDBG] reseting SoC Pex[1] 10 ...**
PEX 1: interface detected no Link.
Net: egiga0 [PRIME]
Hit any key to stop autoboot: 0
Marvell>> usb reset
(Re)start USB...
USB: scanning bus for devices... 2 USB Device(s) found
Waiting for storage device(s) to settle before scanning...
0 Storage Device(s) found

But now i'm stuck on that issue where the USB sticks are not detected. I'll try in the upcoming days with an actively powered USB hub.
Thanks again for the big help and for updating the guide. I know this is an old device, but i think it would be a shame not to put to good use the work of the OpenWrt devs and its community. :slight_smile:

not sure this is all bad ... try the fatload command, as described in the wiki.

Just a guess - is the stick properly formatted?

FAT32 formatted USB stick with msdos partition table (single partition)

Use Disk Management in Windows to check.


Marvell>> fatload usb 0 0x1000000 u-boot.kwb
**** Can't read from device 0 ****

**** Unable to use usb 0:1 for fatload ****

Yeah, i'm juggling 2 USB drives, trying both FAT and FAT32 formats, as well as sticking them in the front or the back ports. Same thing.

have you created a (non GPT) partition too, it might be of significance ?

I'm using the default parameters: FAT / FAT32 and MBR partition type. I don't know if there's an easy way to convert an ancient 1 GB stick to GPT :slight_smile:

Hi guys,

Just an update here: been struggling with this installation throughout the entire weekend and decided to install U-Boot using another guide, provided here:

It worked right off the bat and then, the OpenWrt installation from a USB stick went through without any errors i could identify. When connected via Serial cable, i see this welcome screen:

BusyBox v1.35.0 (2023-04-27 20:28:15 UTC) built-in shell (ash)

| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -| || | | || || |
_____|| |
||||___||| |____|
| W I R E L E S S F R E E D O M

** OpenWrt 22.03.5, r20134-5f15225c1e**
** -----------------------------------------------------**

Now, there's an issue with the network access, but i'll complain about it on a new post.

Thanks again for all your help and good luck :slight_smile: !

1 Like

good call, Doozan's a gold mine for those owning Kirkwood devices.

the NSA325s IP would be and have a DHCP running, but it won't start unless isolate a client and the NAS.

1 Like