The Relic  RS232(c to f) serial port.           
Why is it dead is the topic, or flaky. Aka: COM ports


The so called  serial ports are really TIA: RS232 ports using the relic 16550  UART chip, or way newer versions)
For those new to this data device, it is just a converter from Parallel to Serial data transmission.
Not to be confused with:
Not USB serial, not SATA serial ports ,
If curious most  earlier 1980 real computers used RS232, for Terminal keyboard display monitors  and even printers and modems.
Most  consumers have no idea what this does or its purpose. (that is AOK !)
But tech's use it in server farms with Ethernet switches or Fire panels,(fire suppression /alarms) and PLC's and lots more.
Modems, cellular phone systems, PDA, ISDN terminal adapter, satellite receiver, graphic tablet, bar code scanner, label printer, automated teller machine, GPS, finger print identification, Infra-Red transceiver, HAM packet radio, magnetic card reader, point of sale devices, ,old digital camera, automation interface, and card readers, and some old OBD1 car ECU's(fuel injection) and teletypewriters (ASR33 up) and endless more devices .

RS232F (TIA/EIA) spec, for decades years was used for  for modem  or dumb terminals , ( 1960 so near the 2000 Millennium mark).
The real port has a set of  working hand shake lines,  not just a 3 wire cable that only some devices use (TX/RX/Gnd)
The 9pin  D-shell,  also has TX,RX, DCD, DTR,DSR,RTS,CTS,RI and almighty ground.  (THE  IBM XT HAD THE 25PIN STANDARD 232 with  16550 chips)
The 9pin version was seen first on IBM-PC/AT for 232 communications.
Later  the TIA added it via  an Ad hoc (Version F) changed to the standard (post IBM creation),  and many more connectors used as seen here.
See this at USconvevers.

On the  modern PC ,this port is missing today and  from  (2008+ is good starting point of the end, but varies by every maker  of PC)
Many so called work Station  PC, that can support Enterprise level,  Ehternet switches, have this port seen on HP XW Series PC workstations.

Many new PC's today we use USB/232 dongles, but many do not meet  the spec. (for levels or worse)

The real RS232 has +12 and -12v TX chip RAILS and (9v to near 11v out).  and most modern PCs have no -12vdc supplies, so cheat and use -5v or +5v (range limited !)
It is not big deal at all with PC next to some device 3foot away.
This range on the real RS232 is 100feet, best case,  and will never do that with the above bastardized signals 5V
They do sell special Ultra-low capacitance cable  that I have used for long distances. (say a far away very very loud printer, ever heard a chain or hammer printer?)

Other dongles or even PCs will not do the full set of modem handshake lines, and correct levels, so many equipment will fail.
Some can not do software flow control called Xon and Xoff.

I will now show only good USB based DONGLE's. (sorry I can't review all 100 makers of China Dongles.)
Some USB/RS232 do have a GREAT Maxim™ chip that has  a 10v charge pump and gets near, about
9v out (+3/-3v is threshold RX)  a 6 volt excess margin!
This chip is very good if fitted to the Dongle (inside, just look for it)
One Pitfall with adding COM ports:
Some old PCs have COM1,2,3,4, already assigned,  or  missing or vestigial >  COM1 -4 ports left over in the BIOS, and can not be turned off (yes painful)
Good software on any dongle knows this and picks port COM5 up. (or will fail) You must not have 2 Comports sharing the same  port address.
Some BIOS even show it present on the Mobo but in fact is missing on this version of mobo,  (best use COM4)

Some versions of windows (XP?) only allows 1 COM port to work at a time, so be sure all non used COM ports are disabled by any means.
or the new port is born dead.


Example #1:
Dell E5500 (2008 model LAPTOP) E5400 does not have this port.
One common  last personal PCs made with COM1 port,  is the Dell E5500 ,that uses a ECE-5028 chip to emulate the very old 16550 UART from the 1980s. 
The ECE, IS Made by the famous MICROCHIP as seen below;
https://www.microchip.com/wwwproducts/en/ECE5028

