USB Driver Uses the Largest Supported Report Size (249635)



The information in this article applies to:

  • Microsoft Windows 98 Second Edition

This article was previously published under Q249635

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 hotfix is now available from Microsoft, but it is only intended to correct the problem that this article describes. Apply it only to systems that are experiencing this specific problem.

To resolve this problem, contact Microsoft Product Support Services to obtain the hotfix. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

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 that this is 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.

For additional information about Windows 98 and Windows 98 Second Edition hotfixes, click the article number below to view the article in the Microsoft Knowledge Base:

206071 General Information About Windows 98 and Windows 98 Second Edition Hotfixes


Modification Type:MinorLast Reviewed:10/18/2005
Keywords:kbHotfixServer kbQFE kbbug kbfix KB249635