[wdmaudiodev] Re: Vista 32 bit RTM and USB 2.0 isoch input

  • From: "Philip Lukidis" <plukidis@xxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 20 Dec 2006 18:55:57 -0500

While I have not worked with USB 2.0 isoch transfers, I have with USB 1.1 
isoch.  Maybe these observation will help:

From the latest WDK (and the last server 2003 DDK):
"Use of the USB_START_ISO_TRANSFER_ASAP flag is restricted to the first 
transaction on a newly opened or reset pipe."

Notice the typo in the flag: USB_START_ISO_TRANSFER_ASAP vs the correct  
USBD_START_ISO_TRANSFER_ASAP.  Nevertheless, this flag is valid only as noted; 
thereafter you must supply the frame numbers for each isoch transfer (I opted 
to always supply the frame number).  Note that OpenHCI controllers can return 
different error codes vs EHCI controllers for tardy URBs (see the isoch DDK 
example comments for the OpenHCI error USBD error code 0xC000000E, which means 
"frame submitted too late", but isn't documented in the headers; only that 
comment exists).

Perhaps this is the cause.

Philip Lukidis 


> -----Original Message-----
> From: wdmaudiodev-bounce@xxxxxxxxxxxxx
> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx]On Behalf Of Stephan Kappertz
> Sent: Tuesday, December 19, 2006 11:59 AM
> To: wdmaudiodev@xxxxxxxxxxxxx
> Subject: [wdmaudiodev] Vista 32 bit RTM and USB 2.0 isoch input
> 
> 
> Hi All,
> 
> I'm having trouble with USB 2.0 isoch input streams under 
> Vista 32 bit RTM:
> 
> I'm submitting four URBs at streaming startup. Each URB 
> represents 32*8 
> isoch packets. All URBs have the USBD_START_ISO_TRANSFER_ASAP 
> flag set. 
> Every time an URB is finished, a new one gets submitted with the 
> USBD_START_ISO_TRANSFER_ASAP flag. This code worked fine 
> under Win XP. 
> The time from submitting the USB to stream startup as 
> monitored with an 
> USB analyzer was always less then 100 ms. I didn't see any hardware 
> problems like USBD_STATUS_ISO_NOT_ACCESSED_BY_HW or URBs marked with 
> USBD_STATUS_ISOCH_REQUEST_FAILED.
> 
> Now under Vista, at streaming startup I'm _always_ getting back bad 
> packets with USBD_STATUS_ISOCH_REQUEST_FAILED and/or almost all 
> IsoPackets marked with USBD_STATUS_ISO_NOT_ACCESSED_BY_HW. 
> Even worse, 
> I'm getting back the bad packets after up to 2 seconds, 
> causing a large 
> delay in my streaming startup routine. After submitting new URBs from 
> the callback for a few times I'm finally getting stable streaming.
> 
> This problem doesn't seem to be hardware related. I tried several USB 
> controllers with the same result. However, if isoch streams 
> were running 
> before, restarting them usually causes a much smaller delay 
> from stream 
> startup to stable streaming.
> 
> 
> Any idea how to fix this issue?
> 
> Thanks,
> Stephan
> ******************
> 
> WDMAUDIODEV addresses:
> Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
> Subscribe:    
> mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
> Unsubscribe:  
> mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
> Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
> 
> URL to WDMAUDIODEV page:
> http://www.wdmaudiodev.com/
> 
> 
******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

Other related posts: