Hi, all. I have a router (ASUS RT-N12) that has been locking up semi-regularly. In the hopes of getting a hint from the kernel, I soldered a header onto the serial console port and ran it out to my breadboard. From there, I tried connecting it directly to the Arduino’s UART pins (hoping to use the Arduino as a simple TTL UART to USB bridge), but got nothing, even when I uploaded a barebones sketch that called Serial.begin(115200) (the correct rate for the router).
Since then, I’ve connected it through the SC16IS750 breakout board, which works great for shorter messages, but starts to garble at around 90 bytes in a single continuous transmission. The router’s port doesn’t appear to support any form of flow control, so I’m hoping to find a way to bypass the SC16IS750 and get a direct connection to the UART working. The router outputs at 3.3V, which I suspect might be the issue, but everything I’ve read says the Arduino should handle that fine.
Could the issue be the test sketch I used? Do I need to do anything more than call Serial.begin with the right baud rate and connect RX/TX/GND? Any help would be appreciated. Thanks!
I don’t think your method will work - you are not supposed to have more than two serial ports connected together, and in your case you have [1] router [2] AtMega chip [3] FTDI chip
Try taking out the AtMega chip. This allows the router’s serial port to connect to the FTDI serial port without the atmega getting in the way.
The other alternative is to load one of the software serial port sketches that echo what is received on the software serial port on the hardware serial port. then connect the router to the pins defined in the software serial sketch.
Zebranky:
Hi, all. I have a router (ASUS RT-N12) that has been locking up semi-regularly. In the hopes of getting a hint from the kernel, I soldered a header onto the serial console port and ran it out to my breadboard. From there, I tried connecting it directly to the Arduino’s UART pins (hoping to use the Arduino as a simple TTL UART to USB bridge), but got nothing, even when I uploaded a barebones sketch that called Serial.begin(115200) (the correct rate for the router).
Since then, I’ve connected it through the SC16IS750 breakout board, which works great for shorter messages, but starts to garble at around 90 bytes in a single continuous transmission. The router’s port doesn’t appear to support any form of flow control, so I’m hoping to find a way to bypass the SC16IS750 and get a direct connection to the UART working. The router outputs at 3.3V, which I suspect might be the issue, but everything I’ve read says the Arduino should handle that fine.
Could the issue be the test sketch I used? Do I need to do anything more than call Serial.begin with the right baud rate and connect RX/TX/GND? Any help would be appreciated. Thanks!
115K baud requires a crystal freq. in the AVR that’s an integral multiple. And more so, it requires a well written program for buffering.
The best way to interface your Router’s serial port is to get a logic level to RS232 converter board - they’re inexpensive and many exist. Maybe $10. Connect that board’s DB9 to your PC’s serial port or USB to serial adapter. You may need a simple null modem that crosses TXD and RXD.
Another thing to try: many routers have a telnet server running on the ethernet port. Try using the PC’s telnet client. Also inquire of the fellows on
http://forums.smallnetbuilder.com/index.php about the ASUS
trialex:
Try taking out the AtMega chip. This allows the router’s serial port to connect to the FTDI serial port without the atmega getting in the way.
That does the trick. Thanks!
No worries, I’ll assume the cheque is in the mail 