On 07/16/13 10:45, Gonglei (Arei) wrote: > Hi, Gerd > My Qemu version is 1.5.1, and use libusb for usb pass through. > I pass through a host usb device to the guest by bus number and > physical port, when I unplug the usb device from > the host, and plug in on the same physical port immediately, but the usb > device don't show up in the guest. > The qemu log show: > libusb_release_interface: -4 [NO_DEVICE] > libusbx: error [_get_usbfs_fd] libusbx couldn't open USB device > /dev/bus/usb/002/004: No such file or directory > libusbx: error [_get_usbfs_fd] libusbx couldn't open USB device > /dev/bus/usb/002/004: No such file or directory > libusbx: error [_get_usbfs_fd] libusbx couldn't open USB device > /dev/bus/usb/002/004: No such file or directory > > I find the reason is that the global libusb_context has recorded the > usb devices' devnum, but when the host device was unplugged and plugged > from the host, the devnum will change, finally cause the problem. > Any ideas ? Thanks!
Sounds like libusbx doesn't flush the cache on unplug even though it should. Hans? [ qemu uses one global libusb_context. libusb_device and libusb_device_handle are allocated and released on open/close ] cheers, Gerd