none
Continuous reader not resuming the data flow after the system wakes from sleep ,for USB 2.0 device. RRS feed

  • Question

  • Hi ,

    I am having a OSR fx2 based UMDF USB driver, which uses WinUSB for the low level USB interactions.
    Device has a continuous reader configured on a BULK pipe.

    On USB2.0 card and using BULK EP device :
    ------------------------------------------------------
    Resume after HIBERNATION = Data stream resumes without un-plugging the device (re-initializing the driver).

    Resume after SLEEP = Data stream doesnot resume.

    On a USB3.0 card and using BULK EP :
    ------------------------------------------------
    Resume after HIBERNATION = Data stream resumes.

    Resume after SLEEP = Data stream resumes.

    Attached are the Driver and WinUSB logs.

    x64_USB2.0_HIBERNATION_BULK
    --------------------------------
    
    Driver
    ------
    00000307	usb	2232	1084	3	307	10\18\2013-12:02:52:836	OnReaderCompletion
    00000308	usb	2232	1084	3	308	10\18\2013-12:02:52:860	OnReaderCompletion
    00000309	usb	2232	4324	2	309	10\18\2013-12:02:53:110	## UNPLUG ## OnD0Exit
    
                                                #### RESTART FROM HIBERNATION  ####   
    
    00000310	usb	2232	4324	3	310	10\18\2013-12:04:03:711	@@@@@   IN - OnD0Entry    @@@@@
    00000311	usb	2232	4324	2	311	10\18\2013-12:04:04:210	## UNPLUG ## OnSurpriseRemoval
    00000312	usb	2232	4004	0	312	10\18\2013-12:04:04:210	!!  OnReaderFailure !!
    00000313	usb	2232	4324	2	313	10\18\2013-12:04:04:210	## UNPLUG ## OnD0Exit
    00000314	usb	2232	4324	3	314	10\18\2013-12:04:04:210	CMyDevice::OnReleaseHardware
    00000315	usb	2232	4324	1	315	10\18\2013-12:04:04:215	Destructor CMyDevice::~CMyDevice
    00000316	usb	1428	3932	3	316	10\18\2013-12:04:04:468	CMyDevice::CreateInstance
    00000317	usb	1428	3932	3	317	10\18\2013-12:04:04:468	CMyDevice::Initialize
    00000318	usb	1428	3932	3	318	10\18\2013-12:04:04:468	CMyDevice::Configure
    00000319	usb	1428	3932	1	319	10\18\2013-12:04:04:471	CMyDevice::OnPrepareHardware
    00000320	usb	1428	3932	1	320	10\18\2013-12:04:04:471	@@@@@   IN - OnD0Entry    @@@@@
    00000321	usb	1428	3460	1	321	10\18\2013-12:04:04:971	OnReaderCompletion
    00000322	usb	1428	3460	1	322	10\18\2013-12:04:05:144	OnReaderCompletion
    
    
    
    WinUSB
    ------
    00001805	sys	2232	1084	3	1805	10\18\2013-12:02:52:842	IOCTL_WINUSB_READ_PIPE
    00001806	sys	2232	1084	3	1806	10\18\2013-12:02:52:842	PIPE134: (00000114) The read has been added to the read queue
    00001807	sys	2232	1084	3	1807	10\18\2013-12:02:52:842	PIPE134: (00000114) The read for 4096 bytes is being handled
    00001808	sys	2232	1084	3	1808	10\18\2013-12:02:52:842	PIPE134: (00000114) Reading 4096 bytes from the device
    00001809	sys	0	0	0	1809	10\18\2013-12:02:52:866	PIPE134: (00000114) Transfer was terminated by a short packet
    00001810	sys	0	0	0	1810	10\18\2013-12:02:52:866	PIPE134: (00000114) Read request for 4096 bytes has completed with 96 bytes
    00001811	sys	2232	1084	3	1811	10\18\2013-12:02:52:866	IOCTL_WINUSB_READ_PIPE
    00001812	sys	2232	1084	3	1812	10\18\2013-12:02:52:866	PIPE134: (00000115) The read has been added to the read queue
    00001813	sys	2232	1084	3	1813	10\18\2013-12:02:52:866	PIPE134: (00000115) The read for 4096 bytes is being handled
    00001814	sys	2232	1084	3	1814	10\18\2013-12:02:52:867	PIPE134: (00000115) Reading 4096 bytes from the device
    00001815	sys	2232	4324	2	1815	10\18\2013-12:02:53:117	Enter: WinUSB_CancelRead
    00001816	sys	2232	4324	2	1816	10\18\2013-12:02:53:117	Exit: WinUSB_CancelRead
    00001817	sys	1104	1212	0	1817	10\18\2013-12:02:53:117	PIPE134: (00000115) Request failed with status 0xc0000120(STATUS_CANCELLED)
    00001818	sys	1104	1212	0	1818	10\18\2013-12:02:53:117	PIPE134: (00000115) Read request for 4096 bytes has completed with 0 bytes
    00001819	sys	4	48	2	1819	10\18\2013-12:02:53:117	Enter: WinUSB_D0Exit
    00001820	sys	4	48	2	1820	10\18\2013-12:02:53:117	Stopping Read Io Target to cancel pending IO
    00001821	sys	4	48	2	1821	10\18\2013-12:02:53:117	Exit: WinUSB_D0Exit (STATUS_SUCCESS)
    00001822	sys	4	2936	1	1822	10\18\2013-12:04:03:717	Enter: WinUSB_D0Entry
    00001823	sys	4	2936	1	1823	10\18\2013-12:04:03:717	Starting Read Io Target
    00001824	sys	4	2936	1	1824	10\18\2013-12:04:03:717	Exit: WinUSB_D0Entry (STATUS_SUCCESS)
    00001825	sys	2232	4324	2	1825	10\18\2013-12:04:04:216	IOCTL_WINUSB_READ_PIPE
    00001826	sys	2232	4324	2	1826	10\18\2013-12:04:04:216	PIPE134: (00000116) The read has been added to the read queue
    00001827	sys	2232	4324	2	1827	10\18\2013-12:04:04:216	PIPE134: (00000116) The read for 4096 bytes is being handled
    00001828	sys	2232	4324	2	1828	10\18\2013-12:04:04:216	PIPE134: (00000116) Reading 4096 bytes from the device
    00001829	sys	2232	4324	2	1829	10\18\2013-12:04:04:216	PIPE134: (00000116) Request failed with status 0xc000000e(STATUS_NO_SUCH_DEVICE)
    00001830	sys	4	52	3	1830	10\18\2013-12:04:04:217	PIPE134: Attempting to reset the pipe
    00001831	sys	4	52	3	1831	10\18\2013-12:04:04:217	PIPE134: Failed to reset pipe, attempting to reset the device
    00001832	sys	4	52	3	1832	10\18\2013-12:04:04:217	PIPE134: (00000116) Read request for 4096 bytes has completed with 4096 bytes
    00001833	sys	2232	4324	3	1833	10\18\2013-12:04:04:217	Purging pipe: xFFFFFA8005762010 pipe queue: x0000057FFBE4D3A8
    00001834	sys	2232	4324	3	1834	10\18\2013-12:04:04:217	Purging pipe: xFFFFFA80064798D0 pipe queue: x0000057FFBEFE3A8
    00001835	sys	2232	4324	3	1835	10\18\2013-12:04:04:217	Purging pipe: xFFFFFA80064798D0 pipe raw io queue: x0000057FFA8463A8
    00001836	sys	2232	4324	3	1836	10\18\2013-12:04:04:217	Enter: WinUSB_InitControlPipe
    00001837	sys	2232	4324	3	1837	10\18\2013-12:04:04:217	Exit: WinUSB_InitControlPipe (STATUS_SUCCESS)
    00001838	sys	4	52	2	1838	10\18\2013-12:04:04:217	Enter: WinUSB_D0Exit
    00001839	sys	4	52	2	1839	10\18\2013-12:04:04:217	Stopping Read Io Target to cancel pending IO
    00001840	sys	4	52	2	1840	10\18\2013-12:04:04:217	Exit: WinUSB_D0Exit (STATUS_SUCCESS)
    00001841	sys	4	52	2	1841	10\18\2013-12:04:04:217	Enter: WinUSB_ReleaseHardware
    00001842	sys	4	52	2	1842	10\18\2013-12:04:04:217	Exit: WinUSB_ReleaseHardware (STATUS_SUCCESS)
    00001843	sys	4	48	3	1843	10\18\2013-12:04:04:223	Handling Device Cleanup
    00001844	sys	4	48	3	1844	10\18\2013-12:04:04:420	DriverObject 0xFFFFFA80057A5060
    00001845	sys	4	68	3	1845	10\18\2013-12:04:04:477	Preparing hardware
    00001846	sys	4	68	2	1846	10\18\2013-12:04:04:477	Resetting Default settings
    00001847	sys	4	68	2	1847	10\18\2013-12:04:04:477	Enter: WinUSB_InitControlPipe
    00001848	sys	4	68	2	1848	10\18\2013-12:04:04:477	Exit: WinUSB_InitControlPipe (STATUS_SUCCESS)
    00001849	sys	4	68	3	1849	10\18\2013-12:04:04:477	Enter: WinUSB_D0Entry
    00001850	sys	4	68	3	1850	10\18\2013-12:04:04:477	Starting Read Io Target
    00001851	sys	4	68	3	1851	10\18\2013-12:04:04:477	Exit: WinUSB_D0Entry (STATUS_SUCCESS)
    00001852	sys	1428	3932	1	1852	10\18\2013-12:04:04:478	Create succeeded
    00001853	sys	1428	3932	1	1853	10\18\2013-12:04:04:478	IOCTL_WINUSB_VERSION_EXCHANGE
    00001854	sys	1428	3932	1	1854	10\18\2013-12:04:04:478	Enter: WinUSB_ExchangeVersion
    00001855	sys	1428	3932	1	1855	10\18\2013-12:04:04:478	Exit: WinUSB_ExchangeVersion (STATUS_SUCCESS)
    00001856	sys	1428	3932	1	1856	10\18\2013-12:04:04:478	IOCTL_WINUSB_GET_DESCRIPTOR
    00001857	sys	1428	3932	1	1857	10\18\2013-12:04:04:478	IOCTL_WINUSB_GET_DESCRIPTOR
    00001858	sys	1428	3932	1	1858	10\18\2013-12:04:04:478	IOCTL_WINUSB_GET_DESCRIPTOR
    00001859	sys	1428	3932	1	1859	10\18\2013-12:04:04:478	IOCTL_WINUSB_RESET_DEFAULTS
    00001860	sys	1428	3932	1	1860	10\18\2013-12:04:04:478	Enter: WinUSB_InitControlPipe
    00001861	sys	1428	3932	1	1861	10\18\2013-12:04:04:478	Exit: WinUSB_InitControlPipe (STATUS_SUCCESS)
    00001862	sys	1428	3932	1	1862	10\18\2013-12:04:04:478	IOCTL_WINUSB_GET_DESCRIPTOR
    00001863	sys	1428	3932	1	1863	10\18\2013-12:04:04:478	IOCTL_WINUSB_QUERY_DEVICE_INFORMATION
    00001864	sys	1428	3932	1	1864	10\18\2013-12:04:04:478	IOCTL_WINUSB_SET_PIPE_POLICY
    00001865	sys	1428	3932	1	1865	10\18\2013-12:04:04:478	IOCTL_WINUSB_SET_PIPE_POLICY
    00001866	sys	1428	3932	2	1866	10\18\2013-12:04:04:977	IOCTL_WINUSB_READ_PIPE
    00001867	sys	1428	3932	2	1867	10\18\2013-12:04:04:977	PIPE134: (0000000a) The read has been added to the read queue
    00001868	sys	1428	3932	2	1868	10\18\2013-12:04:04:977	PIPE134: (0000000a) The read for 4096 bytes is being handled
    00001869	sys	1428	3932	2	1869	10\18\2013-12:04:04:977	PIPE134: (0000000a) Reading 4096 bytes from the device
    00001870	sys	0	0	0	1870	10\18\2013-12:04:04:978	PIPE134: (0000000a) Transfer was terminated by a short packet
    00001871	sys	0	0	0	1871	10\18\2013-12:04:04:978	PIPE134: (0000000a) Read request for 4096 bytes has completed with 32 bytes
    

    x64_USB2.0_SLEEP_BULK
    ----------------------
    Driver
    ------
    00001265	usb	2100	3852	1	1265	10\18\2013-14:37:35:987	OnReaderCompletion
    00001266	usb	2100	3852	1	1266	10\18\2013-14:37:36:08	OnReaderCompletion
    00001267	usb	2100	312	3	1267	10\18\2013-14:37:36:381	## UNPLUG ## OnD0Exit
    
                                             #### RESUME AFTER SLEEP  ####
    
    00001268	usb	2100	312	0	1268	10\18\2013-14:37:49:632	@@@@@   IN - OnD0Entry    @@@@@
    
    
    WinUSB
    ------
    00006450	sys	2100	3852	1	6450	10\18\2013-14:37:35:987	IOCTL_WINUSB_READ_PIPE
    00006451	sys	2100	3852	1	6451	10\18\2013-14:37:35:987	PIPE134: (00000085) The read has been added to the read queue
    00006452	sys	2100	3852	1	6452	10\18\2013-14:37:35:987	PIPE134: (00000085) The read for 4096 bytes is being handled
    00006453	sys	2100	3852	1	6453	10\18\2013-14:37:35:987	PIPE134: (00000085) Reading 4096 bytes from the device
    00006454	sys	0	0	0	6454	10\18\2013-14:37:36:07	PIPE134: (00000085) Transfer was terminated by a short packet
    00006455	sys	0	0	0	6455	10\18\2013-14:37:36:08	PIPE134: (00000085) Read request for 4096 bytes has completed with 32 bytes
    00006456	sys	2100	3852	1	6456	10\18\2013-14:37:36:08	IOCTL_WINUSB_READ_PIPE
    00006457	sys	2100	3852	1	6457	10\18\2013-14:37:36:08	PIPE134: (00000086) The read has been added to the read queue
    00006458	sys	2100	3852	1	6458	10\18\2013-14:37:36:08	PIPE134: (00000086) The read for 4096 bytes is being handled
    00006459	sys	2100	3852	1	6459	10\18\2013-14:37:36:08	PIPE134: (00000086) Reading 4096 bytes from the device
    00006460	sys	2100	312	3	6460	10\18\2013-14:37:36:380	Enter: WinUSB_CancelRead
    00006461	sys	2100	312	3	6461	10\18\2013-14:37:36:381	Exit: WinUSB_CancelRead
    00006462	sys	1080	3960	0	6462	10\18\2013-14:37:36:381	PIPE134: (00000086) Request failed with status 0xc0000120(STATUS_CANCELLED)
    00006463	sys	1080	3960	0	6463	10\18\2013-14:37:36:381	PIPE134: (00000086) Read request for 4096 bytes has completed with 128 bytes
    00006464	sys	4	48	3	6464	10\18\2013-14:37:36:381	Enter: WinUSB_D0Exit
    00006465	sys	4	48	3	6465	10\18\2013-14:37:36:381	Stopping Read Io Target to cancel pending IO
    00006466	sys	4	48	3	6466	10\18\2013-14:37:36:381	Exit: WinUSB_D0Exit (STATUS_SUCCESS)
    00006467	sys	4	3908	1	6467	10\18\2013-14:37:49:631	Enter: WinUSB_D0Entry
    00006468	sys	4	3908	1	6468	10\18\2013-14:37:49:631	Starting Read Io Target
    00006469	sys	4	3908	1	6469	10\18\2013-14:37:49:631	Exit: WinUSB_D0Entry (STATUS_SUCCESS)
    00006470	sys	2100	312	1	6470	10\18\2013-14:37:50:132	IOCTL_WINUSB_READ_PIPE
    00006471	sys	2100	312	1	6471	10\18\2013-14:37:50:132	PIPE134: (00000087) The read has been added to the read queue
    00006472	sys	2100	312	1	6472	10\18\2013-14:37:50:132	PIPE134: (00000087) The read for 4096 bytes is being handled
    00006473	sys	2100	312	1	6473	10\18\2013-14:37:50:132	PIPE134: (00000087) Reading 4096 bytes from the device
    

     

    Friday, October 18, 2013 9:35 AM

All replies