home *** CD-ROM | disk | FTP | other *** search
/ Borland Programmer's Resource / Borland_Programmers_Resource_CD_1995.iso / info / ntkb / ntkb.exe / Q103 / 1 / 08.TXT < prev    next >
Encoding:
Text File  |  1993-09-28  |  4.5 KB  |  113 lines

  1. DOCUMENT:Q103108  24-SEP-1993  [W_NT]
  2. TITLE   :16550 UART FIFO Support in Windows NT
  3. PRODUCT :Windows NT
  4. PROD/VER:3.10
  5. OPER/SYS:WINDOWS
  6. KEYWORDS:
  7.  
  8. ------------------------------------------------------------------
  9. The information in this article applies to:
  10.  
  11.  - Microsoft Windows NT operating system, version 3.1
  12.  - Microsoft Windows NT Advanced Server, version 3.1
  13. ------------------------------------------------------------------
  14.  
  15. WARNING: Using Registry Editor incorrectly can cause
  16.      serious, system-wide problems that may require you to
  17.      reinstall Windows NT to correct them. Microsoft cannot
  18.      guarantee that any problems resulting from the use of
  19.      Registry Editor can be solved. Use this tool at your own
  20.      risk.
  21.  
  22. SUMMARY
  23. =======
  24.  
  25. On COM ports that have a 16550 UART chip, Windows NT will
  26. automatically enable FIFO support. To verify this, run Event Viewer
  27. and look at the system log. Upon startup, each COM port that has a
  28. 16550 UART should generate an event whose source is listed as
  29. "Serial." If the FIFO for that port has been enabled, the description
  30. of the event will read:
  31.  
  32.    While validating that COM1 was really a serial port, a FIFO was
  33.    detected. The FIFO will be used.
  34.  
  35. MORE INFORMATION
  36. ================
  37.  
  38. While enabling FIFO does grant a speed advantage when communicating
  39. over the serial port, there are several known hardware issues with the
  40. 16550 UART that show up when FIFO is enabled:
  41.  
  42.  - The 16650AF has a documented transmit problem that can result in
  43.    the random loss of a byte. The transmit FIFO occasionally fails
  44.    to transmit if there is a single character still in the shift
  45.    register and one is put in the holding register. The character
  46.    does not transmit, you are not informed, and no interrupts are
  47.    generated. This and other problems are fully documented in National
  48.    Semiconductor errata (8/9/90). The transmit problem may or may not
  49.    be fixed in the 16550AFN revision.
  50.  
  51.  - It is not possible to determine, through software, which revision of
  52.    the chip is installed, so drivers cannot adapt to the problems of
  53.    the different chips.
  54.  
  55.  - Enabling FIFO by default will guarantee occasional data loss for
  56.    any configurations that use 16550AF chips or earlier revisions and
  57.    possibly later revisions also.
  58.  
  59. If you are experiencing data loss with FIFO enabled, there is a
  60. utility included on the Windows NT CD-ROM to turn FIFO on and off. The
  61. utility is in the SUPPORT\SUPTOOLS\I386 directory and consists of the
  62. following three files:
  63.  
  64.    FIFO.CMD       - A batch file to turn FIFO on and off
  65.    FIFO_ON.INI    - A data file used to turn FIFO on in registry
  66.    FIFO_OFF.INI   - A data file used to turn FIFO off in registry
  67.  
  68. To use the utility, either change to the correct directory on the
  69. Windows NT CD-ROM drive or copy those three files to another drive and
  70. change to the directory they are now in and issue one of the following
  71. commands:
  72.  
  73.    FIFO OFF       - To turn FIFO support OFF
  74.    FIFO ON        - To turn FIFO support ON
  75.  
  76. If you cannot access these three files or no longer have them, FIFO
  77. support can still be changed in the registry through the following
  78. steps:
  79.  
  80. 1. Run Registry Editor (REGEDT32.EXE).
  81.  
  82. 2. Select the key:
  83.  
  84.       \HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Serial
  85.  
  86. 3. One of the values in that key will be ForceFifoEnable. By default,
  87.    this value will be set to 1, which enables it. To disable it, select
  88.    the value, press ENTER and change the value to 0. To enable it, change
  89.    the value back to 1.
  90.  
  91. 4. Choose the OK button.
  92.  
  93. 5. Exit Registry Editor, shut down and restart the system.
  94.  
  95. Additional reference words: 3.10
  96. KBCategory:
  97. KBSubCategory: winnt howto pertune
  98.  
  99. =============================================================================
  100.  
  101. THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS
  102. PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.  MICROSOFT DISCLAIMS
  103. ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES
  104. OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO
  105. EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR
  106. ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL,
  107. CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF
  108. MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE
  109. POSSIBILITY OF SUCH DAMAGES.  SOME STATES DO NOT ALLOW THE EXCLUSION
  110. OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES
  111. SO THE FOREGOING LIMITATION MAY NOT APPLY.
  112.  
  113. Copyright Microsoft Corporation 1993.