Attaching a serial console to a Sitecom N300 X2 router

Oliver Frommel

Recently I dug out my old and cheapo Sitecom N300 X2 (WLR-2100) router because I wanted to use it to attach my lab server to it via ethernet and set up a route to my other router which is responsible for the internet connection. That is a Telekom Speedport router which is capable of using the “splitter-less” ADSL2+ non-standard Annex J, but I digress. Yes, I am really naive. Of course this doesn’t work because you can’t setup routes on either of these devices. In theory you could try to setup WDS (Wireless Distribution System), but this isn’t a standard either.

Still I wanted to see if I can install OpenWRT on the Sitecom to at least make some use of it instead of just taking it to the waste dump. So first thing is to open the device up and try to find the “serial” UART. When you are lucky the manufacturer has printed the actual pinout on the board. In my case there was no labeling of any kind, so the only indication I had for the location of the UART interface was finding four soldering holes in a row. I had to remove the solder of three holes and cautiously drill another hole, because for some unknown reason one hole was filled with something else / not drilled at all. Then I soldered a pin header to those four holes.

To connect a device with an UART with a computer, the easiest way is to use some kind of UART/Serial/USB connector such as the FTDI friend. After you have installed the requisite driver (on Windows or OS X - Linux usually ships them) and you plug in the FTDI friend, you will see a new device node such as /dev/cu.usbserial-A5027XOG on the Mac. When you are a lucky Linux user, there’s an abundance of terminal programs (why is every other thing on Unix called a terminal?) like Minicom or Kermit. Another option, also available on OS X, is the terminal multiplexer screen:

screen /dev/cu.usbserial-A5027XOG 115200

(the last number is the “baud” rate). To exit screen, use Ctrl-A (the standard screen command prologue”) followed by “k” (kill). You can also enable logging by starting screen with the -L command line switch.

Now to figure out the pinout. People say that the VCC pin usually has a thicker connection, so when I found one pin with one I just figured it would be VCC. You can easily measure out ground with a multimeter by connecting the pins to some shield on the board and see if it’s connected. I guess the reason for not drilling the fourth pin is that the manufacturer is getting a ground connection from somewhere else on the board. Then there are two pins left: TX and RX. As far as I know there’s not much that can happen when you mix them up, so I just tried it out and got it right on the secondy try. Don’t connect the VCC pins but only ground, TX and RX! When you are lucky, you now have a serial connection to the device and a shell or something like that. Don’t blame me if you fry your board or UART adapter.

So, this is what the boot sequence on the Sitecom N300 looks like. It’s using the U-Boot bootloader and MIPS Linux. I wonder what the hell they are doing in their OS when they are running killall on various processes repeatedly (because what you see at the end of the logfile just goes on and on). In case you are wondering, the “Amazon” you can see on the logs has nothing to do with the book seller of the same name but is the product name of a series of SoCs (“AMAZON SE”) developed by Infineon (PSB 5060x). This cheapo router has a PSB 50600 manufactured by Lantiq.