Date:        Sat, 23 Jan 1999 14:33:05 -0800 (PST)
   From: Bill Brooks <[EMAIL PROTECTED]>

   I'd like to know if the 16650 UART is supported with the 2.2.x kernels. I
   recently bought a 16-bit high speed (up to 480Kbps) serial card for my
   ISDN terminal adaptor and I'd like to use it with Linux. This is not a
   16550. 

Yes, the 16650 is supported by the 2.2.x kernels.  However, if it's an
old 16650 UART, it will be detected as a "16650", and the FIFO will be
disabled, since Startech released a bunch of buggy UARTS where the FIFO
handling with interrupts was not done correctly.  If it's a newer 16650,
it will be detected as a "16650V2".

When National Semiconductor, who also made a mistake when they first
released a UART with a broken FIFO (i.e., the 16550), they were
responsible, and issued a fixed FIFO which they renamed the 16550A.
Furthermore, their spec sheets document how to detect the difference
between a 16550 and 16550A.

Alas, Startech has to my knowledge, never admitted that they screwed up,
and while it is possible to programmatically detect the difference
between 16650 and a "fixed" 16650 (which Linux calls a 16650V2), they
never documented how this was done.  Fortunately I had saved an old
16650 specification sheet and was able to derive how to make this
determination; but their new 16650 specification sheets don't even admit
that they made a mistake in the past.  This is not what I would call
responsible corporate behaviour, so I tend not to recommend 16650 UART's
to folks --- not because they are bad chips, but because in my opinion
the chip manufacturer has acted in a less-than-ethical fashion.  Whether
this should influence your buying decision is a decision which I will
leave up to you.  

Also unfortunately, because StarTech never owned up to their mistake, I
know of no way to determine whether a particular 16650 is a broken, old
16650 or a new, unbroken 16650 merely by physical examination of the
chip.  It's likely that if the board is new, that it has a new 16650,
but of course I can't make any guarantees.  The only way to tell the
difference is to boot a Linux 2.2 kernel with the board inserted, since
the serial driver will detect it either as a 16650 (BAD) or a 16650V2
(OK).

Note that there are other enhanced UART's which are just as good, if not
better --- the Texas Instruments 16750, and the Oxford Semiconductor
16950 come immediately to mind.  Linux supports the 16750, and while
full support for the 16950 isn't quite available yet, Linux will take
advantage of the 128-byte receive FIFO in the 16950.

                                                - Ted


-
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to [EMAIL PROTECTED]

Reply via email to