iPod Touch 5G wird in QEMU Windows 7 VM nicht erkannt

iPod Touch 5G wird in QEMU Windows 7 VM nicht erkannt

Ich habe einen iPod Touch 5G und eine Windows 7-VM. Ich versuche, den iPod Touch an die VM weiterzuleiten, damit Windows ihn erkennen kann, aber ich erhalte im QEMU-Monitor den folgenden Fehler.

(qemu) usb_add host:05ac:12aa Warning: speed mismatch trying to attach usb device "iPod" (high speed) to bus "usb-bus.0", port "2.1" (full speed) (qemu) qemu-system-x86_64: Warning: speed mismatch trying to attach usb device "iPod" (high speed) to bus "usb-bus.0", port "2.1" (full speed) qemu-system-x86_64: Warning: speed mismatch trying to attach usb device "iPod" (high speed) to bus "usb-bus.0", port "2.1" (full speed) (qemu)

Antwort1

Nachdem ich 2-3 Tage damit verbracht hatte, fand ich die Lösung dafür. Für wirklich Open-Source-Software muss eine bessere Dokumentation zur Verwendung der Software entwickelt werden!!

Die obige Warnung „USB-Geschwindigkeitskonflikt“ wird ausgegeben, weil wir ältere USB-Hostcontrollertreiber (USB-Bus = USB1.x) laden, während die Geräte USB2.x/USB-EHCI oder USB3.x/USB-XHCI sind. Daher tritt ein USB-Geschwindigkeitskonflikt auf.

  1. Laden Sie die USB-Host-Controller zusammen mit dem QEMU-Befehl.

    qemu-system-x86_64 --enable-kvm -m 4G -monitor stdio -usb -device nec-usb-xhci,id=xhci -device usb-ehci,id=ehci /pathtovirtdiskfile.vmdk

  2. Zeigen Sie die USB-Hostgeräte im QEMU-Terminal an, indem Sie den folgenden Befehl ausführen.

    info usbhost

    Apple-Geräte werden hier wie folgt aufgelistet:

    Bus 3, Addr 8, Port 3, Speed 480 Mb/s Class 00: USB device, iPhone

  3. Fügen Sie das vom obigen Befehl zurückgegebene USB-Hostgerät zum Gastsystem hinzu.

    device_add usb-host,hostbus=3,hostaddr=8,id=usb2.0,bus=ehci.0,port=3

Jetzt wird das Apple-Gerät auf dem Gastsystem angezeigt.

Antwort2

Ich möchte die Lösung von sccott verbessern.

Ich habe dies an meinen QEMU-Boot-Parameter angehängt und der Vorteil besteht darin, dass es mit der Vendor-ID/Produkt-ID übereinstimmt, sodass es automatisch funktioniert, egal wo/wann der USB-Stick eingesteckt wird.

-device usb-ehci,id=ehci -device usb-host,vendorid=0x05ac,productid=0x12a8,bus=ehci.0,port=1

Kurze Erklärung zu jeder Flagge.

  • -device usb-ehci,id=ehciErstellen Sie einen EHCI-USB-Controller, an den ein Apple-Gerät angeschlossen werden kann.
  • -device usb-host,vendorid=0x05ac,productid=0x12a8USB-Gerät durch seine Hersteller-ID und Produkt-ID weiterleiten. (Das ist knifflig, weil es eine ähnliche Syntax gibt, -usbdevice host:05ac:12a8die aber spätere Parameter nicht akzeptiert.
  • bus=ehci.0habe das Apple-Gerät an einen USB 2.0-Hub angeschlossen. Wie Sccott sagte, wird dadurch die Warnung zur Geschwindigkeitsfehlanpassung eliminiert.
  • port=1Das Apple-Gerät verfügt über mehrere USB-Anschlüsse an einer einzigen Adresse (USB-Kabel), daher müssen wir für die Synchronisierung den ersten Anschluss auswählen.

verwandte Informationen