Hi Gerd, thanks a lot.
I just had a look on usb-linux.c where the "port" could be identified. for those that must use /proc/bus/usb it would be possible to allow the following: read in the "Port=" and check if it is on bus level 1, then you can identify at least your real root hardware port - hubs won't work, but for most users this would help at least for basic use cases. And: My system has the /sys/bus/usb structure, but NO udev enabled! That means the /dev/bus/usb structure is missing! Running the existing usb-linux.c code, I can never use USB, because /sys/... is selected but /dev/... is used which is not checked for existance! This causes delayed problems when you want to start using usb host devices. I moved the /proc/bus/usb checking in front of the /sys/ checking and it worked for me - maybe not useful for all but then the checkings for /sys/bus/usb should be extended on the /dev/bus/usb existance check. Additionally I have bigger problems with CD and DVD usb drives, they get detected and routed to the guest, but the "claimend" message comes up on the qemu monitor every 10-15 seconds and sometimes the linux usb driver resets the port - that causes a very slow detection in the guest and I never got it finished and I was not able to access the data on the CD. Most USB keys work, but some also had a similar issue. Everything tested with qemu-kvm-0.15.0 Best regards, Erik