The Serial Port for the LinkStation V2


The LinkStation V2 has only one UART which is connected to both the console and the microcontroller. The ouput of the UART is connected directly to the input of both the microcontroller and the console. The serial ouputs of the console and the microcontroller are ORed together to provide the input for the UART.

With the above arrangement, the UART cannot be used to talk to both the console and the microcontroller at the same time. A jumper (J2) is used to select between the two. The jumper has no other hardware function but to pull down one of General Purpose Input / Output (GPIO) pins of the CPU. The GPIO pin connected to the jumper is GPIO8. The Linux kernel reads the state of the jumper. If the jumper is on, it programs the UART with 57600,8,N,1 and registers the the console on the serial port. If the jumper is off, the kernel programs the UART with 9600,8,E,1 and does not register the serial console.

To use the serial console, install the jumper and disable the watchdog timer by pressing and holding the reset button while pressing the power button. As the communication parameters for the console are so remote from those for the microntroller, the latter will simply ignore everything it receives as noise on the line. For the same reason, the CPU will ignore all data sent by the microcontroller. The lack of communication between the CPU and the microcontroller makes it impossible for the CPU to reset or disable the watchdog timer or to read the state of the power and reset buttons. This is why the LinkStation V2 must be started with the watchdog timer disabled when the serial console is used.