PRB: Generic Serial Plug-and-Play ID String Warning

ID: Q158497


The information in this article applies to:
  • Microsoft Win32 Device Driver Kit (DDK) Windows 95


SYMPTOMS

The documentation for general serial plug-and-play enumeration for devices goes into some detail. Yet some OEM's have noticed that their PNP ID string is being corrupted by characters added to the front of the ID.


CAUSE

If your device is primarily using RTS to gate the PNP string transmission to the PC, there is an initial RTS pulse before the carefully-timed PNP RTS pulses generated as part of the PNP enumeration. In addition, the enumerator opens and purges the COM port only once at the start of the enumeration, prior to its two PNP attempts. This means that long PNP ID's will run over into the now-cleared receive buffer if not cut off right away when RTS goes false. Also, a failed first attempt that generates any characters may cause the same problem.


RESOLUTION

It is extremely important to understand that an RTS pulse occurs before the time you would expect it. Therefore, if your device starts to send on the initial "Open" RTS pulse, you must immediately STOP ALL DATA to the PC if the RTS signal goes false while you are sending.


MORE INFORMATION

The timing diagram for PNP serial adapted from the PNP specification Figure 1 (as it appears on an oscilloscope) is as follows (note the added Open/Purge intervals):


interval---->Open|purg|check|<---1st--->|<1st>|<2nd>|<2nd>|<--Idle----
             COM |COM | dev |   Setup   | Wait|Setup| Wait|
                      |     |     |     |     |     |     |
time                  |  T1 |  T2 |  T3 |  T4 |  T2 |  T4 |
             _______________       ___________       _____________
DTR(108)                    \_____/           \_____/ 
                      |     |     |     |     |     |     |
               _                         _____       _____
RTS(105)     _/ \_______________________/     \_____/     \_________
                      |     |           |     |     |
reference             |2.1.2|   2.1.3   |2.1.4|2.1.5|2.1.6| 

Additional query words: 4.00 kbdsd PNP plug-and-play comm enumerate

Keywords : DdkComm
Version : 4.00
Platform : WINDOWS
Issue type :


Last Reviewed: March 4, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.