Terastation TS3410DN

From Buffalo NAS Wiki

Specs

Terastation TS3410DN

CPU 1.4GHz Dual Core Annapurna Labs Alpine AL-212
Memory 1GB DDR3
Bays 4
Network 2x 10/100/1000 Mbps (Atheros AR8035)
Sata 4x
NAND Flash Yes
SPI Flash 128Mb (MX25U12835F)
USB 2.0 No
USB 3.0 2x Rear (D720201)
Fan Yes
Power

Stock Firmware Installation

  • Install blank drives into the device and then power it on.
  • The device will bring up a web interface which can be used to format the drives and install the firmware.

If the device fails to boot into the OS or the recovery web interface it may mean that the NAND is corrupted. It will typically then boot into emergency mode. To recover you can use the "Update Boot" debug option of LSUpdater to re-flash the NAND which should allow it to boot and reinstall the firmware. Like all operations that involve re-flashing the boot loader there is some risk involved if the process gets interrupted by a power outage or something of that nature.

see Enable Debug mode

Root Access

This device can be sent commands via ACP_Commander.

a basic root shell can be accessed by sending the following

  • Start telnet daemon: "/bin/busybox telnetd &"
  • Switch admin user to bash shell: "sed -i 's/rbash/bash/g' /etc/passwd"
  • Add normal directories to PATH: "echo PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin >> /home/.bash_profile"
  • Add sudo access to admin user: "echo admin ALL=(ALL:ALL) ALL >> /etc/sudoers"

You should now be able to login as the admin user via telnet and use sudo for root access as needed. The telnet daemon will need to be restarted every time the system is rebooted (or added to an init script to make persistent).

Eventually I'll add a procedure for persistent ssh access rather than telnet... someday.

Custom Firmware/Operating System installation

These devices run a modified version of Ubuntu LTS 14.04, it is relatively easy to customize once you gain root access. However, the kernel it uses has been patched to allow 32kb memory pages which causes some programs to fail (I've only tested ones compiled for Debian ARMHF so far).

These devices are based on a Annapurna Alpine SoC which appears to have some amount of mainline linux support though it's unclear (to me) whether that support is sufficient to boot from a mainline kernel. Although the device stores its operating system on the hard disks it boots from a kernel/initrd stored in the on-board flash. It should be possible to make it boot from the drives instead by adjusting the boot order in uboot but I have not yet attempted this.

Hardware Notes

Behind the sticker behind the door is a header with a serial console:

Caption text
Ground <disabled> Rx Tx
Caption text
Setting Value
Speed 115200
Bits 8
Parity N
Stop Bits 1
Flow Control off

Pictures

DMESG output


U-boot env