Drive is enumerated in USB 2.0 speed with UAS mode using windows driver.
Scenario:
In the test execution, drive is remotely power-cycled and performs sequential write and read USB command execution. Test has run for close to 62 hours and after 40th power cycle drive, Security IN command is executed from the test. It fails with USBD_STATUS_CANCELLED error. This is followed by a task management function(TMIU) LunReset and IT_Nexus Reset. Windows driver has sent these TMIU's and receives Task Management Not Supported response.
Sequence of packets in wireshark:
- SecurityProtocolIn StatusRequest URB for SenseIU
- SecurityProtocolIn StatusRequest URB for ReadReadyIU
- SecurityProtocolIn Request for CmdIU(Tag 2)
- TMIU LunReset ResponseRequest URB for ResponseIU
- TMIU LunReset Request(Tag 3)
- SecurityProtocolIn Request for CmdIU is acknowledged with USBD_STATUS_CANCELLED
- SecurityProtocolIn StatusRequest URB for ReadReady is acknowledged with USBD_STATUS_CANCELLED
- SecurityProtocolIn StatusRequest URB for SenseBuffer is acknowledged with USBD_STATUS_CANCELLED
- TMIU LunReset ResponseRequest URB for ResponseIU is acknowledged with USBD_STATUS_CANCELLED
- TMIU LunReset Request is acknowledged with USBD_STATUS_CANCELLED
- TMIU IT_Nexus_Reset ResponseRequest URB for ResponseIU
- TMIU IT_Nexus_Reset Request(Tag 2)
- TMIU IT_Nexus_Reset Request is acknowledged successfully
- TMIU IT_Nexus_Reset ResponseRequest URB for ResponseIU is acknowledged successfully and the TMIU Response indicates TASK MANAGEMENT FUNCTION NOT SUPPORTED.(Response IU: 04 00 00 02 00 00 00 04)
Queries:
- Why did SecurityProtocolIn command fail with USBD_STATUS_CANCELLED error?
- Why did windows driver send Task Management IU for Lun Reset and IT Nexus Reset?
- Why did LUN Reset also fail with USBD_STATUS_CANCELLED error?
- Why does windows driver not expose APIs for invoking Task Management Functions?