qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug 1850570] Re: Cannot use usb-host on Mac OS


From: Howard Spoelstra
Subject: Re: [Bug 1850570] Re: Cannot use usb-host on Mac OS
Date: Sun, 4 Apr 2021 22:27:02 +0200

On Sun, Apr 4, 2021 at 8:30 PM John Arbuckle <1850570@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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]