Open Turbostation:TS101

System Overview
The TS101 is a member of the Turbostation Family of Network Access Storage Device from QNAP (Taiwan). The device contains space for a single 3.5" SATA drive; as well as connectivity to external USB and e-Sata drives. Full product details and updated firmware are available from Qnap TS101. Progessive Audio provides a firmware update (and support) for enabling Slimserver in order to stream data to the Squeezebox / Transporter Audio sytems. It is recommended! Alternatively a new firmware update from QNAP allows UPnP streaming.

Circuit Boards
The images below were taken from TS101 with the V1.02 PCB board. Many others do not have the type III mini pci connector in place.



Firmware
The firmware is currently available under GPL from the QNAP website. First head to the Specifications page; select Download and then the 'Technical Docu' link. For convienence the link is here but this could break in the future.

Serial Communications
The 2x3 Pin connector (labelled JP2) is located on the HDD side of the PCB behind the LED1 / USB light (below the QNAP label). This is a serial port running at TTL 3.3V. It is similar to the Synology DS101 and can be connected to at 115200 baud; 8n1 software handshakes.

At boot time you can press space to enter U-Boot. There is currently no way to get root access via this path; and it does not appear that the QNAP U-Boot supports network boot. Further information is available on the Serial Communications page.

Serial Programming
The PIC controller can be programmed using the 'In Circuit Serial Programming TM' (ICSP) mode (see page 112 of PIC manual for more info). There are 5 through pins located close to the main SATA connector; Pin 1 is closest to connector. If looking from component side (and LED's are to your right), Pin 1 is closest to the BZ1 label; and CN2 is written on right hand side. The following layout is used

Further info on the 'in circuit serial programming guide'

Upgrades
The standard system works very well for the initial applications it is designed for; however many want to add / expand the system. Thoughts, ideas and results are listed below. Please feel free to add any results of upgrades!

Memory
There are clearly two empty SDRAM slots on the original PCB board. According to QNAP, the memory cannot be upgraded and is fixed at 64MB. The details of the MPC controller shows that it can support a maximum of 2 Gigabytes of RAM; attached in 1-8 banks of 16,64, 128 156, 512 MB. Quick calculations show that things dont add up; unless you consider that SRAM is addressed in row, column, bank format. Getting to the bottom of this is complicated as there are no public specifications for the existing PSC SDRAM.

Can we use the empty sockets?
In principle we should be able to - a lot depends upon how the designers connected things.

A further investigation showed that there are some unconnected capacitors associated with the empty SDRAM sockets; these are listed below. Assuming that all SDRAM with the TSOP54 footprint have the same pinouts then using information for the Micron MT48 series should enable the functionality to be deduced. Values are unknown as they are not readable on the SMD components; but they seem to be stabilisation (debounce) capacitors connected between the power supply and isolated DQ power supply. Please fill out the table if further information is found.

Can we replace the existing chips?
Based on the fact that the capacitors are purely acting for stability it would seem logical that the existing chips can be extracted and replaced with new ones. Once again getting better specifications on the PSC chips would enable an easy answer. Most of the Micron memory chips are 4 bank devices; and go upto 256MB; thus allowing a theoretical potential of 512MB ram. Practically though it is not clear whether the CPU is running in 32 bit or 64 bit access; or has the full PCB connected capacity for the higher memory options. Unfortunately the CPU is a Ball Grid Array device; and getting access to check all the pins is not easy.

Mini PCI Connector
Originally the Turbostation TS101 was announced with a optional wireless card; however this option never materialised. Some of the PCB's released had space and layout for the SMD connection of the connector; but this was left blank. Other boards (>August 2006) seem to have the connectors added. There is currently no known information about which mini-pci (type III) boards may be suitable.

An interesting observation: there is a sealed hole at the end of one of the cases which might be for an ariel for a wifi connector. This may be needed because the casing could cause interference problems.

Update: 11/10/06 QNAP have claimed at the Mini PCI feature is not yet enabled in the firmware. If the board has a Mini PCI slot then it is a new board version and more announcements will follow in the future. Whether old boards can be retrofitted with the correct slot is still unknown.

If you want to put on a mini-PCI connector the following types can be used. NOTE the lower versions are probably not useful due to height clearance. The ideal height should be around 6.2mm!

Molex 67315-0011 (4mm high) or 67391-0011 (5.2mm high); Tyco Electronics 1734835-1 (6.7mm), 1734835-2 (6.7mm), 1734069-3 (6.7mm), 1734661-1 (5.6mm) and 1734027-3 (6.00mm)

Mini PCI Boards
There are lots to choose from - but the NSLU site provides some useful ideas. E.g. Wifi; More SATA / Hardware Raid / VGA / Firewire / Audio...

Other USB?
The USB chip is the same as those used on the kurobox devices; and checking the circuit appears to show that USB ports 1 and 5 are not used. Certainly DM1 appears to be N/C; and RSDM1 held to low. It may be possible to enable them using something like the kurobox usb upgrade; alternatively the circuit layout for the chips is easy to follow and technical documentation from NEC site implies it is possible to activate them with some simple resistors. Time will tell.

USB Swap File
Based on comments from the [forums.slimdevices.com Slimdevices forums] there could be opportunities to add a cheap USB stick to one of the ports; and use this for a swap file. This could help enable hard disks to spin down when not needed.

Firmware
The firmware is a PC1 encrypted compressed tarball. Firmware 1.2.1 contains the following files:


 * initrd.boot (2.5M)


 * initrd.boot.cksum


 * rootfs_ext.tgz (7.8M)


 * rootfs_ext.tgz.cksum


 * uImage (1.8M)


 * uImage.cksum

Flash Memory
There is 16MB of flash memory from which the system boots, organised as follows:

The QNAP firmware update process updates only the Kernel (uImage), RootFS1 (initrd.boot) and RootFS2 (rootfs_ext).

mtdblock0
The turbostation uses Das U-Boot (1.1.2) as the boot loader. Unfortunately the custom code for the TS-101 board doesn't appear to be in the downloadable GPL code.

Some interesting information about Das U-Boot running on the Linkstation can be found here: http://www.linuxnotincluded.pwp.blueyonder.co.uk/linkstation/u-boot.html

mtdblock1
Compressed kernel image (2.6.12.3 for the 1.2.1 firmware) with a U-Boot header.

mtdblock2
The root filesystem, gzip'ed ext2 image with a U-Boot header. This filesystem is loaded into a ramdisk /dev/ram0 during booting.

mtdblock3
This is a tar'ed and gzip'ed ext2 filesystem. It is copied to /dev/sda4 during boot and mounted as /mnt/ext.

mtdblock4
An ext2 filesystem image containing an empty autorun.sh file which is run during system startup. This part of the flash may be used to startup any software not supplied with the firmware by writing a customised autorun.sh file.

mtdblock5
Configuration for the boot loader:

mtdblock6
This partition has a small ext2 filesystem image with two files. One file ETH0.MAC_ADDR defines the unit's MAC address.

The other file seems to have the results output from a hardware test.

Boot Loader
The boot loader is accessible from the serial port connection as there is a 1 second timeout in which to interrupt the normal boot process.

U-Boot reports the following as the system starts:

Unfortunately it looks as if QNAP haven't enabled network support, so although there are commands to boot across the network they don't work. There also don't seem to be any commands to access the hard disk or USB port, so those alternative boot options are not available either.

Kermit file copy is available but is untested.