How can I limit the amount of USB bandwidth consumed by a single USB port/device?

0

Is there any way I can set USB bandwidth usage limits on a particular USB port/device that will allow me to cap max usage to say 50Mbps or 100Mbps? I am looking for some kind of QoS setting for USB devices that will prevent the device from gobbling up more than the specified amount of bandwidth. % or had Mbps limits will both work.

sgifanatic

Posted 2012-05-11T02:14:35.517

Reputation: 1

Hi, what device in particular are you trying to cap? Mobile, router? I am thinking that you might be able to work something from the device end of things instead of the Windows end. – hardlywired – 2012-05-11T05:50:46.917

It is an imaging device, but the usbvideo.sys driver does not allow for any config params to throttle bandwidth. – sgifanatic – 2012-05-11T10:22:05.167

Answers

0

AFAIK, this is impossible with the default Microsoft drivers. Custom USB drivers scare me even more. Nothing prevents a custom driver from hogging all the bandwidth.

This is why I have so much respect for device driver writers. Crappy drivers are the bane of all users.

surfasb

Posted 2012-05-11T02:14:35.517

Reputation: 21 453

@sgifanatic Yeah this is my understanding too, it is up to the client to manage its bandwidth and be a good usb citizen. Some device drivers will may have settings that limit the bandwidth they use so this isn't something you would ordinarily do at the host end. Your best bet is to put high bandwidth devices on their own controller. – Paul – 2012-05-11T06:22:20.170

I am actually trying to do the opposite of what most folks need. When you recommend moving to a different controller, I imagine you suggest that so the hoggy device can be isolated from everything else. I am instead trying to constrain the hoggy device even if its the only one connected to a controller. I am doing something with the bits I get from this device and I only want to receive so much traffic from it. I don't need to do dynamic throttling. I just need to configure things so that it is constrained when it enumerates. I can do my setup before the device is even plugged in. Thoughts? – sgifanatic – 2012-05-11T10:21:23.920