home *** CD-ROM | disk | FTP | other *** search
- DOCUMENT:Q103108 24-SEP-1993 [W_NT]
- TITLE :16550 UART FIFO Support in Windows NT
- PRODUCT :Windows NT
- PROD/VER:3.10
- OPER/SYS:WINDOWS
- KEYWORDS:
-
- ------------------------------------------------------------------
- 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 16650AF 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.
-
- 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 reference words: 3.10
- KBCategory:
- KBSubCategory: winnt howto pertune
-
- =============================================================================
-
- 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.
-
- Copyright Microsoft Corporation 1993.