On Sun, Apr 4, 2021 at 8:30 PM John Arbuckle <1850...@bugs.launchpad.net> wrote: > > I am also having problems with using real USB devices. I tried a C-Media > USB sound card, a CISCO USB headset, and a PNY flash drive. All of them > seem to be detected by the Windows 7 guest, but can't be started for > some reason. I have tried running as root. I didn't see any libusb > errors. My Windows 2000 guest also has issues with starting the USB > sound card. > > My command-line: > sudo qemu-system-x86_64 -hda "Windows 7 HD.qcow2" -boot "c" -m 5000 -device > ich9-usb-ehci1 -device usb-host,vendorid=0x0930,productid=0x6545 > > Even when I unmount the flash drive first Mac OS 11.1 will actually > mount the flash drive when I try using it in QEMU. > > -- > You received this bug notification because you are a member of qemu- > devel-ml, which is subscribed to QEMU. > https://bugs.launchpad.net/bugs/1850570 > > Title: > Cannot use usb-host on Mac OS > > Status in QEMU: > New > > Bug description: > Usb-host will not work on Mac OS 10.15. Qemu runs, though it gives > these errors and the drive does not show up. Also, when Qemu is > starting the drive ejects and remounts twice. Qemu built with > ./configure --target-list=i386-softmmu,x86_64-softmmu --enable-sdl > --disable-cocoa --enable-sdl-image. > > qemu-system-i386 image.qcow -usb -device usb-kbd -device > usb-host,vendorid=0x0781,productid=0x5571 > libusb: error [darwin_claim_interface] USBInterfaceOpen: another process > has device opened for exclusive access > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] USBInterfaceOpen: another process > has device opened for exclusive access > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > libusb: error [darwin_claim_interface] interface not found > > To manage notifications about this bug go to: > https://bugs.launchpad.net/qemu/+bug/1850570/+subscriptions >
Hi John, I experience similar issues when passing through USB devices in qemu-system-ppc. macOS load a kext for the device and will not unload it when libusb tries to connect to the device. I wrote this on the emaculation site: For USB storage devices you might need to: Run a terminal and execute: sudo kextunload /System/Library/Extensions/IOUSBMassStorageDriver.kext Other devices might be using other kexts (drivers), so you would need to find out which kext is loaded for the device. Some devices might be using a kext that is also in use for other host devices. If you unload such a kext, the host will loose access to those devices. I have not yet found a way to reliably find which kexts are loaded and to unload them. Best, Howard