USB Driver Uses the Largest Supported Report Size

ID: Q249635


The information in this article applies to:
  • Microsoft Windows 98 Second Edition


SYMPTOMS

Multiple function Universal Serial Bus (USB) devices that support multiple packet sizes send DATA0 and DATA1 packets using the largest supported data field size rather than the smallest required data field. Each supported function of the USB device should send DATA0 and DATA1 packets using the smallest required data field size. The overall performance of a multiple-function device is decreased because more data is sent over the USB device.


CAUSE

This behavior occurs because the Hidclass driver in Windows 98 Second Edition always uses the largest data field the USB device supports to transmit packets. This behavior causes the USB device to transmit unneeded data during an IN or OUT transaction.


RESOLUTION

A supported fix that corrects this problem is now available from Microsoft, but it has not been fully regression tested and should be applied only to systems experiencing this specific problem.

To resolve this problem, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information on support costs, please go to the following address on the World Wide Web:

http://www.microsoft.com/support/supportnet/overview/overview.asp
The English-language version of this fix should have the following file attributes or later:

   Date        Time     Version     Size     File name      Platform
   ----------------------------------------------------------------------------------
   1/10/2000   6:05pm   4.10.2223   23,584   Hidclass.sys   Windows 98 Second Edition 


STATUS

Microsoft has confirmed this to be a problem in Windows 98 Second Edition.


MORE INFORMATION

The overall lengths of DATA0 and DATA1 packets between each function on a multiple-function device are equal. The data field of these packets is the longest length supported by the functions. For example, with a multifunction device that supports data retrieval from a piece of test/measurement equipment and keyboard input, the test/measurement function requires a 512-byte buffer but the keyboard requires only 16 bytes of data. The following examples show the resulting DATA packets that may appear:

  • Incoming keyboard data from the USB keyboard function.
    
    [SYNC]
    [DATA (16 bytes of keyboard data) (496 bytes zero-filled) ]
    [EOP] 


  • Incoming test/measurement data from the USB test/measurement function.
    
    [SYNC]
    [DATA (512 bytes test/measurement data) ]
    [EOP] 


NOTE: To actually see the problem, a USB analyzer is required.

This fix is recommended when you are using multiple-function USB devices. This fix does not affect single-purpose USB devices.

Additional query words: multi multifunction

Keywords : win98se
Version : WINDOWS:
Platform : WINDOWS
Issue type : kbbug


Last Reviewed: January 18, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.