Bugzilla – Bug 115882
suseplugger: warn if usb2 device is plugged into usb1 port
Last modified: 2008-04-28 15:26:37 UTC
suseplugger could warn the user if he plugs in a usb2 capable device into a usb1 port on a machine that also has usb2 ports. Some devices may not work at all on usb1, those that do can't offer the full performance on usb1.
can I find this out via HAL?
I don't know. In lsusb there is bcdUSB 2.00 vs bcdUSB 1.10 I can't find those properties in HAL. I don't know if those are the right ones to judge whether there may be a speed penalty though. Let's ask someone who knows HAL and kernel.
At the host controller: usb_device.speed_bcd - Speed of device, in Mbit/s, in BCD with two decimals usb_device.version_bcd - USB version of device in BCD with two decimals Remember, that "version" does not tell anything about the speed, USB2.0 can be a perfectly valid low-speed-only device.
so what would you want to check for exactly?
Created attachment 74472 [details] test program After some testing I came to the conclusion that looking at the speed is insufficient. Apparently it's the speed at which the device is operating rather than the speed it supports. Ie a 480Mbit device will say 12Mbit when connected to a usb1 hub. So you really need to look at the usb versions to be able to make a guess whether another port would be better.
Kay, do you think this can be implemented by fdi and put as some usb.device.correct_port = false in the tree? I'm still pretty unclear on what the conditions are. Adding a check to kded/g-v-m shouldn't be a big problem, but duplicating the logic sounds wrong to me.
Hmm, how could a fdi file determine that there is another free high-speed port available somewhere else?
good point ;(
But you should be able to check if there is a faster port from the outside of HAL e.g. from your test programm.
I claim that this should be handled by the hotplug system one way or the other - and I'm happy to review suseplugger patches if the need arises
feature #301202