The E5500 by dell does not spec, out the port, for say cable distance, or signaling levels.
One trick if you must use long cables, over say 20ft. is to slow down the BAUD/ bit rate of the remote device. (both ends)
The bit rate and baud are no the same thing,  (due to things like 1 start bits and 2 stop bit added  to the bit stream ... bytes per second is  tad lower.


The RS232 port on all PC made,some have TX on Pin 2 and others use pin3. (DTE/DCE mode)  (forcing users to use crossover cables)
So to make sure works, you will have to swap pins, (1 to cable or crosser 2, to 3)
A good chip (16550) will have  error codes accessible, called framing error status, (the XT/AT did back long ago)
This error tells you,you are using the wrong BAUD rate, as does scrambled, characters. (or wrong start bits or parity)
We can jumper pin 2 to 3 and use hyperterm(ms) or better Putty to talk out the com1, port and see it echo back. Jumper'd  2 pins called a loop back plug.
TX talks to our RX pin, causing a perfect electrical ECHO, (not to be confused with software echo,ok?)
The IBM XP even came with a gray loopback plug with the RS323 option. ( and , a  matching utility on floppy)

Try PUTTY (dumb terminal emulator)
Buying the best dongle made will have this.
A full +-12v TX transmitter,(Maxim is best with its super 10v charge pump.
Plus a full modem hand shaking pins, not 2 wires (TX,RX,ground) only.

Handshaking what is that?,well it's a way for  one PC to as the other are you ready to receive.? If not you wlll in fact overrun the others buffers (FIFO).

One more pitfall, is some newer remote equipment run at very fast baud rates your dongle can't do. like 115k or the like.
Far beyond common 9600, 19k or 65k.bit rates and some chips  can't  the newer and faster BAUD speeds.

Other  errors are:
stop bits, not correct., parity set wrong.
Cables wired wrong.
and last of all who's web page nails this topic, best, is below, see cable lengths here,  and is using REAL RS-232
 

See this Rs232 spec.  (not offical)
The old chip and new has no power line buffer drives, so we use a special  chip for that called, EIA line drivers .
The old computers used, these line drives,  called (Motorola then) Mc1488 and Mc1489 (TX and RX)
See page 6, figure 2 above link, for Vo output at 12vdc Vcc.  it pushes over 9v, out,the the cables.(seen below  by ti.com)
No better chip exists,  (but the maxim show below does the same !) I have run 100ft cables off this 1488 chip.(for decades)

When RS232 fails we hang a scope on the TX pin to sure it's swinging at the right voltage and baud rate.
We then use a scope on the RX pin to see if the remote device even responds at all, and correctly.

Here are some nice drawing for seeing how real chips work inside.
 
The famous Legacy UART. It is a shift register.   (2 really 1 for TX and one for RX) Parallel data in and serial data out.
This is the 1981 UART 16550  (OR 8251) USED FOR RS232, THE Output pins below (unseen) connect to the EIA drivers chips called MC1488.
never does this wire directly to any RS232 jack, ever.
Back long ago we even made RS232 line buffers to extend the range possible. (RS485 is far better this way)
Today most folks use the USB chip dongle that emulates all this legacy 232 all in one package.
Some work others do not.
Things good  to have are:
Windows 10 a must.
Get the FTDI main chip is best.
and with  Preferred serial driver chip: Maxim, Exar, NI (must have powerful charge pumps)!  read this first.

One of the best  line drivers made :
The Max213 driver is very good,note the fantastic  +-10v charge pump to drive real IEA levels to the DB9 jack TX.
Do I need to say if your other PC fails to send strong 9v signals  back to you, this can fail.?  some send only a pathetic  4v signal back and fails at your end. for 3v min.signal inputs.

So buy one from China for $5 and cry or  a good  one.  (life is too short for China cloned junk , no?)  (good design and not junk quality)
or from here, and it works, (pure opinion)

The TIA/IEA did spec'd out the connector as 25pin male for sure in 232C then later, but  long after IBM invented 9pins TIA RS323F version added this new connector.
(simply they adopted it into the NEW spec. ad hoc style.)
I'd link documents from the real TIA spec, but they want big cash payment even from a  1960s document. (wow, that is greedy, no?)
This is very good from TI. (USA Texas)
Texas instruments TI.com did this best.

Hit list for dead RS232
  • Pins 2 and 3 reversed. (hard failed dead , TX wired to TX end to end is hopeless) but harmless, the chips pins can be shorted to ground or any other pin with no damage.
  • Wrong BAUD /BIT RATE SET, it must match target device.
  • Wrong Stop bit count, or parity on or off set wrong.
  • Cable too long, over 50ft is at risk. (slow down the BAUD rate on both ends and go farther)
  • Wrong W10 software driver loaded.
  • Windows has too many COM ports open,  only 1 at time is allowed,  on older version of Windows. XP? (or setting 2  port to the same COM port number)
  • If using USBdongle,  the USB port is dead or no driver present, find  a  good USBv2 port that works avoid dead USBv3 ports.(if dead with  mouse testing it)
  • Some PC the 232 port is disabled in BIOS, so turn it on. (if 2 ports are colliding turn one off)
  • Test the port with pins 2 and 3 jumper'd. called loop back testing. (using a terminal simulator program like PUTTY)
  • If you own a desktop you can in fact add a  RS232,  PCI-express card. Top Syba brand has 5v and 12v jumper to set drive levels on TX channels.(outputs) NICE CARD.
  • Break out that scope and look at the signals.  (best way of all is this) as seen below.
Some cheap PCs use the wrong clock into to the 16550 and is way off spec, and causes huge errors, when using very fast BAUD rates. and framing errors on the other end.
Yes, I've worked on all the horrors of RS232, with  scope, I have  the POWER to see actual DATA.
USB  cured most of the pain (not distances) but for distances to say a printer we use 100meter spec,  Wifi. (or Ethernet)

8-bit UART RS232 SIGNALS,
EXAMPLES , first letters = and  letter "n" 68hex.   (as you can see 9bit UART can see binary data and files easy ,unlike older 7bit)


Example using a scope, 9v levels are best for long distances, The rise times are a function of cable capactance. Start bit sent first the LSB least significant digit first.
Code sent is 0100-1011  (msb > lsb)  4Bhex or "K" upper case K.





version 1.  12-9-2018, rough draft, v1