Adding a serial port to DIR-615 D3

by Mik on January 3rd, 2011

I originally bought a WRT54GL but found this D-Link router to be cheaper and more powerfull – however without the knowledge if there would be a serial port to talk to my microprocessors. I quickly installed DD-WRT without any troubles and then opened the case with the two screws under the small plastic protectors at the bottom. I couldn’t find any visible serial port at first, but just before I gave up, I found a small rectangle marked JP1. After measuring, I could quickly find VCC and GND. RX and TX was a bit more tweaky. I removed the ATmega chip from my Arduino and connected it reverse to the different pins during the routers boot (so Arduino TX -> Router TX for use as a usb2serial converter, see the Arduino schematics for details). So I found that the port was called /dev/tts/1 and the TX pin was the one most to the back. RX was obviously the last, but to be sure I programmed my ATmega chip to send a “Hello World\n” every second, connected the Arduino correct (TX -> RX) and got response via SSH to the router using:

cat < /dev/tts/1

Sending commands could be done with:

echo “Hello World!” > /dev/tts/1

The serial port runs at 57600 baud, 8 bits. Voltage levels are +3.3V TTL logic, which means TX transmit at 3.3V and VCC is 3.3V. RX has a pull-up resistor. To help any hackers with DIR-615 D3′s out there, I have updated the DD-WRT wiki.

One Comment
  1. TimX permalink

    Hi Mik,

    I am hobbies in Arduino. Seeing what you have done, I have a thought but Don’t know if it is possible to do. I would like to send data (or IP packet) which generated from Arduino to DIR-615 router, then from the router broadcast the packet via wireless.

    Your advice is important to me, thank you.

    Cheers,
    Tim

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS