Add a Serial port to the MIPS Linkstation

''Originally by frontalot and nix from linkstationwiki.org. LS2 specific details and photos by Kuroguy''



Introduction
The console is the text output device for system administration messages. These messages come from the kernel, from the init system and from the system logger. On modern small computers the console is usually the computer's attached monitor and keyboard. The LinkStation, however, doesn't have monitor output; instead, it uses a serial connection for console output. Not only does the serial console provide valuable debugging output, it also allows root access!

Background
Most of the information on this page was originally only speculation, based on roughly deciphered information from a Japanes web page. At the end of 2006 the community bought a bricked LS2 and handed it over to Tampakuro aka Kuroguy for trying out various hardware modifications. While at it, kuroguy also verified the procedure for installing a serial console interface. This page has been updated with the information and photos he provided in Hardware Hacks for the LS2.

Prerequisites

 * (1)Electronic-grade soldering iron (think really small)
 * (1) 0.015", 1 oz solder
 * (1) 0.1” series PCB header plug, 4-pin (for the serial port on J1) the 90-degree bend type is nice if you want to attach it on the back of the board
 * (1) 0.1” series PCB header plug, 2-pin (for the enabling jumper on J2) 90-degree also nice here, same as above
 * (1) jumper for the header on J2 - the kind from an old IDE hdd is ideal
 * (1) Serial converter (or build your own - see step 4)

Access the Board

 * Disassemble the LinkStation.
 * Remove the main circuit board by removing the 4 mounting screws:
 * Place the circuit board on a static-free work area:

Attach Headers to the Board

 * The console header needs to be attached to the J1 pad, the jumper head to J2.
 * Remove the preexisting solder from J1 and/or J2. Some boards have no solder in the holes.  If they do, a solder wick or solder syringe are idea for this.
 * If you are using angled/90-degree-bend headers, attaching them to the back/outside of the circuit board is ideal.
 * Solder carefully and quickly to avoid board damage.
 * If you are using the back-of-the-board placement, labeling the pins 1-4 w/ a marker saves you time in when it comes to hooking up your adapter.

Enable Full Serial Tx/Rx
To enable write support across the serial port, simply bridge R186.

Install R186 using a 330 ohm resistor. Simply bridging R186 will stop the microcontroller from sending data to the CPU.

Hardware
As the LS2 only has a single serial port which is used by the housekeeping microcontroller, it is necessary to enable the serial console. This is done by jumpering the pins of J2 and disabling the watchdog timer on startup (by pressing the red button and powering it up). It is easiest to install J2 on the back of the board as it will be accessible by removing the cover and not the board from the chassis I used a red jumper so it can be easily located. Another option to removing the cover is to drill a 3/8" hole in the case directly above J2 and make a handle for your jumper from a piece of tape.

Note that the jumper doesn't change the hardware configuration but its state can be read by the CPU using GPIO8 ("0" jumper on, "1" jumper off). The original Linux kernel registers the serial console if the jumper is on.

Software
Make sure that the distro you are booting actually has a some means to offer you a login window through the serial connection. A standard way of doing this would be to make sure that /etc/inittab has some line, perhaps at the end, like this: T0:23:respawn:/sbin/getty -L ttyS0 57600

Also remember to switch output to the serial port with a bootargs statement such as : setenv bootargs console=ttyS0 root=/dev/hda1 rw instead of the netconsole= option.

Using the Serial Console
Of course you need a serial cable to connect to the serial port. Depending on how you wired the plug on the LS, you will need a null modem, too, or a null modem cable.


 * Windows:You may access the serial console using Windows HyperTerminal (included with Windows) or TeraTerm Pro terminal emulator.
 * classic Unix:If you have a classic Unix you should either have tip(1) or cu(1) (or both). They are suitable to set up a serial connection. Linux typically doesn't have these.
 * Linux:If you are on Linux, consider the trusted and tried miniterm terminal emulator. 'minicom' also works nicely.
 * Terminal:If you are the proud owner of a real oldschool terminal, this is your chance to make use of the old dust catcher :-)