Ticket #3394 (closed defect: fixed)
USB on Linux-Host only with USBFS
Reported by: | stefan.becker | Owned by: | |
---|---|---|---|
Component: | USB | Version: | VirtualBox 3.0.8 |
Keywords: | Cc: | ||
Guest type: | Windows | Host type: | Linux |
Description
If i understand the Changelog since 2.1.2 correct, USBFS is not needed any more.
But this doesnt not work for me:
Host: Suse Linux 11.1 64 Bit VirtualBox: 2.1.4 PUEL / AMD 64 Guest: WinXP (SP3, Home, Prof), Vista Business Guest Additions 2.1.4 installed
User is in the Group "vboxusers": cat /etc/group | grep vboxusers => vboxusers:!:1000:stefan In the Guest Settings all USB-Devices are visible and i can attach USB-Filters for a Printer (Epson DX8400) and an USB Cardreader. But in the Guest Settings all USB-Devices are greyed out. In the Printer Settings "Offline" is shown.
It works correct via the old way.
FSTAB: usbfs /proc/bus/usb usbfs auto,busgid=1000,busmode=0775,devgid=1000,devmode=0664 0 0 boot.local: mount usbfs
If more Infos are needed, please tell me what.
PS: Its not a very important thing, because the other approach works.
Attachments
Change History
comment:1 Changed 14 years ago by frank
Note that the new approach uses DBus on Linux hosts and this method is only used if /proc/bus/usb is not mounted.
comment:2 Changed 14 years ago by stefan.becker
It must be a Problem with access rights.
"/proc/bus/usb" is not mounted.
After "chmod 777 /proc/bus/usb" and "chmod 777 /proc/bus/usb/devices" it works.
comment:3 Changed 14 years ago by stefan.becker
Forget my post about access rights.
In the fstab USBFS was enabled.
comment:4 Changed 14 years ago by frank
Does this problem persists? We got many reports that the new method works as expected.
comment:5 Changed 14 years ago by stefan.becker
Problem still exists with Suse 11.1 / 64.
On my other host (Ubuntu 9.04 / 64) it works as expected without USBFS.
On the Suse 11.1 Host is additionally installed:
- VMWARE Player 2.51
- USB Card Reader with Package "pcsc-lite".
The Package "pcsc-lite" contains a file "/etc/init.d/pcscd", when starting the service USBFS is mounted. Could that be the Problem?
comment:6 Changed 14 years ago by stefan.becker
Additions: Problem was on Suse with every VBOX-Version, actually 3.02.
The pcsc-lite is not the Problem. I disabled the mount command, but after reboot the same, it does not work.
comment:7 Changed 14 years ago by stefan.becker
I saw, that there is another script mounting usbfs: /etc/init.d/kbd.
I think that is the keyboard chooser. Because i have an USB keyboard, i dont want to check this :)
comment:8 Changed 14 years ago by frank
Yep, the preferred way is to live without mounting the usbfs. If you have hal installed on you system, VBox would use the hal daemon plus /sys to access USB devices. Does lshal work and do you see USB devices in the listing (grep for usb and linux.sysfs_path)?
comment:9 Changed 14 years ago by stefan.becker
I think so. Her is the output:
lshal | grep "linux.sysfs_path" | grep usb linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1 /usb2' (string) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1 /usb2' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-3' (string) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02. /usb2/2-3' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-3 /2-3:1.0' (string) usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-3/2-3:1.0' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-3 /2-3.4' (string) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1 /usb2/2-3/2-3.4' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-3 /2-3.4/2-3.4:1.1' (string) usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-3/2-3.4/2-3.4:1.1' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-3 /2-3.4/2-3.4:1.1/input/input6/event6' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-3 /2-3.4/2-3.4:1.0' (string) usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-3/2-3.4/2-3.4:1.0' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-3 /2-3.4/2-3.4:1.0/input/input5/event5' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-3 /2-3.3' (string) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02 .1/usb2/2-3/2-3.3' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-3 /2-3.3/2-3.3:1.0' (string) usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-3/2-3.3/2-3.3:1.0' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-3 /2-3.3/2-3.3:1.0/input/input4/event4' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-3 /2-3.1' (string) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1 /usb2/2-3/2-3.1' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-3/2-3.1/2-3.1:1.0' (string) usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-3/2-3.1/2-3.1:1.0' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-3 /2-3.1/2-3.1:1.0/usb/hiddev0' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-3 /2-3.1/2-3.1:1.0/input/input3/event3' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-1' (string) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1 /usb2/2-1' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-1 /2-1:1.0' (string) usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1:1.0' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2/2-1 /2-1.2' (string) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00 /0000:00:02.1/usb2/2-1/2-1.2' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0' (string) usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1 /usb2/2-1/2-1.2/2-1.2:1.0' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0/host4' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0/host4/scsi_host/host4' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0/host4/target4:0:0/4:0:0:3' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0/host4/target4:0:0/4:0:0:3/block/sde' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0/host4/target4:0:0/4:0:0:3/scsi_generic/sg5' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0/host4/target4:0:0/4:0:0:2' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0/host4/target4:0:0/4:0:0:2/block/sdd' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0/host4/target4:0:0/4:0:0:2/scsi_generic/sg4' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0/host4/target4:0:0/4:0:0:1' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0/host4/target4:0:0/4:0:0:1/block/sdc' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0/host4/target4:0:0/4:0:0:1/scsi_generic/sg3' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0/host4/target4:0:0/4:0:0:0' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0/host4/target4:0:0/4:0:0:0/block/sdb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-1/2-1.2/2-1.2:1.0/host4/target4:0:0/4:0:0:0/scsi_generic/sg2' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1/usb2 /2-0:1.0' (string) usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.1 /usb2/2-0:1.0' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0/usb1' (string) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00 /0000:00:02.0/usb1' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0/usb1 /1-0:1.0' (string) usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0 /usb1/1-0:1.0' (string) stefan@stefan:~/Desktop>
comment:10 Changed 14 years ago by michael
Just to be clear on this point, is usbfs currently mounted on your system? You can check this by doing
$ ls /proc/bus/usb
If usbfs is not mounted then that directory should be empty.
comment:11 Changed 14 years ago by stefan.becker
Yes, USBFS is mounted.
stefan@stefan:~> ls /proc/bus/usb 001 002 devices stefan@stefan:~> ls -l /proc/bus/usb insgesamt 0 dr-xr-xr-x 2 root root 0 31. Jul 2009 001 dr-xr-xr-x 2 root root 0 31. Jul 2009 002 -r--r--r-- 1 root root 0 31. Jul 14:09 devices
The Entry in /etc/fstab is with "#" in front.
comment:12 Changed 14 years ago by frank
So what happens if you unmount USBFS, does USB work or not?
comment:13 Changed 14 years ago by stefan.becker
Not possible is:
stefan:/home/stefan/Desktop # mount | grep usb stefan:/home/stefan/Desktop # umount usbfs umount: usbfs: Nicht gefunden
Possible is:
umount /proc/bus/usb
But USB in a Guest does not work after umount, too.
comment:14 Changed 14 years ago by michael
What do the following say if you execute them as the user using VBox? If appropriate, replace "001/001" by something that exists on your system.
$ test -r /dev/bus/usb/001/001 -a -w /dev/bus/usb/001/001 && echo yes
and
$ ls -l /dev/bus/usb/001/001
comment:15 Changed 14 years ago by stefan.becker
First command says nothing.
stefan@stefan:~/Desktop> test -r /dev/bus/usb/001/012 -a -w /dev /bus/usb/001/012 && echo yes stefan@stefan:~/Desktop> ls -l /dev/bus/usb/001/012crw-r--r-- 1 root vboxusers 189, 11 31. Jul 19:17 /dev/bus/usb/001/012
comment:16 Changed 14 years ago by stefan.becker
Additions:
Added User "root" to group "vboxusers".
Changed permissions in "10-vboxdrv.rules" from 0664 to 0666.
Output is the same as above, it does not help.
comment:17 Changed 14 years ago by michael
Adding root to the group should not make a difference, as root has all permissions anyway. I assume that some udev rule is changing the permissions after our rule does, as 'ls' showed the permissions 0644.
comment:18 Changed 14 years ago by stefan.becker
Im not an UDEV professionial :)
Please ask, if you need further infos from my system.
comment:19 Changed 14 years ago by stefan.becker
Last try today.
Changed the file "/lib/udev/rules.d/50-udev-default.rules" as posted in this thread: http://forums.virtualbox.org/viewtopic.php?f=7&t=19381&p=83833&hilit=opensuse+usbfs#p83833
No the above commands:
stefan@stefan:/dev/bus/usb/002> test -r /dev/bus/usb/002/010 -a -w /dev /bus/usb/002/010 && echo yes yes stefan@stefan:/dev/bus/usb/002> ls -l /dev/bus/usb/002/010 crw-rw-r-- 1 root vboxusers 189, 137 31. Jul 21:13 /dev/bus/usb/002/010
But it does not work at all.
comment:20 Changed 14 years ago by stefan.becker
No change with Version 3.04.
comment:21 Changed 14 years ago by psycodavid
I think the problem is
comment:22 Changed 14 years ago by psycodavid
I think the problem is /etc/init.d/pcscd. The start script mount usbfs, I had the same problem and I solved it adding a line at the end of pcscd start script umounting /proc/bus/usb. Now usb is working. Try it!
comment:23 Changed 14 years ago by stefan.becker
That is the problem.
But your solution with unmount doesnt work.
Instead of this i googled for tips and fount the following, working. Instead of umount at the end i changed the "Mount usbfs" command to
"mount -n -t usbfs -o busgid=1000,busmode=0775,devgid=1000,devmode=0664 usbfs /proc/bus/usb >/dev/null 2>&1"
comment:24 Changed 14 years ago by psycodavid
This night I tried to erase that line. I think that is obsolete with openSUSE udev system (see /etc/udev/rules.d). Again it works (VirtualBox 3.0.6)... With your working solution I suppose you mount usbfs with "right" permissions for vbox. That's a good hint!
comment:25 Changed 14 years ago by stefan.becker
On a second machine with Ubuntu i checked /etc/init.d/pcscd, it contains no line with USBFS.
On this machine VBOX / USB works properly. I will check your solution with homebanking cardreader on the Suse Host later this day. Lets see the result.
comment:26 Changed 14 years ago by stefan.becker
Hey, deleting the mount command doesnt not work with VBOX.
My USB card reader for homebanking works without the line properly. But VBOX does not. All devices are disabled.
Will check /etc for another USBFS line.
With the changed mount command it works. i thin, pcscd is the first command, then the unknown, third is VBOX.
comment:27 Changed 14 years ago by stefan.becker
I think i found the other line. In /etc/init.d/kbd is another USBFS mount.
Will have a look if this must be. See later.
comment:28 Changed 14 years ago by stefan.becker
I mounted in the kbd file with the above command, i checked umount after that.
Both approaches doent work. So only solution for me is
1) OpenSuse 11.1 / modification in pcscd file 2) Waiting for OpenSuse 11.2 :)
comment:29 Changed 14 years ago by psycodavid
Yes, you have an usb keyboard... and I don't know if /lib/udev/rules.d/60-persistent-input.rules works without /proc/bus/usb mounted. I'm not expert enough! :)
comment:30 Changed 14 years ago by stefan.becker
I think the base problem is UBSFS.
Since using USBFS there ever will be Problems like this in other distros/drivers/system.
Best approach is USB Access via libusb. I think this is the VMWARE Way in the new product line. And this works always properly.
Anyway. I can live with actual version by replacing the mount command in pcscd or fstab.
comment:31 Changed 14 years ago by frank
libusb is not sufficient because the interface is missing important functions.
Apparently the access through /dev/bus/usb is problematic mostly on openSUSE systems. We have to try to reproduce these issue there as we have many positive feedback on other Linux distributions.
comment:32 Changed 14 years ago by frank
The problem on OpenSUSE is that /lib/udev/rules.d/50-udev-default.rules overrides any USB rule of VBox. To fix this you should rename /etc/udev/rules.d/10-vboxdrv.rules to /etc/udev/rules.d/51-vboxdrv.rules. Then unplug + replug a USB device and try to access it from VBox.
comment:33 Changed 14 years ago by stefan.becker
The perfect Solution. After renaming the file and reboot its possible to mount USB devices in the guest.
comment:34 Changed 14 years ago by stefan.becker
Short time before i read in a thread in a suse forum, that with 11.2 there will be other access rights for the default rules.
SO i think its better not to investigate more time at the moment. This solution is working and should be added to the forum faq.
comment:35 Changed 13 years ago by stefan.becker
Has there something changed in Version 3.08?
It doesnt work like before. The Solution "renaming the vbox-rule (10=>51) works.
comment:36 Changed 13 years ago by michael
Didn't quite get you there - you mean it was working and no longer does, or it didn't work and still doesn't? By the way, I think that the proper solution to this problem, once I get round to it, will involve talking to the distributions to find a solution that works for them and for us. If you have time though before I do, feel free to poke the SUSE people about this :)
comment:37 Changed 13 years ago by michael
- Version changed from VirtualBox 2.1.4 to VirtualBox 3.0.8
Ah yes, I realise what the problem is - we switched the default from USBFS to sysfs in 3.0.8. You can revert this by starting VirtualBox with the environment variable "VBOX_USB=USBFS" set.
comment:38 Changed 13 years ago by stefan.becker
Nope, that does not help.
I mean: After installing USB does not work. After renaming the vbox-udev-rule (10->51) it works.
But as i said: I will wait for Suse 11.2. Its not a important function for me.
comment:39 Changed 13 years ago by clauz
I have a problem with Debian Linux host and USB on 3.0.8. It used to work fine with 3.0.6 and /proc/bus/usb, but after upgrade to 3.0.8 USB stopped working completely.
3.0.6:
menek:~# VBoxManage list usbhost VirtualBox Command Line Management Interface Version 3.0.6 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. Host USB Devices: UUID: 42276cf4-2963-428b-86e6-61cae65d9d34 VendorId: 0x0a5c (0A5C) ProductId: 0x200a (200A) Revision: 0.4 (0004) Manufacturer: Broadcom Product: BCM92035DGROM SerialNumber: 000B0D640D24 Address: /proc/bus/usb/003/002 Current State: Busy
3.0.8:
menek:~# VBoxManage list usbhost VirtualBox Command Line Management Interface Version 3.0.8 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. Host USB Devices: <none>
comment:40 Changed 13 years ago by michael
Can you check in the output of lshal for blocks containing the line "info.subsystem = 'usb_device' (string)" or similar and post them here? By the way, you can restore the old behaviour by starting VirtualBox with the environment variable "VBOX_USB=usbfs" set, but I would still like to find out what is wrong in the new behaviour.
comment:41 Changed 13 years ago by clauz
udi = '/org/freedesktop/Hal/devices/usb_device_0_0 _0000_00_1d_7' info.linux.driver = 'usb' (string) info.parent = '/org/freedesktop/Hal/devices/pci_8086 _27cc' (string) info.product = 'EHCI Host Controller' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device _0_0_0000_00_1d_7' (string) info.vendor = 'Linux 2.6.18 ehci_hcd' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7 /usb5' (string) usb_device.bus_number = 5 (0x5) (int) usb_device.can_wake_up = true (bool) usb_device.configuration_value = 1 (0x1) (int) usb_device.device_class = 9 (0x9) (int) usb_device.device_protocol = 1 (0x1) (int) usb_device.device_revision_bcd = 518 (0x206) (int) usb_device.device_subclass = 0 (0x0) (int) usb_device.is_self_powered = true (bool) usb_device.linux.device_number = 1 (0x1) (int) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00 /0000:00:1d.7/usb5' (string) usb_device.max_power = 0 (0x0) (int) usb_device.num_configurations = 1 (0x1) (int) usb_device.num_interfaces = 1 (0x1) (int) usb_device.num_ports = 8 (0x8) (int) usb_device.product = 'EHCI Host Controller' (string) usb_device.product_id = 0 (0x0) (int) usb_device.serial = '0000:00:1d.7' (string) usb_device.speed = 480.0 (480) (double) usb_device.vendor = 'Linux 2.6.18 ehci_hcd' (string) usb_device.vendor_id = 0 (0x0) (int) usb_device.version = 2.0 (2) (double) udi = '/org/freedesktop/Hal/devices/usb_device_0_0 _0000_00_1d_7_usbraw' info.capabilities = {'usbraw'} (string list) info.category = 'usbraw' (string) info.parent = '/org/freedesktop/Hal/devices/usb _device_0_0_0000_00_1d_7' (string) info.product = 'USB Raw Device Access' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000_00_1d_7_usbraw' (string) linux.device_file = '/dev/bus/usb/005/001' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb_device' (string) linux.sysfs_path = '/sys/class/usb_device/usbdev5.1' (string) usbraw.device = '/dev/bus/usb/005/001' (string) udi = '/org/freedesktop/Hal/devices/usb_device_0_0 _0000_00_1d_7_if0' info.linux.driver = 'hub' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device _0_0_0000_00_1d_7' (string) info.product = 'USB Hub Interface' (string) info.subsystem = 'usb' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device _0_0_0000_00_1d_7_if0' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.7 /usb5/5-0:1.0' (string) usb.bus_number = 5 (0x5) (int) usb.can_wake_up = true (bool) usb.configuration_value = 1 (0x1) (int) usb.device_class = 9 (0x9) (int) usb.device_protocol = 1 (0x1) (int) usb.device_revision_bcd = 518 (0x206) (int) usb.device_subclass = 0 (0x0) (int) usb.interface.class = 9 (0x9) (int) usb.interface.number = 0 (0x0) (int) usb.interface.protocol = 0 (0x0) (int) usb.interface.subclass = 0 (0x0) (int) usb.is_self_powered = true (bool) usb.linux.device_number = 1 (0x1) (int) usb.linux.sysfs_path = '/sys/devices/pci0000:00 /0000:00:1d.7/usb5/5-0:1.0' (string) usb.max_power = 0 (0x0) (int) usb.num_configurations = 1 (0x1) (int) usb.num_interfaces = 1 (0x1) (int) usb.num_ports = 8 (0x8) (int) usb.product = 'USB Hub Interface' (string) usb.product_id = 0 (0x0) (int) usb.serial = '0000:00:1d.7' (string) usb.speed = 480.0 (480) (double) usb.vendor = 'Linux 2.6.18 ehci_hcd' (string) usb.vendor_id = 0 (0x0) (int) usb.version = 2.0 (2) (double) udi = '/org/freedesktop/Hal/devices/usb_device_0_0 _0000_00_1d_3' info.linux.driver = 'usb' (string) info.parent = '/org/freedesktop/Hal/devices/pci_8086_27cb' (string) info.product = 'UHCI Host Controller' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device _0_0_0000_00_1d_3' (string) info.vendor = 'Linux 2.6.18 uhci_hcd' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.3 /usb4' (string) usb_device.bus_number = 4 (0x4) (int) usb_device.can_wake_up = true (bool) usb_device.configuration_value = 1 (0x1) (int) usb_device.device_class = 9 (0x9) (int) usb_device.device_protocol = 0 (0x0) (int) usb_device.device_revision_bcd = 518 (0x206) (int) usb_device.device_subclass = 0 (0x0) (int) usb_device.is_self_powered = true (bool) usb_device.linux.device_number = 1 (0x1) (int) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00 /0000:00:1d.3/usb4' (string) usb_device.max_power = 0 (0x0) (int) usb_device.num_configurations = 1 (0x1) (int) usb_device.num_interfaces = 1 (0x1) (int) usb_device.num_ports = 2 (0x2) (int) usb_device.product = 'UHCI Host Controller' (string) usb_device.product_id = 0 (0x0) (int) usb_device.serial = '0000:00:1d.3' (string) usb_device.speed = 12.0 (12) (double) usb_device.vendor = 'Linux 2.6.18 uhci_hcd' (string) usb_device.vendor_id = 0 (0x0) (int) usb_device.version = 1.1 (1.1) (double) udi = '/org/freedesktop/Hal/devices/usb_device_0_0 _0000_00_1d_3_usbraw' info.capabilities = {'usbraw'} (string list) info.category = 'usbraw' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device _0_0_0000_00_1d_3' (string) info.product = 'USB Raw Device Access' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000_00_1d_3_usbraw' (string) linux.device_file = '/dev/bus/usb/004/001' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb_device' (string) linux.sysfs_path = '/sys/class/usb_device/usbdev4.1' (string) usbraw.device = '/dev/bus/usb/004/001' (string) udi = '/org/freedesktop/Hal/devices/usb_device_0_0 _0000_00_1d_3_if0' info.linux.driver = 'hub' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device _0_0_0000_00_1d_3' (string) info.product = 'USB Hub Interface' (string) info.subsystem = 'usb' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device _0_0_0000_00_1d_3_if0' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.3 /usb4/4-0:1.0' (string) usb.bus_number = 4 (0x4) (int) usb.can_wake_up = true (bool) usb.configuration_value = 1 (0x1) (int) usb.device_class = 9 (0x9) (int) usb.device_protocol = 0 (0x0) (int) usb.device_revision_bcd = 518 (0x206) (int) usb.device_subclass = 0 (0x0) (int) usb.interface.class = 9 (0x9) (int) usb.interface.number = 0 (0x0) (int) usb.interface.protocol = 0 (0x0) (int) usb.interface.subclass = 0 (0x0) (int) usb.is_self_powered = true (bool) usb.linux.device_number = 1 (0x1) (int) usb.linux.sysfs_path = '/sys/devices/pci0000:00 /0000:00:1d.3/usb4/4-0:1.0' (string) usb.max_power = 0 (0x0) (int) usb.num_configurations = 1 (0x1) (int) usb.num_interfaces = 1 (0x1) (int) usb.num_ports = 2 (0x2) (int) usb.product = 'USB Hub Interface' (string) usb.product_id = 0 (0x0) (int) usb.serial = '0000:00:1d.3' (string) usb.speed = 12.0 (12) (double) usb.vendor = 'Linux 2.6.18 uhci_hcd' (string) usb.vendor_id = 0 (0x0) (int) usb.version = 1.1 (1.1) (double) udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000_00_1d_2' info.linux.driver = 'usb' (string) info.parent = '/org/freedesktop/Hal/devices/pci_8086_27ca' (string) info.product = 'UHCI Host Controller' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device _0_0_0000_00_1d_2' (string) info.vendor = 'Linux 2.6.18 uhci_hcd' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.2 /usb3' (string) usb_device.bus_number = 3 (0x3) (int) usb_device.can_wake_up = true (bool) usb_device.configuration_value = 1 (0x1) (int) usb_device.device_class = 9 (0x9) (int) usb_device.device_protocol = 0 (0x0) (int) usb_device.device_revision_bcd = 518 (0x206) (int) usb_device.device_subclass = 0 (0x0) (int) usb_device.is_self_powered = true (bool) usb_device.linux.device_number = 1 (0x1) (int) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00 /0000:00:1d.2/usb3' (string) usb_device.max_power = 0 (0x0) (int) usb_device.num_configurations = 1 (0x1) (int) usb_device.num_interfaces = 1 (0x1) (int) usb_device.num_ports = 2 (0x2) (int) usb_device.product = 'UHCI Host Controller' (string) usb_device.product_id = 0 (0x0) (int) usb_device.serial = '0000:00:1d.2' (string) usb_device.speed = 12.0 (12) (double) usb_device.vendor = 'Linux 2.6.18 uhci_hcd' (string) usb_device.vendor_id = 0 (0x0) (int) usb_device.version = 1.1 (1.1) (double) udi = '/org/freedesktop/Hal/devices/usb_device_0_0 _0000_00_1d_2_usbraw' info.capabilities = {'usbraw'} (string list) info.category = 'usbraw' (string) info.parent = '/org/freedesktop/Hal/devices/usb _device_0_0_0000_00_1d_2' (string) info.product = 'USB Raw Device Access' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000_00_1d_2_usbraw' (string) linux.device_file = '/dev/bus/usb/003/001' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb_device' (string) linux.sysfs_path = '/sys/class/usb_device/usbdev3.1' (string) usbraw.device = '/dev/bus/usb/003/001' (string) udi = '/org/freedesktop/Hal/devices/usb_device_a5c _200a_000B0D640D24' info.linux.driver = 'usb' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device _0_0_0000_00_1d_2' (string) info.product = 'Bluetooth dongle' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device _a5c_200a_000B0D640D24' (string) info.vendor = 'Broadcom Corp.' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.2 /usb3/3-2' (string) usb_device.bus_number = 3 (0x3) (int) usb_device.can_wake_up = true (bool) usb_device.configuration_value = 1 (0x1) (int) usb_device.device_class = 224 (0xe0) (int) usb_device.device_protocol = 1 (0x1) (int) usb_device.device_revision_bcd = 4 (0x4) (int) usb_device.device_subclass = 1 (0x1) (int) usb_device.is_self_powered = false (bool) usb_device.linux.device_number = 2 (0x2) (int) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00 /0000:00:1d.2/usb3/3-2' (string) usb_device.max_power = 100 (0x64) (int) usb_device.num_configurations = 1 (0x1) (int) usb_device.num_interfaces = 3 (0x3) (int) usb_device.num_ports = 0 (0x0) (int) usb_device.product = 'Bluetooth dongle' (string) usb_device.product_id = 8202 (0x200a) (int) usb_device.serial = '000B0D640D24' (string) usb_device.speed = 12.0 (12) (double) usb_device.vendor = 'Broadcom Corp.' (string) usb_device.vendor_id = 2652 (0xa5c) (int) usb_device.version = 1.1 (1.1) (double) udi = '/org/freedesktop/Hal/devices/usb_device_a5c _200a_000B0D640D24_usbraw' info.capabilities = {'usbraw'} (string list) info.category = 'usbraw' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_a5c_200a_000B0D640D24' (string) info.product = 'USB Raw Device Access' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_a5c_200a_000B0D640D24_usbraw' (string) linux.device_file = '/dev/bus/usb/003/002' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb_device' (string) linux.sysfs_path = '/sys/class/usb_device/usbdev3.2' (string) usbraw.device = '/dev/bus/usb/003/002' (string) udi = '/org/freedesktop/Hal/devices/usb_device_a5c _200a_000B0D640D24_if2' info.parent = '/org/freedesktop/Hal/devices/usb_device_a5c_200a_000B0D640D24' (string) info.product = 'USB Vendor Specific Interface' (string) info.subsystem = 'usb' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_a5c_200a_000B0D640D24_if2' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.2 /usb3/3-2/3-2:1.2' (string) usb.bus_number = 3 (0x3) (int) usb.can_wake_up = true (bool) usb.configuration_value = 1 (0x1) (int) usb.device_class = 224 (0xe0) (int) usb.device_protocol = 1 (0x1) (int) usb.device_revision_bcd = 4 (0x4) (int) usb.device_subclass = 1 (0x1) (int) usb.interface.class = 255 (0xff) (int) usb.interface.number = 2 (0x2) (int) usb.interface.protocol = 255 (0xff) (int) usb.interface.subclass = 255 (0xff) (int) usb.is_self_powered = false (bool) usb.linux.device_number = 2 (0x2) (int) usb.linux.sysfs_path = '/sys/devices/pci0000:00 /0000:00:1d.2/usb3/3-2/3-2:1.2' (string) usb.max_power = 100 (0x64) (int) usb.num_configurations = 1 (0x1) (int) usb.num_interfaces = 3 (0x3) (int) usb.num_ports = 0 (0x0) (int) usb.product = 'USB Vendor Specific Interface' (string) usb.product_id = 8202 (0x200a) (int) usb.serial = '000B0D640D24' (string) usb.speed = 12.0 (12) (double) usb.vendor = 'Broadcom Corp.' (string) usb.vendor_id = 2652 (0xa5c) (int) usb.version = 1.1 (1.1) (double) udi = '/org/freedesktop/Hal/devices/usb_device_a5c _200a_000B0D640D24_if1' info.linux.driver = 'hci_usb' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_a5c_200a_000B0D640D24' (string) info.product = 'USB Wireless Interface' (string) info.subsystem = 'usb' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_a5c_200a_000B0D640D24_if1' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.2 /usb3/3-2/3-2:1.1' (string) usb.bus_number = 3 (0x3) (int) usb.can_wake_up = true (bool) usb.configuration_value = 1 (0x1) (int) usb.device_class = 224 (0xe0) (int) usb.device_protocol = 1 (0x1) (int) usb.device_revision_bcd = 4 (0x4) (int) usb.device_subclass = 1 (0x1) (int) usb.interface.class = 224 (0xe0) (int) usb.interface.number = 1 (0x1) (int) usb.interface.protocol = 1 (0x1) (int) usb.interface.subclass = 1 (0x1) (int) usb.is_self_powered = false (bool) usb.linux.device_number = 2 (0x2) (int) usb.linux.sysfs_path = '/sys/devices/pci0000:00 /0000:00:1d.2/usb3/3-2/3-2:1.1' (string) usb.max_power = 100 (0x64) (int) usb.num_configurations = 1 (0x1) (int) usb.num_interfaces = 3 (0x3) (int) usb.num_ports = 0 (0x0) (int) usb.product = 'USB Wireless Interface' (string) usb.product_id = 8202 (0x200a) (int) usb.serial = '000B0D640D24' (string) usb.speed = 12.0 (12) (double) usb.vendor = 'Broadcom Corp.' (string) usb.vendor_id = 2652 (0xa5c) (int) usb.version = 1.1 (1.1) (double) udi = '/org/freedesktop/Hal/devices/usb_device_a5c_200a _000B0D640D24_if0' info.linux.driver = 'hci_usb' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_a5c_200a_000B0D640D24' (string) info.product = 'USB Wireless Interface' (string) info.subsystem = 'usb' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_a5c_200a_000B0D640D24_if0' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.2 /usb3/3-2/3-2:1.0' (string) usb.bus_number = 3 (0x3) (int) usb.can_wake_up = true (bool) usb.configuration_value = 1 (0x1) (int) usb.device_class = 224 (0xe0) (int) usb.device_protocol = 1 (0x1) (int) usb.device_revision_bcd = 4 (0x4) (int) usb.device_subclass = 1 (0x1) (int) usb.interface.class = 224 (0xe0) (int) usb.interface.number = 0 (0x0) (int) usb.interface.protocol = 1 (0x1) (int) usb.interface.subclass = 1 (0x1) (int) usb.is_self_powered = false (bool) usb.linux.device_number = 2 (0x2) (int) usb.linux.sysfs_path = '/sys/devices/pci0000:00 /0000:00:1d.2/usb3/3-2/3-2:1.0' (string) usb.max_power = 100 (0x64) (int) usb.num_configurations = 1 (0x1) (int) usb.num_interfaces = 3 (0x3) (int) usb.num_ports = 0 (0x0) (int) usb.product = 'USB Wireless Interface' (string) usb.product_id = 8202 (0x200a) (int) usb.serial = '000B0D640D24' (string) usb.speed = 12.0 (12) (double) usb.vendor = 'Broadcom Corp.' (string) usb.vendor_id = 2652 (0xa5c) (int) usb.version = 1.1 (1.1) (double) udi = '/org/freedesktop/Hal/devices/usb_device_a5c_200a _000B0D640D24_if0_bluetooth_hci_0' bluetooth_hci.address = 0 (0x0) (uint64) bluetooth_hci.originating_device = '/org/freedesktop/Hal/devices /usb_device_a5c_200a_000B0D640D24_if0' (string) info.capabilities = {'bluetooth_hci'} (string list) info.category = 'bluetooth_hci' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_a5c_200a_000B0D640D24_if0' (string) info.product = 'Bluetooth Host Controller Interface' (string) info.subsystem = 'bluetooth' (string) info.udi = '/org/freedesktop/Hal/devices /usb_device_a5c_200a_000B0D640D24_if0_bluetooth_hci_0' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'bluetooth' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.2 /usb3/3-2/3-2:1.0/hci0' (string) udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000_00 _1d_2_if0' info.linux.driver = 'hub' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_0_0 _0000_00_1d_2' (string) info.product = 'USB Hub Interface' (string) info.subsystem = 'usb' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000 _00_1d_2_if0' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.2 /usb3/3-0:1.0' (string) usb.bus_number = 3 (0x3) (int) usb.can_wake_up = true (bool) usb.configuration_value = 1 (0x1) (int) usb.device_class = 9 (0x9) (int) usb.device_protocol = 0 (0x0) (int) usb.device_revision_bcd = 518 (0x206) (int) usb.device_subclass = 0 (0x0) (int) usb.interface.class = 9 (0x9) (int) usb.interface.number = 0 (0x0) (int) usb.interface.protocol = 0 (0x0) (int) usb.interface.subclass = 0 (0x0) (int) usb.is_self_powered = true (bool) usb.linux.device_number = 1 (0x1) (int) usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.2 /usb3/3-0:1.0' (string) usb.max_power = 0 (0x0) (int) usb.num_configurations = 1 (0x1) (int) usb.num_interfaces = 1 (0x1) (int) usb.num_ports = 2 (0x2) (int) usb.product = 'USB Hub Interface' (string) usb.product_id = 0 (0x0) (int) usb.serial = '0000:00:1d.2' (string) usb.speed = 12.0 (12) (double) usb.vendor = 'Linux 2.6.18 uhci_hcd' (string) usb.vendor_id = 0 (0x0) (int) usb.version = 1.1 (1.1) (double) udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000_00_1d_1' info.linux.driver = 'usb' (string) info.parent = '/org/freedesktop/Hal/devices/pci_8086_27c9' (string) info.product = 'UHCI Host Controller' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device _0_0_0000_00_1d_1' (string) info.vendor = 'Linux 2.6.18 uhci_hcd' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.1 /usb2' (string) usb_device.bus_number = 2 (0x2) (int) usb_device.can_wake_up = true (bool) usb_device.configuration_value = 1 (0x1) (int) usb_device.device_class = 9 (0x9) (int) usb_device.device_protocol = 0 (0x0) (int) usb_device.device_revision_bcd = 518 (0x206) (int) usb_device.device_subclass = 0 (0x0) (int) usb_device.is_self_powered = true (bool) usb_device.linux.device_number = 1 (0x1) (int) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00 /0000:00:1d.1/usb2' (string) usb_device.max_power = 0 (0x0) (int) usb_device.num_configurations = 1 (0x1) (int) usb_device.num_interfaces = 1 (0x1) (int) usb_device.num_ports = 2 (0x2) (int) usb_device.product = 'UHCI Host Controller' (string) usb_device.product_id = 0 (0x0) (int) usb_device.serial = '0000:00:1d.1' (string) usb_device.speed = 12.0 (12) (double) usb_device.vendor = 'Linux 2.6.18 uhci_hcd' (string) usb_device.vendor_id = 0 (0x0) (int) usb_device.version = 1.1 (1.1) (double) udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000 _00_1d_1_usbraw' info.capabilities = {'usbraw'} (string list) info.category = 'usbraw' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device _0_0_0000_00_1d_1' (string) info.product = 'USB Raw Device Access' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000_00_1d_1_usbraw' (string) linux.device_file = '/dev/bus/usb/002/001' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb_device' (string) linux.sysfs_path = '/sys/class/usb_device/usbdev2.1' (string) usbraw.device = '/dev/bus/usb/002/001' (string) udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000 _00_1d_1_if0' info.linux.driver = 'hub' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device _0_0_0000_00_1d_1' (string) info.product = 'USB Hub Interface' (string) info.subsystem = 'usb' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_0_0 _0000_00_1d_1_if0' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.1 /usb2/2-0:1.0' (string) usb.bus_number = 2 (0x2) (int) usb.can_wake_up = true (bool) usb.configuration_value = 1 (0x1) (int) usb.device_class = 9 (0x9) (int) usb.device_protocol = 0 (0x0) (int) usb.device_revision_bcd = 518 (0x206) (int) usb.device_subclass = 0 (0x0) (int) usb.interface.class = 9 (0x9) (int) usb.interface.number = 0 (0x0) (int) usb.interface.protocol = 0 (0x0) (int) usb.interface.subclass = 0 (0x0) (int) usb.is_self_powered = true (bool) usb.linux.device_number = 1 (0x1) (int) usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.1 /usb2/2-0:1.0' (string) usb.max_power = 0 (0x0) (int) usb.num_configurations = 1 (0x1) (int) usb.num_interfaces = 1 (0x1) (int) usb.num_ports = 2 (0x2) (int) usb.product = 'USB Hub Interface' (string) usb.product_id = 0 (0x0) (int) usb.serial = '0000:00:1d.1' (string) usb.speed = 12.0 (12) (double) usb.vendor = 'Linux 2.6.18 uhci_hcd' (string) usb.vendor_id = 0 (0x0) (int) usb.version = 1.1 (1.1) (double) udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000 _00_1d_0' info.linux.driver = 'usb' (string) info.parent = '/org/freedesktop/Hal/devices/pci_8086_27c8' (string) info.product = 'UHCI Host Controller' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_0 _0_0000_00_1d_0' (string) info.vendor = 'Linux 2.6.18 uhci_hcd' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0 /usb1' (string) usb_device.bus_number = 1 (0x1) (int) usb_device.can_wake_up = true (bool) usb_device.configuration_value = 1 (0x1) (int) usb_device.device_class = 9 (0x9) (int) usb_device.device_protocol = 0 (0x0) (int) usb_device.device_revision_bcd = 518 (0x206) (int) usb_device.device_subclass = 0 (0x0) (int) usb_device.is_self_powered = true (bool) usb_device.linux.device_number = 1 (0x1) (int) usb_device.linux.sysfs_path = '/sys/devices/pci0000:00 /0000:00:1d.0/usb1' (string) usb_device.max_power = 0 (0x0) (int) usb_device.num_configurations = 1 (0x1) (int) usb_device.num_interfaces = 1 (0x1) (int) usb_device.num_ports = 2 (0x2) (int) usb_device.product = 'UHCI Host Controller' (string) usb_device.product_id = 0 (0x0) (int) usb_device.serial = '0000:00:1d.0' (string) usb_device.speed = 12.0 (12) (double) usb_device.vendor = 'Linux 2.6.18 uhci_hcd' (string) usb_device.vendor_id = 0 (0x0) (int) usb_device.version = 1.1 (1.1) (double) udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000 _00_1d_0_usbraw' info.capabilities = {'usbraw'} (string list) info.category = 'usbraw' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device _0_0_0000_00_1d_0' (string) info.product = 'USB Raw Device Access' (string) info.subsystem = 'usb_device' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000_00_1d_0_usbraw' (string) linux.device_file = '/dev/bus/usb/001/001' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb_device' (string) linux.sysfs_path = '/sys/class/usb_device/usbdev1.1' (string) usbraw.device = '/dev/bus/usb/001/001' (string) udi = '/org/freedesktop/Hal/devices/usb_device_0_0_0000 _00_1d_0_if0' info.linux.driver = 'hub' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device _0_0_0000_00_1d_0' (string) info.product = 'USB Hub Interface' (string) info.subsystem = 'usb' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_0 _0_0000_00_1d_0_if0' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'usb' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0 /usb1/1-0:1.0' (string) usb.bus_number = 1 (0x1) (int) usb.can_wake_up = true (bool) usb.configuration_value = 1 (0x1) (int) usb.device_class = 9 (0x9) (int) usb.device_protocol = 0 (0x0) (int) usb.device_revision_bcd = 518 (0x206) (int) usb.device_subclass = 0 (0x0) (int) usb.interface.class = 9 (0x9) (int) usb.interface.number = 0 (0x0) (int) usb.interface.protocol = 0 (0x0) (int) usb.interface.subclass = 0 (0x0) (int) usb.is_self_powered = true (bool) usb.linux.device_number = 1 (0x1) (int) usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0 /usb1/1-0:1.0' (string) usb.max_power = 0 (0x0) (int) usb.num_configurations = 1 (0x1) (int) usb.num_interfaces = 1 (0x1) (int) usb.num_ports = 2 (0x2) (int) usb.product = 'USB Hub Interface' (string) usb.product_id = 0 (0x0) (int) usb.serial = '0000:00:1d.0' (string) usb.speed = 12.0 (12) (double) usb.vendor = 'Linux 2.6.18 uhci_hcd' (string) usb.vendor_id = 0 (0x0) (int) usb.version = 1.1 (1.1) (double)
comment:42 Changed 13 years ago by rzaks
One more way to fix the problem, assuming that you disabled usbfs in /etc/fstab:
Edit /etc/udev/rules.d/10-vboxdrv.rules
Change this line:
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE="0664"
to this:
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="VirtualBox/$env{BUSNUM} /$env{DEVNUM}", GROUP="vboxusers", MODE="0664"
comment:43 Changed 13 years ago by clauz
The solution with /etc/udev/rules.d/10-vboxdrv.rules does not work. VBOX_USB=usbfs helps.
comment:44 Changed 13 years ago by stefan.becker
Waiting for Suse 11.2 seems to be a good solution. First machine with Suse 11.2 RC 1 works without any tricks.
comment:45 Changed 13 years ago by schlomo
As I wrote in ticket #5249 the trick is to do a final assignment MODE:="0664" in /etc/udev/rules.d/10-vboxdrv.rules. This prevents the SUSE rules from changing the device file mode later on. Since Novell won't change 11.1 to fix the issue I suggest changing the VirtualBox packages for openSUSE 11.1 to include the change to better support 11.1 users. Here is again my comment from the other ticket:
Issue
USB devices are visible but greyed out (Status: Unavailable)
Cause
The files in /dev/bus/usb have no write permission for the vboxusers group because the mode is 644 and not 664.
In /etc/udev/rules.d/10-vboxdrv.rules there is a rule setting the MODE to 0644, but this is overridden by /lib/udev/rules.d/50-udev-default.rules which sets the MODE to 0644.
Solution
The solution is to write the rule in /etc/udev/rules.d/10-vboxdrv.rules like this: SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE:="0664"
Note the final assignment with := instead of =
Observed on openSUSE 11.1 i586
comment:46 Changed 13 years ago by robhancock
Grr, this is busted again in VirtualBox 3.1 on Fedora 12. All USB devices grayed out.
comment:47 Changed 13 years ago by michael
robhancock: did it work for you before on that system? Did you change anything other than updating VirtualBox?
comment:48 Changed 13 years ago by clauz
It worked fine in 3.0.6 as you can find in this thread. There is no newer version that would work. I have just upgraded, no reconfiguring, no tweaking, nothing. The only working solution for now is export VBOX_USB=usbfs.
comment:49 Changed 13 years ago by robhancock
Well, between upgrading to Fedora 12 and to VirtualBox 3.1. it got broken. I'm not sure how it would work actually - the USB device nodes are all owned by root, and there doesn't seem to be any udev rule being installed to allow vboxusers group to access them..
comment:50 Changed 13 years ago by michael
Don't you have /etc/udev/rules.d/10-vboxdrv.rules ?
comment:51 Changed 13 years ago by robhancock
No I don't. What is supposed to create that file? It doesn't look like it's part of the RPM..
comment:52 Changed 13 years ago by clauz
Neither with 10-vboxdrv.rules nor without USB works.
comment:53 Changed 13 years ago by frank
Please check VBox 3.1.8. There were some USB-related changes mainly to support Ubuntu Lucid but it might make a difference in your case as well.
comment:54 Changed 13 years ago by frank
- Status changed from new to closed
- Resolution set to fixed
No response, closing.
comment:55 Changed 13 years ago by frodet
- Status changed from closed to reopened
- Resolution fixed deleted
I have the same symptoms: Grayed out USB devices.
This is on Ubuntu 10.04 (Lucid), x86, kernel 2.6.32-24-generic, VirtualBox 3.2.8.
I have no /etc/udev/rules.d/10-vboxdrv.rules and no /proc/bus/usb...
How can I resolve this?
comment:56 Changed 13 years ago by mbondfusion
Same issue exists here also:
Ubuntu 10.04.1 2.6.32-24-generic x86_64 VirtualBox 3.2.8 r64453
(Upgraded from 9.10, I have the /etc/udev/rules.d/10-vboxdrv.rules; however they are set to 0664) Have tried all of the above (VBOX_USB=usbfs, etc..) with still the same issue (USB unavailable)
comment:57 Changed 13 years ago by michael
mbondfusion: does renaming /etc/udev/rules.d/10-vboxdrv.rules to *50* and restarting fix the issue for you?
comment:58 Changed 13 years ago by kwrobel
I everybody. Had the same issue with Ubuntu 10.04 amd64 and Virtualbox 3.2.8 after a vanilla install and existing VM (Windows XP). michael suggested to rename the udev rule to *50*, but since I my rules.d folder already contained two rules starting with 70-, I opted to rename the vbox rules to 99-vboxdrv.rules. I rebooted the computer to be safe, and I am now able to use my USB devices again. Thanks michael for the suggestion.
comment:59 Changed 12 years ago by npaultz
Hi. In case it helps someone, I had the same problem with openSUSE 11.3 amd64 and VirtualBox 3.2.8. The system was upgraded from 11.2. Changing the rule to 50 worked even though there were entries with numbers above 50. Here's hoping for a fix so newbs like me don't have to jump through hoops :)
comment:60 Changed 12 years ago by gripp35
Had the same issue with Ubuntu 10.10 (32-bit) and Virtualbox 3.2.12. USB devices for Windows 7 and Mac OS X 10.6 Snow Leopard guests were showing as greyed out. I changed the vboxdrv.rules file to starting with 90- instead of 10-, rebooted and I can now successfully add a USB device to a running Windows 7 guest. Thanks!
comment:61 Changed 12 years ago by schlomo
Dear VirtualBox Maintainers!
Since users continue to report the same thing for every new version, could you please take a look at this and modify VirtualBox to run without manual hacking?
Thanks a lot!
comment:62 Changed 12 years ago by frank
I think this is not the task of a maintaincer but rather the task of the software developer. VirtuallBox 4.0 will contain a different approach accessing the USB devices nodes which we think works better but Michael will tell more about that (Beta 1 is available).
comment:63 Changed 12 years ago by michael
See http://www.virtualbox.org/ticket/7759#comment:5 for the details.
comment:64 follow-up: ↓ 65 Changed 11 years ago by Emerson Prado
I have this problem in VB 4.1.4 r74291, running Mint Debian as a host (repos set for Debian stable), with kernel 2.6.32-5-686 i686, and a win2k SP4 guest. https://forums.virtualbox.org/viewtopic.php?f=7&t=46424
I don't have any file named *vboxdrv.rules* in my system. My /lib/udev/rules.d/50-udev-default.rules has a line which reads:
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="bus/usb /$env{BUSNUM}/$env{DEVNUM}"
/proc/bus/usb is not mounted (/proc is, just in case...) and isn't in /etc/fstab. The device I'm trying to map is a Keyspan USB to serial adapter.
Here's some checkings:
lsusb | grep Keyspan Bus 003 Device 003: ID 06cd:0121 Keyspan USA-19hs serial adapter
(OK: bus 003, device 003)
ls -l /dev/bus/usb/003/003 crw-rw-r-- 1 root root 189, 258 Nov 30 15:50 003
(no execute permissions, no vboxusers permissions, no myself permissions)
ls -l /proc/bus dr-xr-xr-x 2 root root 0 Nov 30 16:40 usb
(no write permissions, no vboxusers permissions, no myself permissions)
My unsuccessful tries:
chgrp vboxusers /dev/bus/usb/003/003 chmod g+x /dev/bus/usb/003/003 chgrp -R vboxusers /proc/bus/usb chmod -R g+w /proc/bus/usb
(Yes, I am in vboxusers group)
Still, I can add a filter for this device in the VM USB settings, directly from "add from device" - but the device is grayed out in the VM window top menu and, in VM USB settings, it shows a "status: unavailable" warning. (Funny: sudo tail -f /var/log/messages show this device as "usb 3-1: Product: Keyspan USA-19H". Does this 3-1 conflict with the previous info from lsusb, or nevermind?)
Is this still happening to other users/systems? Is there a workaround for my case? I saw there were lots of attempts with /lib/udev/rules.d/50-udev-default.rules, but the actual solutions were different for each poster... Thanks!
comment:65 in reply to: ↑ 64 Changed 11 years ago by michael
Replying to Emerson Prado: I assume that you are using our Debian package, not one directly from Debian or Mint (if you are, please check with them first in case anything got changed, as the installer is one of the places that tends to happen). If you are using our package (could you tell us precisely which one?), try purging it and re-installing.
And I fixed the mark-up in your post. Note the "code block" button above the text area!
comment:66 follow-up: ↓ 67 Changed 11 years ago by Emerson Prado
Yes. I should have mentioned that, but you guessed right. I intalled the Debian package from VB.
The file is named virtualbox-4.1_4.1.2-73507~Debian~squeeze_i386.deb. Hope this fully identifies the package but, otherwise, just tell me what to look for.
I'll backup my VMs, purge VB and reinstall (will download the latest package just in case). Do you recommend deleting additional files or directories between purging and reinstalling?
Thanks!
comment:67 in reply to: ↑ 66 Changed 11 years ago by michael
Replying to Emerson Prado:
I'll backup my VMs, purge VB and reinstall (will download the latest package just in case). Do you recommend deleting additional files or directories between purging and reinstalling?
Purging and reinstalling the package should be fine. Your VMs should not be affected, and you certainly don't have to remove them.
comment:68 Changed 11 years ago by Emerson Prado
Did it. Now I got the latest VB from the .deb pkg from VB download page, with fresh config files.
I tried to open my VM settings, and got an error message saying VB couldn't access USB subsystem:
Código de Resultado: NS_ERROR_FAILURE (0x00004005) Componente: Host Interface: IHost {dab4a2b8-c735-4f08-94fc-9bec84182e2f} Chamador: IMachine {5eaa9319-62fc-4b0a-843c-0cb1940f8a91}
Went into settings, removed the USB filters and disabled USB routing. Then hit "OK", reopened settings and reenabled USB. Tried to add a filter from device, but no device was shown, even though "lsusb" shows my USB devices (the Keyspan adapter and a Dymo USB printer).
/proc/bus/usb is not mounted and I now have a /etc/udev/rules.d/10-vboxdrv.rules file. But it doesn't have a line starting with SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device". My /lib/udev/rules.d/50-udev-default.rules file doesn't set the mode for USB devices as happens with most here.
Anyway, I appended UBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE:="0664" to my /etc/udev/rules.d/10-vboxdrv.rules without success. Tried SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="VirtualBox/$env{BUSNUM}
/$env{DEVNUM}", GROUP="vboxusers", MODE="0664" too, without success either. Got the same error described above. Renamed /etc/udev/rules.d/10-vboxdrv.rules to 51-vboxdrv.rules, and the USB disappeared (no Keyspan line after lsusb). I disconnected and reconnected the device in each step. Renamed back to 10-*, now lsusb shows it again. But same error.
Well, I didn't get this error in VB 4.1.2, so I purged 4.1.6 and reinstalled 4.1.2 to be somewhat back to where I started. Nope. Still same error... Either purging 4.1.2 or installing 4.1.6 seems to have messed something related to USB. Sadly, I have no idea of what messed what. Editing 10-vboxdrv.rules as above didn't help either.
I don't think I purged earlier versions of VB before installing 4.1.2, so some config file or whatever left maybe made it half function until I purged it. I probably better purging 4.1.2 and installing an older build, just don't know which one...
comment:69 follow-up: ↓ 70 Changed 11 years ago by michael
What does /etc/udev/rules.d/10-vboxdrv.rules contain then? And what do
$ which udevadm $ which udevinfo $ udevadm version
say?
comment:70 in reply to: ↑ 69 Changed 11 years ago by Emerson Prado
Replying to michael:
What does /etc/udev/rules.d/10-vboxdrv.rules contain then?
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600" SUBSYSTEM=="usb_device", ACTION=="add", RUN+="/usr/share/virtualbox /VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}" SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}" SUBSYSTEM=="usb_device", ACTION=="remove", RUN+="/usr/share/virtualbox /VBoxCreateUSBNode.sh --remove $major $minor" SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN+="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
$ which udevadm /sbin/udevadm $ which udevinfo Nothing $ udevadm version 164
(All those ran as root, otherwise nothing done)
comment:71 follow-up: ↓ 72 Changed 11 years ago by michael
So far so good. What about the following (as user):
$ ls -lR /dev/vboxusb $ VBoxManage list usbhost
comment:72 in reply to: ↑ 71 Changed 11 years ago by Emerson Prado
Replying to michael:
So far so good. What about the following (as user):
$ ls -lR /dev/vboxusb Permission denied $ sudo su # /dev/vboxusb: total 0 drwxr-x--- 2 root vboxusers 60 Dez 1 10:29 002 drwxr-x--- 2 root vboxusers 60 Dez 1 11:37 003 /dev/vboxusb/002: total 0 crw-rw---- 1 root vboxusers 189, 129 Dez 1 10:29 002 /dev/vboxusb/003: total 0 crw-rw---- 1 root vboxusers 189, 263 Dez 1 11:37 008 # exit $ VBoxManage list usbhost Host USB Devices: <none>
"Permission denied" might be the problem, correct? But:
$ cd /dev $ ls -l ... drwxr-x--- 4 root vboxusers 80 Dez 1 10:29 vboxusb ...
/dev/vboxusb and everything inside have read permissions - directories have execute permissions too - for vboxusers, and I am in vboxusers group (triple checked just in case...).
I removed the Keyspan adapter and changed ownership of /dev/vboxusb and everything inside to myself (chown -R <me> vboxusb/). Ran VBoxManage list usbhost, and it showed the other device (the printer). Then I plugged the adapter back and ran VBoxManage list usbhost again, and it showed nothing, not even the printer. ls -lR again showed the ownerships went back to root again for /dev/vboxusb tree, except for the printer specific nodes.
Well, chowned again and got:
$ VBoxManage list usbhost Host USB Devices: UUID: 26d196b1-4fbb-4723-b29e-e2fb0d155716 VendorId: 0x06cd (06CD) ProductId: 0x0121 (0121) Revision: 1.0 (0100) Manufacturer: Keyspan, a division of InnoSys Inc. Product: Keyspan USA-19H Address: sysfs:/sys/devices/pci0000:00/0000:00:1d.1/usb3 /3-1//device:/dev/vboxusb/003/009 Current State: Available UUID: 8b638cf6-7cdc-4ad0-9ef5-1996c820af1c VendorId: 0x0922 (0922) ProductId: 0x0010 (0010) Revision: 1.0 (0100) Manufacturer: DYMO Product: DYMO LabelWriter 320 Address: sysfs:/sys/devices/pci0000:00/0000:00:1d.0/usb2 /2-2//device:/dev/vboxusb/002/002 Current State: Available
And the device was found in the guest OS (hardly working, but this is another issue).
So this is what I can see so far:
1.Devices change their ownership to root when connected. Maybe it's just how hotplug, udev or so is setup, and maybe it's just how it should be.
2.Even though /dev/vboxusb/ tree has read access to group vboxusers, and I am in this group, I can't access any directory or file there, and this causes the USB devices to be out of VB reach. This is strange.
3.Otherwise, the setup works (so I don't seem to have a hardware, driver, VB or OS serious issue).
comment:73 Changed 11 years ago by Emerson Prado
Ah, my bad, my too bad!
By purging VirtualBox, group vboxusers got removed. When I reinstalled VB, I added myself to vboxusers, but didn't log out and back in for this inclusion to take effect. I checked with "groups <me>", and I was always inside vboxusers but, when I entered "groups" without arguments, no vboxusers was shown...
Well, now I could list /dev/vboxusb/ and get a good answer from VBoxManage list usbhost. The USB device is shown in the VM as "captured" and the guest OS sees it.
Sorry by overlooking this...
comment:74 Changed 11 years ago by michael
- Status changed from reopened to closed
- Resolution set to fixed
Glad that's solved. I get the feeling something needs to be done to make this sort of thing easier for users to diagnose without assistance.
Visa 32 Busisness Guest Log