USB ISOCHRONOUS - Win7

Hi,

I have a different question than the thread already going on for the
same topic.

I’m supporting ISCO devices on top of a virtual usb bus driver. I’m
seeing a major difference between Win XP and Win7 (which is normal) and
need to confirm with someone I’m understanding the issue correctly.

This is a Usb over Ethernet type environment so I need to buffer the
data. I basically get the ISOC_OUT Urbs and tell windows that it was
successful and sort of trick it into giving me more data immediately and
that way I can rate control everything.

This works out nicely on XP. On Win7 I see an ABORT comes out for the
pipe as soon as I complete the URB.

Does Win7 need the URB’s to be completed only after the 10ms have
expired (because it has 10ms worth of data typically).

I see that completing the URB late seems to work fine…but completing
them early causes problems.

Thanks

Pankaj

What driver is sending your driver the URB_FUNCTION_ISOCH_TRANSFER and URB_FUNCTION_ABORT_PIPE requests?

If it is the standard USBAUDIO.SYS driver it might be possible to determine why it is sending URB_FUNCTION_ABORT_PIPE requests if the URB_FUNCTION_ISOCH_TRANSFER requests complete earlier than it expects.

If it is a third-party vendor supplied driver which is sending your driver the URB_FUNCTION_ISOCH_TRANSFER and URB_FUNCTION_ABORT_PIPE requests I’m not sure how you would figure out what is going on there.

Glen,
I’m connecting off the shelf USB headsets/speakers and typically the
drivers are Microsoft drivers that are used for it.
How would I know why USBAUDIO.SYS is ABORTING? Is there a way to
determine…?
Strangely I see similar issue when using 2 processors. (BTW All these
tests are in virtual machines).

Can you please shed some light?

Thanks
Pankaj

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@microsoft.com
Sent: Monday, November 15, 2010 2:43 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] USB ISOCHRONOUS - Win7

What driver is sending your driver the URB_FUNCTION_ISOCH_TRANSFER and
URB_FUNCTION_ABORT_PIPE requests?

If it is the standard USBAUDIO.SYS driver it might be possible to
determine why it is sending URB_FUNCTION_ABORT_PIPE requests if the
URB_FUNCTION_ISOCH_TRANSFER requests complete earlier than it expects.

If it is a third-party vendor supplied driver which is sending your
driver the URB_FUNCTION_ISOCH_TRANSFER and URB_FUNCTION_ABORT_PIPE
requests I’m not sure how you would figure out what is going on there.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Oh and another data point…
After the abort, I get more ISOC OUT requests down. It’s as if it’s
trying to clear a temporary glitch.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Pankaj Garg
Sent: Monday, November 15, 2010 2:50 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] USB ISOCHRONOUS - Win7

Glen,
I’m connecting off the shelf USB headsets/speakers and typically the
drivers are Microsoft drivers that are used for it.
How would I know why USBAUDIO.SYS is ABORTING? Is there a way to
determine…?
Strangely I see similar issue when using 2 processors. (BTW All these
tests are in virtual machines).

Can you please shed some light?

Thanks
Pankaj

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@microsoft.com
Sent: Monday, November 15, 2010 2:43 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] USB ISOCHRONOUS - Win7

What driver is sending your driver the URB_FUNCTION_ISOCH_TRANSFER and
URB_FUNCTION_ABORT_PIPE requests?

If it is the standard USBAUDIO.SYS driver it might be possible to
determine why it is sending URB_FUNCTION_ABORT_PIPE requests if the
URB_FUNCTION_ISOCH_TRANSFER requests complete earlier than it expects.

If it is a third-party vendor supplied driver which is sending your
driver the URB_FUNCTION_ISOCH_TRANSFER and URB_FUNCTION_ABORT_PIPE
requests I’m not sure how you would figure out what is going on there.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Pankaj Garg wrote:

Oh and another data point…
After the abort, I get more ISOC OUT requests down. It’s as if it’s
trying to clear a temporary glitch.

That’s quit possible. The “abort” request simply cancels all
outstanding requests on that pipe. It doesn’t disable the pipe in any
way. I’ve seen that kind of behavior when I was running a debugger that
caused real-time to slow down enough that usbaudio got confused.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Hi Glen,
Any ideas on if I would see the abort if the ISOC OUT packet is
completely early on win7.?
Thanks

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Pankaj Garg
Sent: Monday, November 15, 2010 2:50 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] USB ISOCHRONOUS - Win7

Glen,
I’m connecting off the shelf USB headsets/speakers and typically the
drivers are Microsoft drivers that are used for it.
How would I know why USBAUDIO.SYS is ABORTING? Is there a way to
determine…?
Strangely I see similar issue when using 2 processors. (BTW All these
tests are in virtual machines).

Can you please shed some light?

Thanks
Pankaj

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@microsoft.com
Sent: Monday, November 15, 2010 2:43 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] USB ISOCHRONOUS - Win7

What driver is sending your driver the URB_FUNCTION_ISOCH_TRANSFER and
URB_FUNCTION_ABORT_PIPE requests?

If it is the standard USBAUDIO.SYS driver it might be possible to
determine why it is sending URB_FUNCTION_ABORT_PIPE requests if the
URB_FUNCTION_ISOCH_TRANSFER requests complete earlier than it expects.

If it is a third-party vendor supplied driver which is sending your
driver the URB_FUNCTION_ISOCH_TRANSFER and URB_FUNCTION_ABORT_PIPE
requests I’m not sure how you would figure out what is going on there.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer