TBBS 2.x - Receive Errors With High Speed Modems - The 16550 UART

Contact:   eSoft, Inc. (Makers of TBBS)
           15200 E. Girard Ave., Suite 3000
           Aurora, CO  80014
           (303) 699-6565      Voice
           (303) 699-6872      Fax
           (303) 699-8222      BBS
           support@esoft.com   E-Mail

RECEIVE ERRORS WITH HIGH SPEED MODEMS - THE 16550 UART
------------------------------------------------------

THE PROBLEM

When adding a new high speed modem (9600+ baud) to your system, you may notice 
that data throughput is adequate on transmit (from TBBS), but that numerous 
errors occur on receive (to TBBS).  This normally occurs only on machines with 
slow hard disks and/or slow CPU's, and will show itself most during file 
transfers.  This problem is particularly evident when TBBS is receiving a file 
via Ymodem-G protocol, as there is a constant flow of incoming data. 

The cause of the errors is that the computer cannot "keep up" with the high 
rate of incoming data.  While incoming data is written to disk, "interrupt
loss" may occur, and consequently, some incoming data is lost.  There is not a 
way to correct this with software; the problem occurs because high speed 
devices such as hard drive controllers actually halt the CPU for a longer 
period than is required for one character to be received at speeds greater 
than 9600 baud.  Normally only one incoming character is buffered in hardware, 
and thus, when such a halt occurs during a continuous flow of incoming data, 
one or more characters can be lost in the serial channel itself.  

If you are experiencing the problem described, you may benefit from replacing 
the UART (Universal Asynchronous Receiver/Transmitter, pronounced "yoo-art") 
chip associated with the COM port to which high speed modem is connected.  If 
you're using a DigiBoard, there is a UART chip on board for each port that the 
card supports.  For regular COM ports, the UART can be found on the serial 
card you're using, or possibly on the system motherboard if your system has a 
built-in COM port.  NOTE:  The UART chips on a 16-Line PS/2 DigiBoard cannot 
be replaced. 

THE SOLUTION

XT-class machines typically have an 8250 UART, while AT-class machines 
typically have a 16450 UART.  Neither the 8250 nor the 16450 buffer more than 
one character.  The 16550 UART is a required hardware solution to this problem 
because it buffers more data. 

Some serial port cards or multi-function cards use special multi-purpose chips 
instead of standard UART chips.  These generally cannot be replaced easily 
with 16550-equivalent chips, and may require the purchase of serial hardware 
with traditional 8250 or 16450 UARTs that can then be replaced with a standard 
16550.  (eSoft is not aware of any serial cards that come with 16550 UARTs 
pre-installed.)

The 16550 UART functions identically to the 16450 UART by default.  For this 
reason, the software (TBBS in this case) must enable the on-chip buffering.  
TBBS Single Line is designed to handle this automatically, if MOD15 (a field 
modification available from the eSoft Support Board) has been applied.  

TBBS Multi-Line needs to be invoked with a special command line parameter - 
/F, like this: 

        MLTBBS /F

If you already have one or more command line options in use, simply add the /F 
to the end of the command line.  Note that you may mix 16550 lines with 16450 
lines when using the /F option.  TBBS will properly handle any mixture of UART 
types.

NOTE:  THIS COMMAND LINE SWITCH IS NOT NEEDED WITH TBBS 2.2, WHICH SENSES 
16550 UART SUPPORT AUTOMATICALLY.

IMPORTANT NOTE ON CHIP TYPES

In searching for 16550 replacement UARTs, you will need to make certain that 
you are obtaining a National Semiconductor brand chip, number NS16550A.  You 
may encounter Western Digital brand CMOS chips, the WD16C550.  THE WESTERN 
DIGITAL CHIPS WILL NOT WORK WITH TBBS due to structural differences between it 
and the original National Semiconductor part.  Use only the genuine National 
Semiconductor brand part.

(We have determined since this tech note was originally written that other 
brands, such as Texas Instruments and VLSI, also work fine with TBBS.

WHERE TO OBTAIN 16550 UART CHIPS

Many electronic parts outlets and distributors can supply these chips to you.  
If you are unable to locate them, eSoft has a small stock of NS16550A chips on 
hand at all times.  Please call us at (303)699-6565 during business hours for 
ordering information and pricing.

REPLACING UART CHIPS ON THE DIGIBOARD

An 8-port (PC/8) DigiBoard card has 8 UART chips on board.  When looking at 
the board with the backplane at your right and the bus card-edge connector 
(the gold colored "teeth") on the bottom right, you will see two horizontal 
rows of large, rectangular chips in the middle of the card.  These socketed 
chips are the UARTs.

The top row of chips are for the odd numbered ports, from left to right, ports 
1 through 7.  The bottom row of chips are for the even numbered ports, from 
left to right, ports 2 through 8.  Replace only those chips for ports to which 
a high speed modem is connected.  It is unnecessary to replace UARTs for ports 
with low-speed (2400 or slower) modems.  

Carefully pry the chip out of its socket using a chip removal tool or a small 
screwdriver.  Make certain that the notch in the end of the replacement chip 
is at the same end as the one you removed.  You may need to slightly bend the 
legs of the replacement chip in order for it to fit in the socket.  Carefully 
insert the replacement into the socket, being careful not to bend any of the 
chip's legs.  Repeat for other ports as needed.  The card is now ready to be 
reinstalled. 

DigiBoard 4-port (PC/4) cards are indentical to the 8-port cards, except that 
the last 4 UART chips are not installed at the factory.

- END -
TBBS0025
Rev. 1/91

Revised 10/93
Copyright (C) 1994 eSoft, Inc., All Rights Reserved.  Permission granted
to distribute this file in its entirety, without modification, to any
interested party.  Any other use requires the written permission of
eSoft, Inc.

IMPORTANT:  The information herein is subject to change without notice.
Please call or write to confirm factual information of importance to you
or your organization.

