iPod Touch 5G는 qemu Windows 7 VM에서 인식되지 않습니다.

iPod Touch 5G는 qemu Windows 7 VM에서 인식되지 않습니다.

iPod Touch 5G와 Windows 7 VM이 있습니다. Windows에서 인식할 수 있도록 iPod Touch를 VM에 전달하려고 하는데 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 속도 불일치 경고는 장치가 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 장치가 나타납니다.

답변2

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=ehciApple 장치에 연결할 수 있는 ehci USB 컨트롤러를 만듭니다.
  • -device usb-host,vendorid=0x05ac,productid=0x12a8공급업체 ID와 제품 ID로 USB 장치를 통과합니다. (비슷한 구문이 있지만 -usbdevice host:05ac:12a8나중에 매개변수를 사용하지 않기 때문에 이것은 까다롭습니다.
  • bus=ehci.0Apple 장치를 USB2.0 허브에 연결했습니다. Scocott이 말했듯이 이렇게 하면 속도 불일치 경고가 제거됩니다.
  • port=1Apple 장치에는 단일 주소(USB 케이블)의 여러 USB 포트가 있으므로 동기화를 위해 첫 번째 포트를 선택해야 합니다.

관련 정보