16550 UART FIFO Support under Windows NT

Last reviewed: May 5, 1997
Article ID: Q103108
The information in this article applies to:
  • Microsoft Windows NT operating system version 3.1
  • Microsoft Windows NT Advanced Server version 3.1

WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows NT to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.

SUMMARY

On COM ports that have a 16550 UART chip, Windows NT will automatically enable FIFO support. To verify this, run Event Viewer and look at the system log. Upon startup, each COM port that has a 16550 UART should generate an event whose source is listed as "Serial." If the FIFO for that port has been enabled, the description of the event will read:

   While validating that COM1 was really a serial port, a FIFO was
   detected. The FIFO will be used.

MORE INFORMATION

While enabling FIFO does grant a speed advantage when communicating over the serial port, there are several known hardware issues with the 16550 UART that show up when FIFO is enabled:

  • The 16550AF has a documented transmit problem that can result in the random loss of a byte. The transmit FIFO occasionally fails to transmit if there is a single character still in the shift register and one is put in the holding register. The character does not transmit, you are not informed, and no interrupts are generated. This and other problems are fully documented in National Semiconductor errata (8/9/90). The transmit problem may or may not be fixed in the 16550AFN revision.
  • It is not possible to determine, through software, which revision of the chip is installed, so drivers cannot adapt to the problems of the different chips.
  • Enabling FIFO by default will guarantee occasional data loss for any configurations that use 16550AF chips or earlier revisions and possibly later revisions also.

NOTE: 16550 UART chips on Intel motherboards with SMC665 chip sets (used by Gateway 2000, Dell Computers and others) have a known problem involving data loss with the use of FIFO.

If you are experiencing data loss with FIFO enabled, there is a utility included on the Windows NT CD-ROM to turn FIFO on and off. The utility is in the SUPPORT\SUPTOOLS\I386 directory and consists of the following three files:

   FIFO.CMD       - A batch file to turn FIFO on and off
   FIFO_ON.INI    - A data file used to turn FIFO on in registry
   FIFO_OFF.INI   - A data file used to turn FIFO off in registry

To use the utility, either change to the correct directory on the Windows NT CD-ROM drive or copy those three files to another drive and change to the directory they are now in and issue one of the following commands:

   FIFO OFF       - To turn FIFO support OFF
   FIFO ON        - To turn FIFO support ON

If you cannot access these three files or no longer have them, FIFO support can still be changed in the registry through the following steps:

  1. Run Registry Editor (REGEDT32.EXE).

  2. Select the key:

          \HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Serial
    

  3. One of the values in that key will be ForceFifoEnable. By default, this value will be set to 1, which enables it. To disable it, select the value, press ENTER and change the value to 0. To enable it, change the value back to 1.

  4. Choose the OK button.

  5. Exit Registry Editor, shut down and restart the system.


Additional query words: prodnt
Keywords : kbenv ntconfig nthowto
Version : 3.1
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: May 5, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.