The Zyxel NSA310b is a Kirkwood based NAS (aka Network Attached Storage) with one HDD bay using SATA.
Model | Version | SoC | CPU MHz | Flash MB | RAM MB | WLAN Hardware | WLAN2.4 | WLAN5.0 | 100M ports | Gbit ports | Modem | USB |
---|---|---|---|---|---|---|---|---|---|---|---|---|
NSA310b | Marvell 88F6702 | 1200 | 128 | 256 | - | - | - | - | 1 | - | 2x 2.0 |
We require a USB stick (FAT32 formatted, single partition) and a 3.3V USB to serial adapter. We will then copy the required files to the USB stick and command the device through a terminal (using serial) to load and flash our files to NAND.
Copy the u-boot.kwb
and -factory.bin
files to a FAT32 formatted USB stick with msdos partition table (single partition).
Rename the -factory.bin
to something simple like nsa310.bin
.
The installation tutorial in the original commit is missing a nand erase 0x0 0x100000 before the first nand write Overview for advanced users (git commit)
Please note that to write to NAND you have to erase the NAND first, which means all data on the NAND will be deleted! Meaning stock firmware, bootloader, settings and everything will be gone! So make sure you got the proper files ready before you start as it's vital that you flash the new bootloader before you restart your device as it would otherwise get soft-bricked.
Make sure to write down your device's MAC address as we need to set it later! Otherwise it would get lost!
After plugging in the USB stick into the NAS with the correct files and booting into u-boot, first step is to install OpenWrt's u-boot:
usb reset fatload usb 0 0x1000000 u-boot.kwb nand erase 0x0 0x100000 nand write 0x1000000 0x00000 0x100000 reset
After the device reboots into the OpenWrt u-boot we adjust the device's MAC address (adjust the values, see the sticker under the NAS case):
setenv ethaddr AB:CD:EF:00:00:00 saveenv
Then we proceed to flashing OpenWrt itself (which we called nsa310.bin for less typing):
usb reset fatload usb 0 0x2000000 nsa310.bin nand erase.part ubi nand write 0x2000000 ubi 0x600000
Note that the number at the end indicates the size to write in hex. In this case up to 6 MiB. Increasing this number should work but has not been tested.
And now we reboot to OpenWrt:
reset
→ hardware.button on howto use and configure the hardware button(s). Here, we merely name the buttons, so we can use them in the above Howto.
The device has the following buttons:
BUTTON | Event |
---|---|
Power | power |
Reset | reset |
Copy | copy |
PIN | NO PIN | PIN | PIN | PIN |
* | - | * | * | * |
GND | N/A | RX | TX | VCC |
Serial connection parameters | 3.3V, 115200 Baud |
---|
# screen /dev/ttyUSB0 115200