Bug 115882

Summary: suseplugger: warn if usb2 device is plugged into usb1 port
Product: [openSUSE] SUSE Linux 10.1 Reporter: Ludwig Nussel <lnussel>
Component: HotplugAssignee: Ihno Krumreich <ihno>
Status: RESOLVED FEATURE QA Contact: E-mail List <qa-bugs>
Severity: Enhancement    
Priority: P5 - None CC: coolo
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: All   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: test program

Description Ludwig Nussel 2005-09-08 14:53:36 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.
Comment 1 Stephan Kulow 2005-09-08 15:21:19 UTC
can I find this out via HAL? 
Comment 2 Ludwig Nussel 2005-10-19 11:14:13 UTC
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.
Comment 3 Kay Sievers 2005-10-19 11:59:05 UTC
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.
Comment 4 Stephan Kulow 2006-03-18 17:43:59 UTC
so what would you want to check for exactly?
Comment 5 Ludwig Nussel 2006-03-22 14:26:05 UTC
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.
Comment 6 Stephan Kulow 2006-05-26 11:31:07 UTC
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.
Comment 7 Kay Sievers 2006-05-26 11:56:35 UTC
Hmm, how could a fdi file determine that there is another free high-speed port available somewhere else?
Comment 8 Stephan Kulow 2006-05-26 12:00:08 UTC
good point ;(
Comment 9 Danny Al-Gaaf 2006-05-27 09:05:03 UTC
But you should be able to check if there is a faster port from the outside of HAL e.g. from your test programm.
Comment 10 Stephan Kulow 2006-09-07 12:42:31 UTC
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
Comment 11 Stephan Kulow 2006-09-07 12:44:23 UTC
feature #301202
Comment 12 Andreas Jaeger 2008-04-28 15:26:37 UTC
feature #301202