|Model||Version||Current Release||Firmware OpenWrt Install||Firmware OpenWrt Upgrade||Firmware OEM Stock|
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.
-factory.bin files to a FAT32 formatted USB stick with msdos partition table (single partition).
-factory.bin to something simple like
Warning: The following installation procedure is an overview and not a step by step guide, and thus for advanced users only: Overview for advanced users (git commit)
Please note that to write to NAND you might 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.chip nand write 0x1000000 0x00000 0x100000 reset
Now we set the correct environment variables:
setenv mtdparts 'mtdparts=orion_nand:0x00c0000(uboot),0x80000(uboot_env),0x7ec0000(ubi)' setenv bootcmd 'run setenv bootargs; ubi part ubi; ubi read 0x800000 kernel; bootm 0x800000' saveenv reset
After the device reboots into the OpenWrt u-boot 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.
Finally set your device's MAC address (adjust the values):
setenv ethaddr AB:CD:EF:00:00:00 saveenv
And reboot to OpenWrt:
|Serial connection parameters||3.3V, 115200 Baud|
# screen /dev/ttyUSB0 115200