2012-11-21

Some notes about the serial ports & USB-to-serial bridge controllers / converters / cables

Sometimes you may need to get a serial / console cable to connect your embedded device (a router / mobile phone / etc.) to your desktop / laptop computer to do some debugging / administration / maintenance operations (e. g. firmware upgrade).

Basically, there are 2 common versions of serial ports which have incompatible voltage logic levels: ones using TTL/CMOS [lower, 5V / 3.3V] levels and others with RS-232 [higher, up to 25V!] ones.
  • RS-232-level serial ports are commonly found on relatively older PCs; these ports are often marked as "COM" and usually have DB9M connectors; in some cases, serial ports have DB25F connectors and should not be confused with parallel ports ("LPT") which were commonly used for connection of printers.
  • The majority of modern embedded devices (such as routers, phones, GPS navigators, multimedia players and TVs) have an internal TTL/CMOS-level serial port.
Caution: please don't connect a TTL/CMOS-level device directly to the RS-232-level port, because you can burn your device!
There are some signal level shifters / converters though, such as the Maxim MAX232 chip.

USB-to-Serial/UART bridge chips operate mostly with TTL/CMOS-level signals; the most widely used series are:
  • Silicon Labs: CP21xx (CP2101, CP2102, CP2103, CP2104, CP2105, CP2108, CP2109, CP2110 etc.);
  • FTDI: FT232 (B, H, R etc.);
  • Prolific Technology: PL-2303 (EA, HX (HXA, HXD), RA, SA, T (TA, TB), X (XA) etc.).
In case you're just looking for device drivers:
  • MS Windows & Apple Mac OS X drivers can be usually found on manufacturer's website (see above);
  • in modern Linux distributions, the necessary drivers are built-in.
FTDI FT232 chips seem to be the best (and most expensive) ones;
meanwhile, Prolific PL-2303 are probably the most popular series of the USB-to-serial converter chips found in old cheap mobile phone USB data cables; therefore, you can easily modify such cable to get a cheap USB-to-serial (UART) adapter instead of buying a separate one.



Warning: poor quality PL-2303 Chinese chip clones can often be found in cheap "data cables".
  • Fake chips are marked like "AS8303", "MS3303" etc., or even fully imitate original markings.
  • Production date printed on the chip is often invalid (e. g., it's far in the future).
  • Their USB device IDs (VID & PID) can be identical to the original chips or different.
  • The chip drivers provided for MS Windows installations are represented by the original or slightly (new copyrights & device IDs only) modified original (often outdated to bypass the original vendor driver protection) PL-2303 drivers.
  • Data communication powered by such a fake chip cable is unstable, can often be interrupted and result in data loss and other problems.
Therefore, cables powered by such fake / clone chips are not very suitable for their "primary usage" in data cables; more to say, they are useless and even dangerous for critical operations like firmware upgrade (incomplete flashing can "brick" the connected device). It's better to discard / recycle / dispose of such garbage adapters.

Here are sample USB device IDs of 2 counterfeit chips (data provided by lsusb utility from the usbutils package in Debian GNU / Linux OS):
  1. marked as "MS3303HG", USB IDs don't resemble the original ones:
    ID 0e55:110b Speed Dragon Multimedia, Ltd MS3303H USB-to-Serial Bridge
  2. marked as "A1 AS8303DS", USB IDs are identical to the original ones:
    ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
---
Last updated: 2014-06-10