Add a Serial port to the ARM9 Linkstation

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 16:47, 18 August 2007 by Ramuk (Talk | contribs) (Have fun!)

Jump to: navigation, search

Introduction

Note
The same instructions will work for a KuroBoxPro


What you can do with serial access on a LS Pro

At first: check serial access In fact you can control the UBoot Bootloader.

  • You can change to EM Mode at will without any dirty tricks.
  • You can look at the linux system of your LS pro without having to flash any custom firmware
  • You can load a kernel + ramdisk via tftp
  • Hey! We connect it because we can!

Serial access isn`t that important for users, but it is very important for developers because they
exactly see what is happening while the LS Pro boots.
The kernel log tells us a little more about the hardware and it allows us to debug a newer kernel.
Without serial that is not possible.

Why it is easy to gain serial access on the LS Pro


Pinout - Ground is on the Right side

Pin  Signal
1 Transmit (TX)
2 Receive (RX)
3 Power (3.3V)*
4 Ground (GND)



The Serial Converter

The serial port signals from the processor are only 3.3V. For proper RS-232 12V signaling, an RS-232 level shifter needs to be added. These are very common in PDA serial cables also, but can be purchased

Models other than KuroPro

If you are attaching a serial header pin onto the main board, you may want to consider:

  • Using the header pin unit with a 90 degree bend, or you might not be able to close the case
  • Soldering it with the pins toward the interior, rather than toward the case. This allows easier access, since if the pins face the case side they would be very close to the metal side. This would make access is so tight that one might end up taking the board out to get plug fitted on the pins.


Build your own LVTTL/RS232 or LVTTL/USB interface

Buy your own TTL Level Shifter

Usage considerations for the TTL-232R-3V3

TTL-232R-3V3 USB to TTL Serial Converter Cable
A very similar TTL/USB converter cable that uses a chip by FTDI (the same chip is used in the SCON-KIT ) can be obtained, but the pinout at the connector end would need to be reassigned: Spec Sheet w/ pinout, wire colors & other info
Mouser Part # 895-TTL-232R-3V3 $20.00
Mouser Part # 517-929400-01-04 $0.32

A working/tested pinout/wire-color scheme is:

Color Pin Number Signal
yellow 1 TXD
orange 2 RXD
unused 3 VCC
black 4 GND
  • Solder the 4-pin header to the board. Make sure you don't have shorts.
  • You will need to switch wires on the TTL-232R-3V3 cable. Use a sharp object to lift the plastic tabs and carefully pull the wires out. Rearrange them according to the table above (black, empty, orange, yellow, empty, empty) and slide those wires back in. Tape the other wires to make sure they don't short anything.
  • When plugging in the cable, make sure black aligns with GND, yellow with TXD, and orange with RXD.
  • Connect the USB cable to your computer, start a terminal program with the right settings.
  • Turn on the device, you should see output from the bootloader in couple seconds.

Using a USB Plug to form a friction-fit connector

 
WARNING!

I blew out a fuse on my KuroBoxPro by using this method, consider soldering in a pin header instead Ramuk 18:13, 18 August 2007 (CEST)


1) You will also need an old USB-plug (Female, Type A). I used two from USB-extender-cables and the rest from female-USB-connectors that i directly ordered in a shop.
2) you will also need something as thick as 1 mm. This can be wood, plastic or the latest flyers you collected by going out at the weekend. We used a Eurocard which we broke in Pieces (4 rows * 9 holes)

Prepare the USB-Plug

Indifferent which way you use, you will have to make the usb-plastik part a little smaller....you also will have to get rid of all parts so that it looks like the next picture.

If you are using one from an extender cable

Best would be to use a grinder. Do not hesitate to destroy the cables. It is recommended to remove everything so that you can solder the cables from the phonesync-cable directly to the pins.

If you have bought the part directly

Just open the metal-case and use a grinder to make it look like the picture above. You won`t have to remove any glue or cables.

Checking the cable/plug

Best with a Voltmeter. To go completely safe test from the pins for the yellow + orange wires. The green one + shield can be tested from the pin on the other side.

Solder the phone sync cable to the USB-plug

You will have both read and write access if you solder it that way.

In this picture: Green is GND, Yellow is RX (as in "data entering the LSPro") and Orange is TX (as in "data coming from the LSPro"). The not connected terminal is VCC.

Pin  Signal
orange Transmit (TX)
yellow Receive (RX)
Power (3.3V)* (VCC)
Green + shield Ground (GND)

(in this case from on top of the profilic chip from this article: Use a cheap phone sync cable with the serial port).

Using superglue

Software Installation

General Settings

Baud: 115200
Databits: 8
Parity: N
Stopbits: 1

Windows

You need a Windows driver for the Prolific USB-to-Serial adaptor, available at the Prolific Technology Inc Support Site. The cable will show up as COM4.

