Windows driver framework(WDF): In UAS USB2.0, WarmReset dosen't trigger SUSPEND exit from U3 state

Veeresh Koninti 0 Reputation points
2024-06-24T07:24:42.2533333+00:00

I have an inhouse developed WDF based driver which can run USB WarmReset command in UAS mode in USB2.0 speed.

Drive is executing some SCSI commands(Write10) continuously and every minute the test script invokes WarmReset to the device using WdfUsbTargetDeviceCyclePortSynchronously WDF API in USB2.0 speed. Initial few WarmReset commands are successful and post that the drive reenumerates properly. Within 10 to 15 minutes, one of the WarmReset commands doesn't trigger SUSPEND exit from U3 state. On checking the lecroy traces, FW confirms that the drive is in U3 state and doesn't receive the warm reset request.

We never faced the issue if WdfUsbTargetDeviceCyclePortSynchronously is invoked on USB3.0 speed.

Windows version: 10.0.19045 Build 19045

Queries:

  • Why doesn't the WdfUsbTargetDeviceCyclePortSynchronously work in the above failure scenario for USB2.0?
Windows 10
Windows 10
A Microsoft operating system that runs on personal computers and tablets.
11,061 questions
Windows 11
Windows 11
A Microsoft operating system designed for productivity, creativity, and ease of use.
8,787 questions
Windows Driver Kit (WDK)
Windows Driver Kit (WDK)
A set of Microsoft tools that are used to develop, test, and deploy Windows drivers.
46 questions
0 comments No comments
{count} votes