Add a Serial port to the LS-WSXL (LS Mini v2)

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search


Hardware

LS WSXL-serial.jpg

The serial port is CN6, near the LEDs on the front of the device. Levels are 3.3 V.

Traces for RX and TX are interrupted under IC7, but they can be bridged on the other side of the PCB (see http://forum.buffalo.nas-central.org/viewtopic.php?t=23905 ).

The layout under IC7 suggests that two more pads could be bridged, but it looks like this would connect 5 V from the power jack to a 3.3 V signal or power line (probably not a good idea).

Linux

With linux-2.6.22.18-88f6281 the only boot message is from the kernel decompressor:

--- CONFIG_BUFFALO_PLATFORM ---
Uncompressing Linux..[...].. done, booting the kernel.

Afterward the kernel says "Warning: unable to open an initial console" and /dev/ttyS0 does not work.

Linux-3.3.4-88f6281 from firmware 1.71 has serial console support.

u-boot

u-boot does not offer a serial console, even after "nvram -c set stdout serial".

TBD: Check other firmware versions.

Kirkwood bootstrap ROM

Marvell Kirkwood processors have ROM code that checks for magic sequences on the serial port before booting. See FS_88F6180_9x_6281_OpenSource.pdf, sections 24.2.5.3 "UART0 Sensing" and "24.2.6.1 "Boot from UART0".

How to test

  • Repeatedly send the magic sequence:
stty -F /dev/ttyUSB0 115200
(while true; do echo -ne '\xdd\x11\x22\x33\x44\x55\x66\x77'; sleep 0.001; done) > /dev/ttyUSB0
  • Apply power. The blue LEDs will not flash as usual; this confirms that the boot process has been interrupted.
  • Stop sending the magic sequence.
  • The board will then respond with "Bootstrap 1.21>".

TBD: Find documentation for the command-line.

Booting over serial

It is possible to upload and boot a .kwb image (e.g. u-boot.kwb) with kwboot. See UART Booting HowTo for Selected Kirkwood Devices.

A flash image (e.g. the stock content of /dev/mtdblock0) can also be uploaded and booted with kwboot -p.

This boot ROM won't respond to the handshake until the peer stops transmitting the magic sequence, so it may be necessary to increase KWBOOT_MSG_RSP_TIMEO from 50 ms to about 100 ms in u-boot/tools/kwboot.c.