Difference between revisions of "Add a Serial port to the ARM9 Linkstation"
(add os x screen usage)
m (Remove category hacking.)
|(One intermediate revision by one other user not shown)|
|Line 1:||Line 1:|
Latest revision as of 15:38, 18 January 2013
- 1 Introduction
- 2 The Serial Converter
- 3 Using a USB Plug to form a friction-fit connector (NOT RECOMMENDED)
- 4 Software Installation
- 5 Have fun!
What you can do with serial access
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.
- One can get diagnostic information from the boot process or while using the Buffalo Updater, and use this to troubleshoot and fix an otherwise unrecoverable box
- 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
Serial access on KuroBoxPro
Find the unpopulated header CN6. The pins TXD, RXD, VCC and GND pins are marked. You can solder on a 4-pin header and use a TTL-232R-3V3. See next section.
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
Build your own LVTTL/RS232 or LVTTL/USB interface
- LVTTL/RS232 - Building a Custom Serial Interface
- LVTTL/USB - Use a Nokia Serial Cable on an ARM9 Linkstation
- LVTTL/USB - Use a cheap phone sync cable with the serial port
Buy your own TTL Level Shifter
- LVTTL/RS232 - MAX232 based from Futurelec - MINIRS2323V
- LVTTL/USB - FTDI chip based cable - TTL-232R-3V3
Usage considerations for the TTL-232R-3V3
A working/tested pinout/wire-color scheme is:
- 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 (NOT RECOMMENDED)
| 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) Epilogue- We have seen a 2nd case of frictions pins leading to a fuse-blowing short. The friction-fit method seems to have some consistent risks!
TimSmall 14:03, 13 April 2008 (CDT) Third case... The contact spacing for USB plug are not quite the same as for the Linkstation Serial port, also the width isn't quite the same, so it's easy to short pin-to-pin or pin-to-chassis.. I soldered the serial wires direct to the board instead...
- From the outset, consider using the more secure method, such as soldering a standard or angled 4-pin header instead of the friction-fit method. We now have two well documented cases of this method leading to a blown fuse.
- You will 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.
- 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
Regardless of which way you use, you will have to make the usb-plastic 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. 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.
When connecting a modified USB type-A female plug like the one shown here to a purchased USB/TTL level adapter, note that the YELLOW cable shown here (RX = data to be received by the LSPro) connects to the TXD cable (= data transmitted from the attached computer's serial/USB port) which is ORANGE in the recommended TTL-232R-3V3 cable from FTDI, and LSPro TX (ORANGE here) connects to RXD (YELLOW) from the USB/Serial port of the attached computer. (Connecting yellow to yellow and orange to orange gives no signal!) Note that the cable supplied with the SCON-KIT/PRO for the Kurobox/Pro has a crossover of its white and red RX/TX cables so the TX pin at one end connects to the RX pin at the other.
(in this case from on top of the prolific chip from this article: Use a cheap phone sync cable with the serial port).
Change kernelmon script (if needed)
Non Stock Firmware users should modify a line in the the /usr/local/sbin/kernelmon script: "cat /proc/driver/kernevnt" to "cat /proc/buffalo/kernevnt" This is to avoid endless errors in your terminal connection about not being able to write to /proc/driver/kernevnt
Hardware Flow Control: off
Software Flow Control: off
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.
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.
Make sure you have "screen". Connect the cable and run "screen /dev/tty.usbserial-XXXXX 115200".
Cable is confirmed to work...here, hyperterminal is used in WinXp