Linux-Hams archive - July 1997: KPC3+ problem and serial chip

KPC3+ problem and serial chip

Mike Bilow ()
Sat, 05 Jul 97 15:39:00 -0000


Barry McLarnon VE3JF wrote in a message to Mike Bilow:

BMV> AFAIK, the 16550A and 16550AF are functionally identical.
BMV> The original 16550 had a non-functioning FIFO. National
BMV> Semi added the 'A' after the bug was fixed.
BMV> I think they added the 'F' later just to emphasize that the
BMV> chip now had a functioning
BMV> FIFO... that's my theory, anyway.

There's an interesting summary of the situation, although in a Windows context,
at "http://dvt07.fagmed.uit.no/info/win.com.faq.html" and at
"http://www.dakota.net/pub/windows/pcserial.faq", written by mnu@apartes.fr.

The Hardware-HOWTO ("http://sunsite.unc.edu/LDP/HOWTO/Hardware-HOWTO-8.html")
has this to say about it:

See National Semiconductor's "Application Note AN-493" by Martin S.
Michael. Section 5.0 describes in detail the differences between the
NS16550 and NS16550A. Briefly, the NS16550 had bugs in the FIFO circuits,
but the NS16550A (and later) chips fixed those. However, there were very
few NS16550's produced by National, long ago, so these should be very rare.
And many of the "16550" parts in actual modern boards are from the many
manufacturers of compatible parts, which may not use the National "A"
suffix. Also, some multiport boards will use 16552 or 16554 or various
other multiport or multifunction chips from National or other suppliers
(generally in a dense package soldered to the board, not a 40 pin DIP).
Mostly, don't worry about it unless you encounter a very old 40 pin DIP
National "NS16550" (no A) chip loose or in an old board, in which case
treat it as a 16450 (no FIFO) rather than a 16550A.
- Zhahai Stewart <acyzzcf.cwzwnkpec@dhs.org>

I will add that the bit test recommended in AN-493 is guaranteed to work ONLY
with National Semiconductor parts, and that some third-party (UMC) chips will
fail the test even though they have good FIFOs. This is the reason why I put
the "F" switch option into the KA9Q NOS "attach" command, to "force" NOS to
enable FIFOs if the user knew the third-party chip was good but failed the
AN-493 test simply because it was not made by National Semiconductor. My "F"
switch was subsequently copied by a number of others, including Ray Gwinn who
put it into his OS/2 SIO drivers at my suggestion.

For what it's worth, I will note that, in two decades of extensive working with
serial ports, I have never actually personally encountered one of the bad
National Semiconductor chips. I have dutifully been implementing the AN-493
test over and over again, figuring that it is better to be safe than sorry, but
I really have to wonder if it would ever have made any difference if I had just
ignored the whole issue.

-- Mike, N1BEE