HCL:TS228

Jump to: navigation, search

The QNAP TS-228 is a Network Attached Storage (NAS).

Technical data

  • Realtek RTD1195 SoC
    • 2x Arm Cortex-A7
  • 2x 3.5" SATA hard drive bay
  • 1x USB 2.0 host
  • 1x USB 3.0 host
  • 1x SD card reader
  • 1x 1 Gb/s Ethernet
  • 1x fan
  • 1x UART connector (JST PH 2.0 4 Pin)

Manual installation

U-Boot

General informations

TFTP support is compiled in and can be used to load kernel, initrd and device tree to boot the device without modification to the original firmware.

Pressing poweron button and reset button at the same time will go into recovery mode and try to load the following files from usb. If they are not present it will present you with U-Boot shell.

rescue_dtb=rescue.emmc.dtb
rescue_rootfs=rescue.root.emmc.cpio.gz_pad.img
rescue_vmlinux=emmc.uImage

Start output

U-Boot 2012.07 (Jan 27 2016 - 17:16:49)

CPU  : Cortex-A7 dual core
Board: Realtek Demo Board
DRAM:  1 GiB
Watchdog: Disabled
Cache: Enabled
Non-Cache Region: 1 MB@0x07900000
MMC:   rtk_emmc : Detect chip rev. >= B
RTD1195 eMMC: 0
rtk_emmc : Detect chip rev. >= B
mmc->version=0x00010000
version=0x00000004
SDR select (sample/push) : 0x00/0x00
[LY] cardtype=57, mmc->card_caps=0f
[LY] TBD : to support DDR50/HS200
[LY] SDR bus width=2
SDR select (sample/push) : 0x00/0x00
[LY] mmc->boot_caps = 203
[LY] sdr50 : 0
exit from mmc_startup(),err=0
Device: RTD1195 eMMC
Manufacturer ID: 11
OEM: 100
Name: 004G6
Tran Speed: 31975000000000a
Rd Block Len: 512
MMC version 4.0
High Capacity: No
Capacity: 3.7 GiB
Bus Width: 8-bit
Speed: SDR50
Factory: MMC
Factory: pp:1, seq#:0x184, size:0x21600
get_bootparam:
------------can't find tmp/factory/000BootParam.h
Factory RO: MMC
[FAC_RO] No factory_ro data in eMMC
In:    serial
Out:   serial
Err:   serial
Net:   Realtek PCIe GBE Family Controller mcfg = 0024
dev->name=r8168#0
Hit Esc or Tab key to enter console mode or rescue linux:  0
------------can't find tmp/factory/recovery

Press Install Button

(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

1: Hub,  USB Revision 2.0
 - u-boot EHCI Host Controller
 - Class: Hub
 - PacketSize: 64  Configurations: 1
 - Vendor: 0x0000  Product 0x0000 Version 1.0
   Configuration: 1
   - Interfaces: 1 Self Powered 0mA
     Interface: 0
     - Alternate Setting 0, Endpoints: 1
     - Class Hub
     - Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms


USB device -1: device type unknown

** Invalid boot device **
Loading "rescue.emmc.dtb" from USB failed.
Enter console mode, disable watchdog ...

Builtin commands

bdinfo  - print Board Info structure
bootm   - boot application image from memory
bootr   - boot realtek platform
burn    - burn image to factory via uart by rtice
dcache  - enable or disable data cache
env     - environment handling commands
facro   - FACTORY read-only sub system
factory - FACTORY sub system
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fdt     - flattened device tree utility commands
go      - start application at address 'addr' or start running fw
help    - print command description/usage
icache  - enable or disable instruction cache
keyset  - keyset  - write keyset file onto factory area

loady   - load binary file over serial line (ymodem mode)
md      - memory display
mmc     - MMC sub system (patch for rtd299x)
mtest   - simple RAM read/write test
mw      - memory write (fill)
ping    - send ICMP ECHO_REQUEST to network host
reset   - Perform RESET of the CPU
rtkmmc  - RTK MMC direct read function
saveenv - save environment variables to persistent storage
source  - run script from memory
tftp    - download image from TFTP server
tftpput - TFTP put command, for uploading files to a server
uart_write- for uart mp tool burn mac and sn key

unzip   - unzip a memory region
usb     - USB sub-system
verify  - verify image in factory

BDINFO

arch_number = 0x0000138A
boot_params = 0x00100100
DRAM bank   = 0x00000000
-> start    = 0x0000B000
-> size     = 0x40000000
ethaddr     = 00:10:20:30:40:50
ip_addr     = 192.168.100.1
baudrate    = 115200 bps
TLB addr    = 0x000D0000
*** bdinfo pll ***
SCPU  PLL   =  800 MHz
ACPU  PLL   =  576 MHz
VCPU  PLL   =  324 MHz
DDSA  PLL   =  432 MHz
DDSB  PLL   =  432 MHz
DCSB  PLL   =  351 MHz
BUS   PLL   =  459 MHz
GPU   PLL   =  378 MHz
LVDS  PLL   =  243 MHz
DDR   PLL   = 1333 MHz
*** bdinfo ddr ***
DDR   SIZE = 512*2 = 1024 MB  (Evaluated from DC1 0xb8008004/0x18008740)

environment variables

baudrate=115200
bootargs=console=ttyS0,115200 earlyprintk loglevel=4 
bootcmd=bootr
bootdelay=0
ethact=r8168#0
ethaddr=00:10:20:30:40:50
fdt_loadaddr=0x01FF2000
gatewayip=192.168.100.254
ipaddr=192.168.100.1
kernel_loadaddr=0x03000000
mtd_part=mtdparts=rtk_nand:
netmask=255.255.255.0
rescue_audio=bluecore.audio
rescue_cmd=go ru
rescue_dtb=rescue.emmc.dtb
rescue_rootfs=rescue.root.emmc.cpio.gz_pad.img
rescue_vmlinux=emmc.uImage
rootfs_loadaddr=0x02200000
serverip=192.168.100.2

Environment size: 520/131068 bytes

Kernel

The mainline Kernel has (very) basic support for the SoC.

It looks like the device is heavy based on Realtek 119x Horseradish

See also

Vendor source code (kernel)