qemu Windows 7 虛擬機器無法辨識 iPod Touch 5G

qemu Windows 7 虛擬機器無法辨識 iPod Touch 5G

我有 iPod Touch 5G 和一台 Windows 7 虛擬機器。我嘗試將 iPod Touch 傳遞到 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)

答案1

經過2-3天的研究,我找到了解決方案。真正的開源軟體需要開發更好的關於如何使用該軟體的文檔!

拋出上述USB 速度不符警告是因為我們正在載入較舊的USB 主機控制器驅動程式(usb-bus = usb1.x),而設備是usb2.x/usb-ehci 或usb3.x/usb-xhci 。因此會出現 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

    蘋果設備將在這裡列出,如下所示:

    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

現在蘋果設備將出現在來賓系統上。

答案2

我想改進斯科特的解決方案。

我將其附加到我的 qemu 啟動參數中,優點是它透過供應商 ID/產品 ID 進行匹配,因此無論 USB 插件在何處/何時,它都會自動工作。

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

每個標誌的簡要說明。

  • -device usb-ehci,id=ehci創建一個蘋果設備可以連接的 ehci USB 控制器。
  • -device usb-host,vendorid=0x05ac,productid=0x12a8透過 USB 裝置的供應商 ID 和產品 ID 進行傳遞。 (這個很棘手,因為有一個類似的語法-usbdevice host:05ac:12a8,但不接受後面的參數
  • bus=ehci.0將蘋果裝置連接到 USB2.0 集線器。正如斯科特所說,這將消除速度不匹配警告。
  • port=1蘋果設備在同一個位址(USB 電纜)上有多個 USB 端口,因此我們需要選擇第一個端口用於同步目的。

相關內容