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)
これに2〜3日を費やした後、私はこれに対する解決策を見つけました。本当にオープンソースソフトウェアは、ソフトウェアの使用方法に関するより良いドキュメントを開発する必要があります!!
上記のusb速度の不一致の警告は、デバイスがusb2.x/usb-ehciまたはusb3.x/usb-xhciであるのに、古いusbホストコントローラードライバー(usb-bus = usb1.x)をロードしているためにスローされます。したがって、USB速度の不一致が発生します。
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
以下のコマンドを実行して、qemuターミナルのusbホストデバイスを表示します。
info usbhost
Appleデバイスは以下のようにここにリストされます:
Bus 3, Addr 8, Port 3, Speed 480 Mb/s Class 00: USB device, iPhone
上記のコマンドから返されたusbホストデバイスをゲストシステムに追加します。
device_add usb-Host,hostbus=3,hostaddr=8,id=usb2.0,bus=ehci.0,port=3
これで、Appleデバイスがゲストシステムに表示されます。
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ポートがあるため、同期のために最初のポートを選択する必要があります。