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