USB Speed Checking

Martin Owens doctormo at gmail.com
Tue Jul 29 07:20:19 PDT 2008


Thanks for the feedback guys...

> Bastien Nocera Wrote:
> You're not checking whether the device that's being plugged in is a USB 2 device though...

Did you read the code? I thought I was. I thought I'd even written it
to support usb3.

> David Zeuthen Wrote:

 - Should cover more than just mass storage devices.

It does.

> What happens at session startup? The right thing is probably to
> create a small notification icon but no bubbles (bubbles at login is normally frowned upon)

Nothing, you have to manually start the proof of concept code to get
the notify event.

> Bonus points for telling the user what ports (ideally mention the hub by name)
> he can plug his Hi-Speed device into instead.

Hub name is just the parent devices name, the list of possible usb
ports would be more interesting problem.

> What is the user interaction like? I'd suppose the right thing is to create an icon and show a notification bubble.
> You probably also need some button for the user "Stop" (e.g. unmount
> or other actions) the device before the user yanks it out to plug it into another port.

That's really for the implementation, the libnotify daemon is a proof
of concept to show if it can be done.

>  How do you determine if a Hi-Speed device isn't running at full speed? IIRC it's non-trivial to do it right (you'd have
>  to look at some of the device descriptors not exposed in sysfs) and pretty easy to do it wrong.

So far I'm only able to detect if the device runs at less than the max
speed of the version it has available. If you know a better way and
cause show me the example case I could try and fix it.

> Btw, here are some old screen shots on how this works on Windows XP. It
> might be useful to try and solve the "power exceeded" problem too.

That shouldn't be difficult either, if the usb device requires 50mh of
power and the usb hub is either unpowered (and routing the 500mh from
the computer) or somehow unpowered completely (not sure if that's
possible) or the power requirements are greater than the max power of
the hub.

Best Regards, Martin Owens


More information about the hal mailing list