openwrt/target/linux
Alberto Bursi 94676dd99d kirkwood: add ZyXEL NSA310b
The ZyXEL NSA310 device is a Kirkwood based NAS:

- SoC: Marvell 88F6702 1200Mhz
- SDRAM memory: 256MB DDR2 400Mhz
- Gigabit ethernet: Realtek (over pcie)
- Flash memory: 128MB
- 1 Power button
- 1 Power LED (blue)
- 5 Status LED (green/red)
- 1 Copy/Sync button
- 1 Reset button
- 2 SATA II port (1 internal and 1 external)
- 2 USB 2.0 ports (1 front and 1 back)
- Smart fan

The stock u-boot cannot read ubi so it should be replaced with the
LEDE/OpenWRT's u-boot or with a u-boot from here
https://github.com/mibodhi/u-boot-kirkwood

This device's boot ROM supports "kwboot" tool
(in mainline u-boot, built automatically if CONFIG_KIRKWOOD is declared)
that sends an uboot image to the board over serial connection, it is very easy to unbrick.

The stock bootloader can use usb and read from FAT filesystems,
so the installation process is simple, place the uboot file on a USB flashdrive
formatted as FAT (here it is "openwrt-kirkwood-nsa310.bin", then connect TTL
to the board and write the following commands in the bootloader console:

usb reset
fatload usb 0 0x1000000 openwrt-kirkwood-nsa310.bin
nand write 0x1000000 0x00000 0x100000
reset

Now you are rebooting in the new u-boot, write this in its console to install the firmware:

usb reset
fatload usb 0 0x2000000 lede-kirkwood-nsa310b-squashfs-factory.bin
nand erase.part ubi
nand write 0x2000000 ubi 0x600000

If your firmware file is bigger than 6 MiBs you should write its size in hex
instead of 0x600000 above, or remove that number entirely (it will take a while in this case).

If you are using another uboot that can read ubi, set mtdparts like this

mtdparts=mtdparts=orion_nand:0x00c0000(uboot),0x80000(uboot_env),0x7ec0000(ubi)

And set your bootcmd to be like this

bootcmd=run setenv bootargs; ubi part ubi; ubi read 0x800000 kernel; bootm 0x800000

Then you can install the firmware as described above.

After you installed (or configured) the u-boot for booting the firmware,
write the device's mac address in the ethaddr u-boot env.
The MAC address is usually on a sticker under the device (one of the two codes is the serial),
it should begin with "107BEF" as it is assigned to ZyXEL.

write in the u-boot console (use your MAC address instead of the example)

setenv ethaddr 10:7B:EF:00:00:00
saveenv

to save the mac address in the u-boot.

Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
2017-01-24 16:21:25 +01:00
..
adm5120 adm5120: mark the rb1xx subtarget as broken 2017-01-16 20:40:12 +01:00
adm8668 build: fix subtarget descriptions 2016-09-04 13:35:11 +02:00
apm821xx kernel: update 4.4 kernel to 4.4.42 2017-01-13 23:05:36 +01:00
ar7 kernel: update kernel 3.18 to version 3.18.43 2016-10-24 20:25:14 +03:00
ar71xx uboot-ar71xx: switch to using u-boot.mk 2017-01-24 16:21:24 +01:00
arc770 arc770: gzip rootfs image to save some space 2017-01-13 16:59:28 +01:00
archs38 archs38: gzip rootfs image to save some space 2017-01-13 16:59:28 +01:00
arm64 Revert "arm64: boot-wrapper: Add mirror" 2016-12-22 21:08:17 +01:00
armvirt armvirt: add kernel config change missing from 0d44f0cb 2017-01-13 11:05:32 +01:00
at91 kernel: remove ubifs xz decompression support 2017-01-09 14:07:06 +01:00
ath25 kernel: backport MIPS changes introducing a separate IRQ stack 2017-01-15 18:25:54 +01:00
au1000 kernel: update kernel 3.18 to version 3.18.43 2016-10-24 20:25:14 +03:00
bcm53xx bcm53xx: use accepted BCM5301X patches for R8000 and Luxul devices 2017-01-18 07:49:52 +01:00
brcm47xx build: remove mips16 feature flag from target makefiles 2017-01-24 13:15:01 +01:00
brcm63xx kernel: backport MIPS changes introducing a separate IRQ stack 2017-01-15 18:25:54 +01:00
brcm2708 kernel: update 4.4 kernel to 4.4.42 2017-01-13 23:05:36 +01:00
cns3xxx kernel: bump to 4.4.38 2016-12-13 08:28:28 +01:00
gemini gemini: rename config-default to config-4.4 2016-08-24 01:44:05 +03:00
generic kernel: remove yaffs2 support, it is no longer needed 2017-01-16 20:40:12 +01:00
imx6 imx6: kernel: Backport serial port fixes 2017-01-15 17:41:14 +01:00
ipq806x ipq806x: Fix wireless support for Netgear Nighthawk X4S D7800 2017-01-18 12:05:18 +01:00
ixp4xx ixp4xx: drop 3.18 config/patches 2017-01-02 21:06:13 +01:00
kirkwood kirkwood: add ZyXEL NSA310b 2017-01-24 16:21:25 +01:00
lantiq lantiq: remove CPU_TYPE:=mips32r2, it gets overwritten anyway 2017-01-24 13:33:45 +01:00
layerscape kernel: remove ubifs xz decompression support 2017-01-09 14:07:06 +01:00
malta malta: mark as source-only to avoid wasting build resources 2017-01-24 13:15:01 +01:00
mcs814x treewide: dts: use C style includes 2016-11-12 21:04:15 +01:00
mediatek kernel: update 4.4 kernel to 4.4.42 2017-01-13 23:05:36 +01:00
mpc85xx kernel: remove DEVMEM/DEVKMEM platform overrides 2017-01-10 13:48:53 +01:00
mvebu mvebu: set fan_ctrl.sh only on mamba 2017-01-24 16:21:25 +01:00
mxs mxs: gzip ext4 images 2017-01-13 16:59:28 +01:00
octeon octeon: fix mtd partitions for erlite on cmdline 2017-01-20 00:35:46 +01:00
omap omap: build various core drivers into the kernel instead of packaging them 2017-01-10 13:44:26 +01:00
omap24xx kernel: clean up usb gadget support 2016-09-15 13:11:21 +02:00
orion kernel: remove DEVMEM/DEVKMEM platform overrides 2017-01-10 13:48:53 +01:00
oxnas kernel: remove ubifs xz decompression support 2017-01-09 14:07:06 +01:00
ppc40x build: fix subtarget descriptions 2016-09-04 13:35:11 +02:00
ppc44x ppc44x: mark as broken 2017-01-10 12:49:34 +01:00
ramips build: remove mips16 feature flag from target makefiles 2017-01-24 13:15:01 +01:00
rb532 kernel: remove ubifs xz decompression support 2017-01-09 14:07:06 +01:00
sunxi uboot-sunxi: clean up, switch to u-boot.mk 2017-01-24 16:21:25 +01:00
uml uml: mark as source-only 2017-01-24 13:15:01 +01:00
x86 x86: unify CPU_TYPE for legacy and geode 2017-01-24 13:15:01 +01:00
xburst xburst: remove hack to determine entry point 2017-01-13 19:46:45 +01:00
zynq kernel: remove DEVTMPFS platform overrides 2017-01-10 13:48:53 +01:00
Makefile