Reverse Engineering Serial Ports

connectors

Can you spot the serial port in the pic above? You can probably see the potential pads, but how do you figure out which ones to connect to? [Craig] over at devttys0 put together an excellent tutorial on how to find serial ports. Using some extreme close-ups, [Craig] guides us through his thought process as he examines a board. He discusses some of the basics every hobbyist should know, such as how to make an educated guess about which ports are ground and VCC. He also explains the process to guessing the transmit/receive pins, although that is less straightforward.

Once you’ve identified the pins, you need to actually communicate with the device. Although there’s no easy way to guess the data, parity, and stop bits except for using the standard 8N1 and hoping for the best, [Craig] simplifies the process a bit with some software that helps to quickly identify the baud rate. Hopefully you’ll share [Craig's] good fortune if you reach this point, greeted by boot messages that allow you further access.

Comments

  1. srfdghtygfd says:

    Ahhhh, Westell FIOS modems…complete POS’s and by-and-large incompatible with a lot of Apple devices. Because apparently properly implementing 802.11 is “hard.”

  2. pcf11 says:

    Ground ought to be easy to figure out without having to guess. If ground is not connected to other grounds then it isn’t really ground, now is it? So a simple continuity test to a known ground point in the circuit should distinguish ground quickly. VCC is only slightly more difficult to figure out.

  3. Greenaum says:

    I can’t recall where I saw it, but I once read of someone using a piezo earphone as a way of detecting a serial signal. It’s high enough impedance not to load a circuit, and serial data, depending on what it is, will often have something in the audible range.

    Just in case that’s useful…

  4. Colin says:

    this is a rehash from a HAD article earlier this year, whats the deal?

  5. v00 says:

    There is a slight blunder in the introductory paragraph, wherein he implies that RS-232 ports are not UARTs. An RS-232 port is driven by a UART, but a UART need not be driving an RS-232 port.

    • TM says:

      Yeah, also baud rate is not the same as bit rate — bit rate is a better term to describe the speed of UARTS.

    • Amn says:

      He implies that RS-232 and UART are not voltage compatible and he is right. RS-232 defines logical one to be in the range of +3..15V and logical zero to be in the range of -15..-3V. And UART +3V3/0V or +5V/0V however protocol compatible is not compatible with RS-232 at the voltage level. That’s why sometimes you have to use MAX232 or similar chip.

  6. Jan LukeŇ° says:

    Just buy the Lcsoft CY7C68013A Mini Board, add protection circuit, hook it up to Sigrok and you will see the bits and their timing in no time :)

  7. Useful, as a lot of routers which are electrically fine get trashed needlessly due to failed firmware.
    I’ve started saving all the broken ones and reviving them, a lot of the time if it only has to work until they get to ye olde PC shoppe on Monday morning this is fine.
    N*t***r DG834GVx are great as the lightning fried ADSL 8 pin buffer chip can be replaced by a trained solder monkey and still connect to ADSL2+ afterwards.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 92,339 other followers