Bug 526729

Summary: USB host device listing not working
Product: [Fedora] Fedora Reporter: Daniel B <dani-rh>
Component: virt-managerAssignee: Cole Robinson <crobinso>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: berrange, crobinso, hbrock, jforbes, markmc, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-10-02 15:11:30 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Screeshot of the dropdown list of USB Devices
none
Output of for i in `virsh nodedev-list` ; do virsh nodedev-dumpxml $i; done on the host
none
virt-maanger.log none

Description Daniel B 2009-10-01 14:56:54 UTC
Created attachment 363350 [details]
Screeshot of the dropdown list of USB Devices

Description of problem:

If I use a local connection to libvirt, I can see USB devices, and
assign it to my guests without problem. But when I connect to a remote
libvirt (qemu+ssh://virt/system), I cannot. The dropdown list for USB
Device only contains "000:000 USB Raw Device Access" lines. (See the
attached screenshot)

Remote libvirt is 0.7.0 running on CentOS 5.3

Using virsh, I can see the devices I want to attach:

virsh -c qemu+ssh://virt/system nodedev-list --cap usb
Connecting to uri: qemu+ssh://virt/system
usb_device_0_0_0000_00_1a_0
usb_device_0_0_0000_00_1a_0_if0
usb_device_0_0_0000_00_1a_1
usb_device_0_0_0000_00_1a_1_if0
usb_device_0_0_0000_00_1a_2
usb_device_0_0_0000_00_1a_2_if0
usb_device_0_0_0000_00_1a_7
usb_device_0_0_0000_00_1a_7_if0
usb_device_0_0_0000_00_1d_0
usb_device_0_0_0000_00_1d_0_if0
usb_device_0_0_0000_00_1d_1
usb_device_0_0_0000_00_1d_1_if0
usb_device_0_0_0000_00_1d_2
usb_device_0_0_0000_00_1d_2_if0
usb_device_0_0_0000_00_1d_7
usb_device_0_0_0000_00_1d_7_if0
usb_device_13fe_1d23_07780BA646FD
usb_device_13fe_1d23_07780BA646FD_if0
usb_device_413c_2003_noserial
usb_device_413c_2003_noserial_if0
usb_device_46b_ff10_serial
usb_device_46b_ff10_serial_if0
usb_device_46b_ff10_serial_if1

(the device I want to attach is usb_device_13fe_1d23_07780BA646FD, it's
a kingston USB Key).

On the physical host, lsusb gives:

Bus 005 Device 001: ID 0000:0000  
Bus 005 Device 002: ID 046b:ff10 American Megatrends, Inc. 
Bus 004 Device 001: ID 0000:0000  
Bus 007 Device 001: ID 0000:0000  
Bus 006 Device 001: ID 0000:0000  
Bus 008 Device 001: ID 0000:0000  
Bus 002 Device 006: ID 13fe:1d23 Kingston Technology Company Inc. 
Bus 002 Device 001: ID 0000:0000  
Bus 001 Device 001: ID 0000:0000  
Bus 003 Device 001: ID 0000:0000  
Bus 003 Device 002: ID 413c:2003 Dell Computer Corp. Keyboard


Version-Release number of selected component (if applicable):
virt-manager 0.8.0
libvirt 0.7.0 (on CentOS)
qemu-kvm 0.10.6 (from lfarkas repo, on CentOS)

How reproducible:
Always

Steps to Reproduce:
1. Add hardware to a guest
2. Select Physical Host Device
3. Select USB
  
Actual results:
USB Devices not listed

Expected results:
USB Devices listed


Additional info:


If I manually create an XML file for this device, I can attach it to my
guest using virsh, but, it'd be much simpler with virt-manager ;)


PCI devices listing seems to work in virt-manager (I didn't try to pass
PCI devices, but at least I can see them in the drop down list of
virt-manger).

Comment 1 Daniel B 2009-10-01 14:57:52 UTC
Created attachment 363351 [details]
Output of for i in `virsh nodedev-list` ; do virsh nodedev-dumpxml $i; done on the host

Comment 2 Daniel B 2009-10-01 14:59:03 UTC
Created attachment 363352 [details]
virt-maanger.log

Looks like there's nothing interesting here, but I attach it as asked on the mailing-list

Comment 3 Mark McLoughlin 2009-10-02 15:11:30 UTC
Okay, I think this is pretty clearly a bug on the remote side:

<device>
  <name>usb_device_46b_ff10_serial_usbraw</name>
  <parent>usb_device_46b_ff10_serial</parent>
  <capability type='usb_device'>
    <bus>0</bus>
    <device>0</device>
    <product id='0x0000'>USB Raw Device Access</product>
    <vendor id='0x0000' />
  </capability>
</device>

Perhaps selinux is enabled and the CentOS 5.3 policy doesn't allow libvirt read from sysfs?

Whatever the issue is, I'm pretty certain it's not a Fedora 12 issue, so I'm closing as NOTABUG.

If the problem persists, it might be worth asking on libvir-list for help

Comment 4 Daniel B 2009-10-02 15:34:50 UTC
Thanks.

Selinux is in permissive mode on this host.

So it looks like a bug on libvirt's side (or CentOS ?).

I'll ask advices on libvirt-list

Regards