web-dev-qa-db-ja.com

iPod Touch5GはqemuWindows7では認識されませんVM

IPod Touch5GとWindows7VMを持っています。 iPodTouchをVMに渡して、Windowsが認識できるようにしようとしていますが、qemuモニターで次のエラーが発生します。

(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)
4
ipatch

これに2〜3日を費やした後、私はこれに対する解決策を見つけました。本当にオープンソースソフトウェアは、ソフトウェアの使用方法に関するより良いドキュメントを開発する必要があります!!

上記のusb速度の不一致の警告は、デバイスがusb2.x/usb-ehciまたはusb3.x/usb-xhciであるのに、古いusbホストコントローラードライバー(usb-bus = usb1.x)をロードしているためにスローされます。したがって、USB速度の不一致が発生します。

  1. Qemuコマンドと一緒にusbホストコントローラーをロードします。

    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. 以下のコマンドを実行して、qemuターミナルのusbホストデバイスを表示します。

    info usbhost

    Appleデバイスは以下のようにここにリストされます:

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

  3. 上記のコマンドから返されたusbホストデバイスをゲストシステムに追加します。

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

これで、Appleデバイスがゲストシステムに表示されます。

6
sccott

Sccottのソリューションを改善したいと思います。

これをqemuブートパラメーターに追加しました。利点は、vendorid/productidによって一致するため、usbがプラグインである場所/タイミングに関係なく、自動的に機能することです。

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

各フラグの簡単な説明。

  • -device usb-ehci,id=ehci Appleデバイスが接続できるehciusbコントローラーを作成します。
  • -device usb-Host,vendorid=0x05ac,productid=0x12a8ベンダーIDと製品IDでUSBデバイスを通過します。 (同様の構文があるため、これは注意が必要です-usbdevice Host:05ac:12a8しかし、それは後のパラメータを取りません
  • bus=ehci.0 AppleデバイスをUSB2.0ハブに接続しました。Sccottが言ったように、これにより速度の不一致の警告がなくなります。
  • port=1 Appleデバイスには単一のアドレス(USBケーブル)から複数のUSBポートがあるため、同期のために最初のポートを選択する必要があります。
2
Patrick