HowTo for the Seagate FreeAgent DockStar - Serial Link (RS232/USB) for Troubleshooting
If you have a problem with connecting to the DockStar via network, a serial link may help. If that does not help then a JTAG connection is the last resort. I will describe a serial link via RS232 and USB. A good description is already found here, also how to open the housing.
You can get for example via Ebay a serial RS232 cable (Siemens C55 RS232 Datenkabel, about 5 EUR). It converts basically the 3.3 V signal level from the CPU to +/- 6 V on the RS232 side. The pinout for the 12 pin telphone plug is:
The color for the the data lines may be different. pin color function 2 blk GND 3 blu Data out 4 wht Data in
The board inside the DockStar does have a 10 pin connector with 2 rows of 2 mm spaced pins. The 2 mm spaced plug comes from an old notebook harddisk or CD-ROM adapter. If you have opened the DockStar Pin 1 is the upper right one of the 10-pin header when the ethernet jack looks away from you and the 10-pin header is on the side near you. You have to use the three pins on the lower right (6, 4 and 2). In the data cable the data wires may have a different color, just test it if doesn't work, the hardware doesn't take any harm if those wires are exchanged. The picture on the right will expand, if you click on it. The pinout of the 10 pin conncetor is (for serial and JTAG):
Dockstar plug J1 10 pin, Serial Link / JTAG (Pin counting pairwise, and original) function name pin org pin name function color Serial output VCC 1 1 10 2 GND blk Test Reset, active low TRST 3 2 9 4 TxD 3.3 V blu Test Data Input TDI 5 3 8 6 RxD 3.3 V wht Test Mode Select TMS 7 4 7 8 SRST System Reset, active low Test Clock TCK 9 5 6 10 TDO Test Data Output
A more geometric layout of J1:
J1 Top View +-------- JTAG ------+ TCK TMS TDI TRST VCC +3.3V 9 7 5 3 1 10 8 6 4 2 TDO SRST RxD TxD GND + JTAG + +- Serial -+ 3.3 V
Start PUTTY (Windows), screen (e.g. Linux Terminal: screen /dev/ttyUSB0 115200) or something else to use the serial console (/dev/ttyS0, 115200 Baud, 8N1, no handshake), turn on the power and watch the messages.
Since begin of 2012 there is a new boot loader available, which has different boot messages, see at DockStarUboot.
It starts with:
U-Boot 1.1.4 (Jul 16 2009 - 21:02:16) Cloud Engines (3.4.16) U-Boot code: 00600000 -> 0067FFF0 BSS: -> 00690D60 Soc: 88F6281 A0 (DDR2) CPU running @ 1200Mhz L2 running @ 400Mhz SysClock = 400Mhz , TClock = 200Mhz DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6 DRAM CS base 0x00000000 size 128MB DRAM Total size 128MB 16bit width Flash: 0 kB Addresses 8M - 0M are saved for the U-Boot usage. Mem malloc Initialization (8M - 7M): Done NAND:256 MB CPU : Marvell Feroceon (Rev 1) CLOUD ENGINES BOARD: REDSTONE:1.0 Streaming disabled Write allocate disabled USB 0: host mode PEX 0: interface detected no Link. Net: egiga0 [PRIME], egiga1 Hit any key to stop autoboot: 0 ...
At the point where it tells Hit any key to stop autoboot you could stop the boot procedure for Linux, and enter the command line for the boot loader U-boot. See an example:
CE>> printenv baudrate=115200 loads_echo=0 ipaddr=169.254.254.253 serverip=169.254.254.254 rootpath=/mnt/ARM_FS/ netmask=255.255.0.0 run_diag=yes console=console=ttyS0,115200 CASset=min MALLOC_len=1 ethprime=egiga0 bootargs_root=root=/dev/mtdblock2 ro ...
In case you want to use a command, type at the prompt CE> help:
Unknown command 'quit' - try 'help' CE>> help ? - alias for 'help' base - print or set address offset boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootext2 dev:boot_part1,boot_part2 addr boot_image linux_dev_name bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol bubt - Burn an image on the Boot Nand Flash. chpart - change active partition cmp - memory compare cmpm - Compare Memory cp - memory copy cpumap - Display CPU memory mapping settings. crc32 - checksum calculation date - get/set/reset date & time dclk - Display the MV device CLKs. dhcp - invoke DHCP client to obtain IP/boot params diskboot- boot from IDE device echo - echo args to console eeprom - EEPROM sub-system erase - erase FLASH memory ext2load- load binary file from a Ext2 filesystem ext2ls - list files in a directory (default /) fi - Find value in the memory. flinfo - print FLASH memory information fsinfo - print information about filesystems fsload - load binary file from a filesystem image g - start application at cached address 'addr'(default addr 0x40000) go - start application at address 'addr' help - print online help icrc32 - checksum calculation ide - IDE sub-system iloop - infinite loop on address range imd - i2c memory display imm[.b, .s, .w, .l] - i2c memory modify (auto-incrementing) imw - memory write (fill) inm - memory modify (constant address) iprobe - probe to discover valid I2C chip addresses ir - reading and changing MV internal register values. loop - infinite loop on address range ls - list files in a directory (default /) map - Diasplay address decode windows md - memory display me - PCI master enable mm - memory modify (auto-incrementing) mp - map PCI BAR mtdparts- define flash/nand partitions mtest - simple RAM test mv_diag - perform board diagnostics mw - memory write (fill) nand - NAND sub-system nboot - boot from NAND device nbubt - Burn a boot loader image on the Boot Nand Flash. nm - memory modify (constant address) pci - list and access PCI Configuration Space phyRead - Read PCI-E Phy register pciePhyWrite - Write PCI-E Phy register phyRead - Read Phy register phyWrite - Write Phy register ping - send ICMP ECHO_REQUEST to network host printenv- print environment variables protect - enable or disable FLASH write protection rarpboot- boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU resetenv - Return all environment variable to default. run - run commands in an environment variable saveenv - save environment variables to persistent storage se - PCI Slave enable setenv - set environment variables sflash - read, write or erase the external SPI Flash. sg - scanning the PHYs status sp - Scan PCI bus. tftpboot- boot image via network using TFTP protocol version - print monitor version
The USB cable will be a Nokia CA-42, which you can buy via Ebay (Noname, about 4 EUR). Now I have learned, that only the cable with the blue USB plug housing (rubber like) does have a pl2303 chip inside. Another version (pl2303) with shell housing is available from Dealextreme for 3.54 EUR inclusive shipping (2011-11-03).
The cable with a black USB plug hard plastic housing does have a seldom used OTI 6858 chip (Ours Technology Inc.), which has drivers for Windows and Linux only. As a benefit, you can connect the DTR and USB +5V line.
You need to have the specific chip driver for your operating system, e.g. pl2303, to map the USB interface to a COM port (Linux: /dev/ttyUSB0, 115200 Baud, 8N1, no handshake). At windows you might take PUTTY as a terminal, at Linux minicom.
pin/Nokia Color Function DockStar 4 red +3.3 V n.c. 6 wht RxD RxD 7 grn TxD TxD 8 screen GND GND
What happens at command halt?
root@FADS90:~# halt Broadcast message from root@FADS90 (ttyS0) (hu Jan 1 01:03:1 1970): The system is going down for system halt NOW! INIT: SendingUsing makefile-style concurrent boot in runlevel 0. Stopping atop system monitor: atop. Stopping Samba daemons: nmbd smbd. Asking all remaining processes to terminate...done. All processes ended within 1 seconds....done. Deconfiguring network interfaces...done. Cleaning up ifupdown.... Unmounting temporary filesystems...done. Deactivating swap...done. Will now halt. [ 211.681061] System halted.
Serial Link in Mac OS X
In Mac OS it is also possible to connect to the serial link of the DockStar via Terminal.
The best free terminal program for a serial link is CoolTerm. If that program is not installed, following some alternatives are listed.
Function keys and mouse support
If you need the function keys F9 and F10 inside of the Terminal window, go to System/keyboard/keyboard short commands/Expose and remove the check mark from F9 and F10 by assigning other function keys. Then you can use those two functions keys F9/F10 in the Terminal window.
In order to use the page up and page down keys, you must add the SHIFT key.
To use the mouse, it needs another Terminal programm. I tried iTerm with success.
Program cu (Call Up another system)
You get help for this program with "man cu".
The benefit of "cu" is, that it is included in Mac OS X, and it uses the scroll back history of terminal.app.
Click on Program/Utilities/terminal.app $ sudo cu -l /dev/cu.serial1 -s 115200 Explanation: -l = line to use, /dev/tty.serial1 (COM1) is with handshake /dev/cu.serial1 is without handshake -s = speed (baudrate) when you are in online mode you have as an escape character the key "~" at the begin of a line. Help to "cu" (Call Up another system): ESCAPE: strg + alt gr + N = ~ Terminate: ~. Variables: ~v Commands : ~? \ = SHIFT + alt + 7 You get help with "~?" and escape online mode with "~." (without ENTER)
Programm iTerm use
A good replacement for PUTTY is the freeware iTerm. The benefit of iTerm is the use of the mouse pointer. Also the "page up" "page down" keys work. Another goodie is the use of boockmarks, as you have in PuTTY. To connect to the DockStar via SSH do:
$ ssh user@IP-number or computer name
Program screen use
Unfortunately it does not work with the program PUTTY (mode: serial, port: /dev/tty.serial1), even with sudo access.
What did work was the use of screen. The drawback with screen is that you have no scroll back history, and it can be tricky to finish screen. To use screen you open terminal.app and type:
check for the serial port: $ ls /dev/tty.* /dev/tty.serial1 call screen: $ sudo screen -U -fn /dev/tty.serial1 115200 Options (from $ man screen): -U # use UTF-8 character set -fn # do Not use X-ON/X-OFF 115200 # baudrate for the DockStar serial port exit screen (C-a = CTRL A, no spaces in between): $ C-a : quit
A nice help page can be found at http://en.gentoo-wiki.com/wiki/Screen
If you can not start screen because the serial port is busy, it may be that an old screen session was left. You can kill that with:
find process number: $ ps -A 4243 tty.serial1 0:00.01 SCREEN -U -fn /dev/tty.serial1 115200 kill process: $ sudo kill 4243
List of pages in this category:
-- RudolfReuter 2010-09-01 17:09:14