misc‎ > ‎

Debian on Zyxel NSA310

So I was looking at going prices for what passes for low-end internal or USB hard disk these days. I noticed there was a NAS box with a 500G drive for roughly the same price as the plain disk. Probably an old model being discontinued. I grabbed one and it's been sitting quite a while waiting for me to find the time.

The reason I bought this one (beside the price) was that I'd seen a thread and some pages mentioning it might be possible to install a full OS on it and make a nice little ARM server.

Installation went pretty smoothly by the instructions. Serial port is 115200 8N1, screen works fine for the communication. I used a CP2102 based USB "TTL" (3v3) board for dealing with uboot. The first (olde) USB stick I tried wasn't recognized. I used a microsd reader and a spare 512M card succesfully.

Now running a fresh-ish install of Debian GNU/Linux 6.0.6 "squeeze" (stable), Linux 3.5.1 armel. I'll probably be updating to Wheezy sometime soon. And this (page and box) is sort of work in progress.

The Hardware

  • Zyxel NSA-310 NAS box, 12 V / 2.5 A DC PSU, "max 30W" (arch 4022)
  • SOC: Feroceon 88F6281 A1 (DDR2) 1200MHz
  • Core: ARM926EJ-S rev 1 (v5l) V5TE?
  • Software FP only
  • PCIe (memory and ethernet)
  • 256 MiB (DDR2?) DRAM
  • Samsung 128 MiB NAND flash (bootloader, kernels, even root images fit here)
  • r8169 Gigabit ethernet (8168?)
  • USB 2.0 (Orion EHCI), two ports
  • SATA II slot builtin, 3.5" UDMA133 hdd (WDC WD5000)u
  • eSATA port
  • Orion GPIO x2: pins 0-31 and 32-49
  • Some crypto accelerator maybe. No speedup, but I'd like to know if it decreases CPU load.
  • 16550 type UART, supposedly two ports but only one tty (console, pin header on board)
  • Battery backed RTC (i2c)
  • lm85 type sensors (i2c)
  • Wake on lan
NSA-310 NSA-310

What works

  • Booting
  • Serial console
  • Networking
  • Eth activity LED
  • SYS led, HDD led, probably others
  • lm-sensors
  • Fan control
  • Software (GPIO) poweroff at shutdown

What doesn't work

The forum page 3.5.1 kernel doesn't include md, LVM, ext3(!) and probably many other modules. There isn't a packaged kernel yet. NSA310 is also not officially a Debian install target (yet).

There's probably a lot of hardware for which there's no drivers unless you build your own kernel. I'll probably look into that sometime.

  • CPU freq control (coming)
  • Power saving, sleep, hibernate, suspend or anything like that
  • Crypto accelerator (untested)
Copy/sync front panel button and power button while running might be supportable if there was something to listen to input events. Nothing ready in Debian, I think.

Multicast is not configured?


There might be a full JTAG in there, just waiting for a connector. Might help if you need to recover/update uboot.

Some of the address in the instructions are wonky. It took me a while to figure out they weren't even bytes. So when the text says 0x4640000, it is really 04 64 00 00. Who wants to count zeroes? Please pad to closest byte at least :)

To get blank modules.dep for monolith, do:

% sudo mkdir /lib/modules/3.5.1 # or your rev

% sudo depmod -a

To power on remotely, you can do:

% wakeonlan '00:00:00:00:00:30'

That's a fake media address and it seems to linger. You could hack around it.