Opened 16 years ago
Closed 13 years ago
#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 (1)
Change History (75)
by , 16 years ago
comment:1 by , 16 years ago
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 by , 16 years ago
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:4 by , 15 years ago
Does this problem persists? We got many reports that the new method works as expected.
comment:5 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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:13 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
Im not an UDEV professionial :)
Please ask, if you need further infos from my system.
comment:19 by , 15 years ago
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:22 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
The perfect Solution. After renaming the file and reboot its possible to mount USB devices in the guest.
comment:34 by , 15 years ago
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 by , 15 years ago
Has there something changed in Version 3.08?
It doesnt work like before. The Solution "renaming the vbox-rule (10=>51) works.
comment:36 by , 15 years ago
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 by , 15 years ago
Version: | VirtualBox 2.1.4 → 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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
The solution with /etc/udev/rules.d/10-vboxdrv.rules does not work. VBOX_USB=usbfs helps.
comment:44 by , 15 years ago
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 by , 15 years ago
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 by , 15 years ago
Grr, this is busted again in VirtualBox 3.1 on Fedora 12. All USB devices grayed out.
comment:47 by , 15 years ago
robhancock: did it work for you before on that system? Did you change anything other than updating VirtualBox?
comment:48 by , 15 years ago
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 by , 15 years ago
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:51 by , 15 years ago
No I don't. What is supposed to create that file? It doesn't look like it's part of the RPM..
comment:53 by , 15 years ago
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:55 by , 14 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
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 by , 14 years ago
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 by , 14 years ago
mbondfusion: does renaming /etc/udev/rules.d/10-vboxdrv.rules to *50* and restarting fix the issue for you?
comment:58 by , 14 years ago
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 by , 14 years ago
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 by , 14 years ago
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 by , 14 years ago
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 by , 14 years ago
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).
follow-up: 65 comment:64 by , 13 years ago
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 by , 13 years ago
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!
follow-up: 67 comment:66 by , 13 years ago
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 by , 13 years ago
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 by , 13 years ago
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...
follow-up: 70 comment:69 by , 13 years ago
What does /etc/udev/rules.d/10-vboxdrv.rules contain then? And what do
$ which udevadm $ which udevinfo $ udevadm version
say?
comment:70 by , 13 years ago
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)
follow-up: 72 comment:71 by , 13 years ago
So far so good. What about the following (as user):
$ ls -lR /dev/vboxusb $ VBoxManage list usbhost
comment:72 by , 13 years ago
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 by , 13 years ago
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 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
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