How to add serial interface to WRT54GL router

If you decided to mod your wrt54gl router and turn it into one of the most capable routers for soho network, probably the first mod you should start with is adding serial interface to it. Why? Because when you do the other mods (like adding SD reader, turning into robot, adding leds etc) you definitely send the router into the brick state. And the best way to unbrick it is to look at the router’s console output. The entire operation is very easy and should not take longer then 1 hour. Here is how to do this:

  1. Open the router. This video shows how.
  2. Locate the 10-pin connector on the board. It provides two serial interfaces and we will need one of them (serial console). You can similarly use the other one to control other devices via serial interface, but this is a separate topic.
  3. Get an RS232 adapter. For instance this one.
  4. If your computer doesn’t have com port, and has USB then get an adapter. For instance this one. If your computer doesn’t have USB ports, get another computer. Any computer with either USB or serial interface would work.
  5. Connect pins from the router board to pins on the RS232 adapter as following: 4->”TX”, 6->”RX”, 10->”-“, 2->”+”. Use either soldering iron or standard F/F connectors like this ones.
  6. Connect the RS232 adapter to the computer (via USB-Serial adapter if necessary), connect the RS232 adapter to the router board, turn everything on and check that the leds on the RS232 adapter lit appropriately (refer to the adapter manual to find out what’s appropriate)
  7. Turn everything off, start your favorite terminal program (for windows users that’s possibly hyperterm), configure it as 115200 8N1 (115200 bps speed, 8 data bits, no parity, 1 stop bit) and power the router on again.

Now you should be able to see what’s happening in the router’s brain. Based on your linux experience you can diagnose what’s going wrong and try to fix it using full access to the router you just got.

In addition to 10-pin serial connector the router also provides 12-pin JTAG connector you can use to bring the router to live in situations when serial port is dead. But this is completely different story and I hope you will never need JTAG (for this purpose).

Now you have serial interface added to your router. If you want to give it even more capabilities take a look at the most hacked router in the world ever :)

11 thoughts on “How to add serial interface to WRT54GL router

  1. Ryan,

    The link you sent is a USB-to-Serial adapter. It is good for connecting the router to a PC for instance. However neither WRT54GL nor SSC-32 have USB interface, so you need to deal with their Serial TTL interfaces which operate on incompatible voltage. Voltage divider is a simple schema that fixes this problem.

    Andrey

  2. Hi Andrey! do you think it is possible to attach an usb adapter to the linsys wrt54gl, and use it for pendrives, or external harddrives?
    I would like to install dd-wrt and have some extra storage space. I found many links how to attach an sd card reader, but the read-write speeds are not so good, as it could be with an usb adapter.

    I appreciate any help!

    Thank You!

    1. Aron,
      I spent some time trying to add a USB port but with no luck. The only possibility to attaceh a usb web camera I found is using an IP server. Some newer routers have USB ports available though. You can use one of those.
      Adding storage is not a problem, but, as you pointed out, it is quite slow because uses really slow SPI protocol. WRT54GL is very cheap but it is not very capable too.
      Andrey

  3. Hi Andrey, got the serial interface in…

    Cant seem to get it to read data… I have re-flashed to dd-wrt v 24 I’m using hyperterm and have the port settings to 115,200 8 N 1 Is there a specific flow conrol setting I need? Any ther ideas?

    Thanks for your time,
    Carlton

    1. Carlton,

      – The flow control should be turned off (both hardware and software).
      – If you’re not getting the signal try swapping Tx and Rx lines.
      – Make sure you’re connecting to right port (/dev/tts/0 on router side and your serial port on PC side).
      – Make sure your RS232-TTL converter (the one that sits between the router and your com port) is working properly.

      Let me know if problems.

      Andrey

  4. Hi Andrey – Thanks again for the info. Flow control is off (both) Tried swapping TX and RX lines… still no deal. When you say, “Make sure you’re connecting to right port (/dev/tts/0 on router side and your serial port on PC side)” what do you mean by “/dev/tts/0” ? Meantime, I’ll go back and check for cold solder joints / incorrect pin alignment etc. on my ttl converter.

    Thanks again

    Carlton

  5. Hi Andrey! Made it work. Turns out the com port on my laptop’s docking station doesnt work…. installed xp on an old ibm 800 mhz machine with 2 serial ports on it…. as soon as i connected and rebooted the router there it was!
    Took till 4:00am but hey… :) still want data output from it?

    thanks again
    Carlton

Leave a Reply