Bug 1138887 - Descriptions missing in add hardware USB host device list
Summary: Descriptions missing in add hardware USB host device list
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: libvirt
Version: 20
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Libvirt Maintainers
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-09-06 01:14 UTC by Tom Horsley
Modified: 2014-11-13 18:17 UTC (History)
11 users (show)

Fixed In Version: libvirt-1.1.3.6-2.fc20
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-11-13 18:17:57 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Screen shot of add hardware dialog (106.95 KB, application/octet-stream)
2014-09-06 01:14 UTC, Tom Horsley
no flags Details

Description Tom Horsley 2014-09-06 01:14:36 UTC
Created attachment 934934 [details]
Screen shot of add hardware dialog

Description of problem:

Over in bug 1135488 I was asked to add this as a separate bug, so here it is.

The Add Hardware button for a USB host device pops up a dialog box to be used to select which device to add. Most devices have a description, but some do not even though lsusb does show a description. For example:

zooty> lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 003: ID 1058:1130 Western Digital Technologies, Inc. My Book Essential (WDBACW)
Bus 004 Device 004: ID 2109:0812  
Bus 004 Device 002: ID 2109:0812  
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 010: ID 047d:1020 Kensington Expert Mouse Trackball
Bus 003 Device 009: ID 046d:c318 Logitech, Inc. Illuminated Keyboard
Bus 003 Device 008: ID 2109:2812  
Bus 003 Device 005: ID 2109:2812  
Bus 003 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 003 Device 003: ID 2040:4902 Hauppauge HD PVR
Bus 003 Device 002: ID 0bc2:3008 Seagate RSS LLC FreeAgent Desk 1TB
Bus 003 Device 007: ID 04f9:0028 Brother Industries, Ltd Printer
Bus 003 Device 006: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 003 Device 017: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 003 Device 016: ID 2341:8036 Arduino SA Leonardo (CDC ACM, HID)
Bus 003 Device 015: ID 0424:2513 Standard Microsystems Corp. 2.0 Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The only thing in the popup for the Webcam is the string "003:017",
nothing about Logitech Webcam.

On the other hand, the popup does show the Arduino Leonardo description.

Version-Release number of selected component (if applicable):
libvirt-1.1.3.5-2.fc20.x86_64


How reproducible:
every time

Steps to Reproduce:
1.see above

Actual results:
no description

Expected results:
description

Additional info:
Here is the udevadm info for both devices mentioned above:

zooty> udevadm info /dev/bus/usb/003/017
P: /devices/pci0000:00/0000:00:14.0/usb3/3-12/3-12.2
N: bus/usb/003/017
E: BUSNUM=003
E: DEVNAME=/dev/bus/usb/003/017
E: DEVNUM=017
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-12/3-12.2
E: DEVTYPE=usb_device
E: DRIVER=usb
E: ID_BUS=usb
E: ID_MODEL=0825
E: ID_MODEL_ENC=0825
E: ID_MODEL_FROM_DATABASE=Webcam C270
E: ID_MODEL_ID=0825
E: ID_REVISION=0012
E: ID_SERIAL=046d_0825_E4A49F80
E: ID_SERIAL_SHORT=E4A49F80
E: ID_USB_INTERFACES=:0e0100:0e0200:010100:010200:
E: ID_VENDOR=046d
E: ID_VENDOR_ENC=046d
E: ID_VENDOR_FROM_DATABASE=Logitech, Inc.
E: ID_VENDOR_ID=046d
E: MAJOR=189
E: MINOR=272
E: PRODUCT=46d/825/12
E: SUBSYSTEM=usb
E: TYPE=239/2/1
E: UPOWER_VENDOR=Logitech, Inc.
E: USEC_INITIALIZED=494639482

zooty> udevadm info /dev/bus/usb/003/016
P: /devices/pci0000:00/0000:00:14.0/usb3/3-12/3-12.1
N: bus/usb/003/016
E: BUSNUM=003
E: DEVNAME=/dev/bus/usb/003/016
E: DEVNUM=016
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-12/3-12.1
E: DEVTYPE=usb_device
E: DRIVER=usb
E: ID_BUS=usb
E: ID_MM_DEVICE_IGNORE=1
E: ID_MODEL=Arduino_Leonardo
E: ID_MODEL_ENC=Arduino\x20Leonardo
E: ID_MODEL_FROM_DATABASE=Leonardo (CDC ACM, HID)
E: ID_MODEL_ID=8036
E: ID_REVISION=0100
E: ID_SERIAL=Arduino_LLC_Arduino_Leonardo
E: ID_USB_INTERFACES=:020200:0a0000:030000:
E: ID_VENDOR=Arduino_LLC
E: ID_VENDOR_ENC=Arduino\x20LLC
E: ID_VENDOR_FROM_DATABASE=Arduino SA
E: ID_VENDOR_ID=2341
E: MAJOR=189
E: MINOR=271
E: PRODUCT=2341/8036/100
E: SUBSYSTEM=usb
E: TYPE=0/0/0
E: USEC_INITIALIZED=494260894

Here is the virsh nodedev-dumpxml for the same devices:

<device>
  <name>usb_3_12_2</name>
  <path>/sys/devices/pci0000:00/0000:00:14.0/usb3/3-12/3-12.2</path>
  <parent>usb_3_12</parent>
  <driver>
    <name>usb</name>
  </driver>
  <capability type='usb_device'>
    <bus>3</bus>
    <device>17</device>
    <product id='0x0825' />
    <vendor id='0x046d' />
  </capability>
</device>

<device>
  <name>usb_3_12_1</name>
  <path>/sys/devices/pci0000:00/0000:00:14.0/usb3/3-12/3-12.1</path>
  <parent>usb_3_12</parent>
  <driver>
    <name>usb</name>
  </driver>
  <capability type='usb_device'>
    <bus>3</bus>
    <device>16</device>
    <product id='0x8036'>Arduino Leonardo</product>
    <vendor id='0x2341'>Arduino LLC</vendor>
  </capability>
</device>

I tend to suspect the lack of ID_MODEL_ENC and ID_VENDOR_ENC for the webcam is the problem. The code should probably fallback to the FROM_DATABASE attributes if the ENC ones aren't there.

Comment 1 Tom Horsley 2014-09-09 00:47:26 UTC
Interestingly, if I use the Virtual Machine > Redirect USB menu item, the description for the webcam does show up.

Comment 2 Ján Tomko 2014-09-15 14:10:43 UTC
Now fixed upstream:
commit 3ef77a544d4313cdfe257717708548f57e6db971
Author:     Lubomir Rintel <lkundrak>
CommitDate: 2014-09-15 15:41:28 +0200

    node_device_udev: Try harder to get human readable vendor:product
    
    The manufacurer and product from USB device itself are usually not particularly
    useful -- they tend to be missing, or ugly (all-uppercase, padded with spaces,
    etc.). Prefer what's in the usb id database and fall back to descriptors only
    if the device is too new to be in database.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1138887

git describe: v1.2.8-130-g3ef77a5

Comment 3 Fedora Update System 2014-10-30 15:41:32 UTC
libvirt-1.1.3.6-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/libvirt-1.1.3.6-2.fc20

Comment 4 Fedora Update System 2014-11-01 01:33:04 UTC
Package libvirt-1.1.3.6-2.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing libvirt-1.1.3.6-2.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-14011/libvirt-1.1.3.6-2.fc20
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2014-11-13 18:17:57 UTC
libvirt-1.1.3.6-2.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.