Linux

Plug the USB connector into your Linux box. Start minicom and set the port to /dev/ttyUSB0 115200 8N1. Power up and you will see a '+' printed.


Have fun!

Cable is confirmed to work...here, hyperterminal is used in WinXp
{"cc_re__cc_re__cc_by_sa_3_0": ["?title=Add_a_Serial_port_to_the_ARM9_Linkstation&amp;oldid=13588\" title=\"Permanent link to this revision of the page\">Permanent link</a></li>\n\t\t\t\t\t\t\t\t\t\t\t<li id=\"t-info\"><a href=\"/w/index.php?title=Add_a_Serial_port_to_the_ARM9_Linkstation&amp;action=info\">Page information</a></li>\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</div>\n\t\t</div>\n\t\t\t</div><!-- end of the left (by default at least) column -->\n\t\t<div class=\"visualClear\"></div>\n\t\t\t\t\t<div id=\"footer\" role=\"contentinfo\">\n\t\t\t\t\t\t<div id=\"f-copyrightico\">\n\t\t\t\t\t\t\t\t\t<a href=\"http://creativecommons.org/licenses/by-sa/3.0/\"><img src=\"http://i.creativecommons.org/l/by-sa/3.0/88x31.png\" alt=\"Attribution-Share Alike 3.0 Unported\" width=\"88\" height=\"31\" /></a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t<div id=\"f-poweredbyico\">\n\t\t\t\t\t\t\t\t\t<a href=\"//www.mediawiki.org/\"><img src=\"/w/resources/assets/poweredby_mediawiki_88x31.png\" alt=\"Powered by MediaWiki\" width=\"88\" height=\"31\" /></a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t<ul id=\"f-list\">\n\t\t\t\t\t\t\t\t\t<li id=\"copyright\">Content is available under <a class=\"external\" rel=\"nofollow\" href=\"http://creativecommons.org/lic", "co\">\n\t\t\t\t\t\t\t\t\t<a href=\"http://creativecommons.org/licenses/by-sa/3.0/\"><img src=\"http://i.creativecommons.org/l/by-sa/3.0/88x31.png\" alt=\"Attribution-Share Alike 3.0 Unported\" width=\"88\" height=\"31\" /></a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t<div id=\"f-poweredbyico\">\n\t\t\t\t\t\t\t\t\t<a href=\"//www.mediawiki.org/\"><img src=\"/w/resources/assets/poweredby_mediawiki_88x31.png\" alt=\"Powered by MediaWiki\" width=\"88\" height=\"31\" /></a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t<ul id=\"f-list\">\n\t\t\t\t\t\t\t\t\t<li id=\"copyright\">Content is available under <a class=\"external\" rel=\"nofollow\" href=\"http://creativecommons.org/licenses/by-sa/3.0/\">Attribution-Share Alike 3.0 Unported</a> unless otherwise noted.</li>\n\t\t\t\t\t\t\t\t\t<li id=\"privacy\"><a href=\"/wiki/Http://www.nas-central.org/privacy-policy\" title=\"Http://www.nas-central.org/privacy-policy\">Privacy policy</a></li>\n\t\t\t\t\t\t\t\t\t<li id=\"about\"><a href=\"/wiki/NAS-Central_Buffalo_-_The_Linkstation_Wiki:About\" title=\"NAS-Central Buffalo - The Linkstation Wiki:About\">About NAS-Central Buffalo - The Linkstation Wiki</a></li>\n\t\t\t\t\t\t\t\t\t<li id=\"disclaimer\"><a href=\"http://www.nas-central.org/ind"], "copyright__copyright__copyright": ["", "\n\nUsing superglue\n\nSoftware Installation\n\nGeneral Settings\n\nBaud: 115200\nDatabits: 8\nParity: N\nStopbits: 1\n\nWindows\n\nYou need a Windows driver for the Prolific USB-to-Serial adaptor, available at the Prolific Technology Inc Support Site. The cable will show up as COM4.\n\nLinux\n\nPlug the USB connector into your Linux box. Start minicom and set the port to /dev/ttyUSB0 115200 8N1. Power up and you will see a '+' printed.\n\n\nHave fun!\n\nCable is confirmed to work...here, hyperterminal is used in WinXp", "\n\nUsing superglue\n\nSoftware Installation\n\nGeneral Settings\n\nBaud: 115200\nDatabits: 8\nParity: N\nStopbits: 1\n\nWindows\n\nYou need a Windows driver for the Prolific USB-to-Serial adaptor, available at the Prolific Technology Inc Support Site. The cable will show up as COM4.\n\nLinux\n\nPlug the USB connector into your Linux box. Start minicom and set the port to /dev/ttyUSB0 115200 8N1. Power up and you will see a '+' printed.\n\n\nHave fun!\n\nCable is confirmed to work...here, hyperterminal is used in WinXp"]}