
On 09/24/2014 04:11 PM, Mauricio Tavares wrote:
So I have an entry for a USB device ( ID 051d:0002, UPS) I want to use with a given vm client. In that vm client's config file I added something like this:
<hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x051d'/> <product id='0x0002'/> </source> </hostdev>
And that worked fine for a while. Now I moved the vm host, and then put the cable to the UPS on an available USB port
Bus 002 Device 006: ID 051d:0002 American Power Conversion Uninterruptible Power
and tried to restart the client... and got the following message:
error: internal error Did not find USB device 51d:2 bus:2 device:3
Er, why should it care about which bus and device this is? I thought my config would mean it would look for the device that matched the ID in the config no matter where it was. How did it learn and memorized what I guess is the old location?
It needs to lookup the bus/device at VM startup time, so it can set permissions on the device node. Check your VM XML (not from /etc/libvirt, but from virsh dumpxml $vmname), and ensure that the bus/device didn't get encoded somehow. - Cole