Can I send the "REQUEST_ISOCH_QUERY_RESOURCES" request to get usb iso bandwidth?

Hi,
I want to know the bandwidth of the usb bus .
I check the DDK documents ,just get the
“REQUEST_ISOCH_QUERY_RESOURCES” but which says it is used on 1394 bus
. I also have done a test ,but it seems the request doesn’t work .
Any suggestions about how to get the usb bandwidth are welcome .
thanks all

Best regards
Josephxu

ze zefeng wrote:

I want to know the bandwidth of the usb bus .

Can you explain why you want to know this? That information isn’t
usually very useful. A USB 1 bus has 12 megabits of bandwidth. A USB 2
bus has 480 megabits.

Are you trying to find out how much of the bandwidth is reserved by
isochronous and interrupt pipes? The host controller exposes that in
the control panel, but I have not found a way to get that
programmatically. In the web cameras I have done, we’ve had 6 or 8
alternate interfaces with various isochronous rates. We try the most
aggressive, and if it fails, we keep trying the lesser options until one
succeeds.


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

Thanks for your answer :slight_smile:

I’m developping a isochronous device driver and if there are not
enough bandwidth on host controller , I hope I can tell the custom a
warning message ,and tell him to plug the device into other host.
So as you said , I want to find out the how much of the bandwidth is
reserved by
isochronous and interrupt pipes.

2005/8/10, Tim Roberts :
> ze zefeng wrote:
>
> > I want to know the bandwidth of the usb bus .
> >
> >
>
> Can you explain why you want to know this? That information isn’t
> usually very useful. A USB 1 bus has 12 megabits of bandwidth. A USB 2
> bus has 480 megabits.
>
> Are you trying to find out how much of the bandwidth is reserved by
> isochronous and interrupt pipes? The host controller exposes that in
> the control panel, but I have not found a way to get that
> programmatically. In the web cameras I have done, we’ve had 6 or 8
> alternate interfaces with various isochronous rates. We try the most
> aggressive, and if it fails, we keep trying the lesser options until one
> succeeds.
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@gmail.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>

ze zefeng wrote:

Thanks for your answer :slight_smile:

I’m developping a isochronous device driver and if there are not
enough bandwidth on host controller , I hope I can tell the custom a
warning message ,and tell him to plug the device into other host.
So as you said , I want to find out the how much of the bandwidth is
reserved by isochronous and interrupt pipes.

The right way to do this is to have two alternate interfaces: #0 without
your iso pipe, and #1 with your iso pipe. Your device will load fine
with alternate interface #0. Then, you can select alternate interface
#1 in the normal way. If that fails, you’ll know there wasn’t enough
bandwidth, and you can notify your user-mode component to send the message.


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

Yes ,I will do in this way .
Another choice , I think ,allow an IRP to fail , and if the URB falis
with USBD_STATUS_NO_BANDWIDTH ,the NTSTATUS code you get back from
the internal control IRP is STATUS_DEVICE_DATA_ERROR(Walter Oney).
Then we can know the lack of bandwidth.

But all these two way can’t tell us the really status of bandwidth.
If we launch the Windows XP Device Managerapplet , we can see the a
property page for the USB host controller, there are the status of
bandwidth in the advanced tab.
So the question is : How can it calculate the bandwidth percent of
each device ? Does we can do like it also ?

2005/8/11, Tim Roberts :
> ze zefeng wrote:
>
> >Thanks for your answer :slight_smile:
> >
> >I’m developping a isochronous device driver and if there are not
> >enough bandwidth on host controller , I hope I can tell the custom a
> >warning message ,and tell him to plug the device into other host.
> >So as you said , I want to find out the how much of the bandwidth is
> >reserved by isochronous and interrupt pipes.
> >
> >
>
> The right way to do this is to have two alternate interfaces: #0 without
> your iso pipe, and #1 with your iso pipe. Your device will load fine
> with alternate interface #0. Then, you can select alternate interface
> #1 in the normal way. If that fails, you’ll know there wasn’t enough
> bandwidth, and you can notify your user-mode component to send the message.
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@gmail.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>