USB passthru not work with Mac OS X El Capitan
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Invalid
|
Undecided
|
Unassigned |
Bug Description
QEMU emulator version 2.4.50 with kernel kvm module from linux kernel 3.16.0 or 4.2.3
Since upgrading from Yosemite to El Capitan - USB passthru does not work. Note USB passthru worked perfectly with Maverick and Yosemite. I attempt to use different USB hosts. I found a patch for widows xp that had similar problem the patch was applied in 2012. Note NO problems with USB passthru with windows or linux clients. If it matters the devices that I am trying to passthru USB are smartcard reader and webcam. The devices are present in El Capitan but do not function.
These are the massages from loading the VM (El Capitan). The first two lines are from the clover bootloader. The ehci warnings are generated when loading Mac Os X El Capitan.
QEMU 2.4.50 monitor - type 'help' for more information
### These messages below started when using the clover bootloader and occur when loading El Capitan, Maverick or Yosemite.
### The bootloader is Clover version 3292
(qemu) ehci: PERIODIC list base register set while periodic schedule
is enabled and HC is enabled
ehci: ASYNC list address register set while async schedule
is enabled and HC is enabled
#### Below are errors when the guest host (El Capitan) is loading from qemu monitor. The messages below only occur when loading El Capitan.
ehci warning: guest requested more bytes than allowed
processing error - resetting ehci HC
ehci warning: guest requested more bytes than allowed
processing error - resetting ehci HC
ehci warning: guest requested more bytes than allowed
processing error - resetting ehci HC
This is the errors from the guest os - Mac Os X - El Capitan
000000.580358 AppleUSBLegacyR
000001.803455 AppleUSBEHCIPCI
MD (0x00080020) and USBSTS (0x00001000) did not synchronize
the following qemu command has worked flawlessly with Yosemite and Maverick.
qemu-system-x86_64 -enable-kvm -m 4096 -cpu core2duo -machine q35 \
-bios /usr/local/
-name "El Capitan" \
-mem-path /hugetlbfs \
-rtc base=utc,
-balloon none \
-parallel none \
-smp 4,sockets=
-boot menu=on \
-usb -device usb-kbd -device usb-mouse \
-device usb-host,
-vga std \
-monitor stdio \
-device isa-applesmc,
-smbios type=2 \
-device ich9-intel-
-device hda-duplex,
-device e1000-82545em,
-netdev bridge,
-device ide-drive,
-drive id=elcapitan,
If anything else I can do to debug the problem please let me know.
information type: | Public → Private |
Changed in qemu: | |
status: | New → Invalid |
My problem was solved by using the UEFI boot loader and I followed the instructions at the following links:
https:/ /github. com/tianocore/ tianocore. github. io/wiki/ How-to- build-OVMF
http:// www.linux- kvm.org/ downloads/ lersek/ ovmf-whitepaper -c770f8c. txt
Also remove the "-bios" option above and added the following options.
-drive if=pflash, format= raw,readonly, file=OVMF_ CODE.fd \ format= raw,file= OVMF_VARS. fd \
-drive if=pflash,
Also changed clover to boot with UEFI only. Anyway that has used clover will know how to change this option.