USB 포트를 통해 qemu 명령줄을 사용할 수 있나요?

USB 포트를 통해 qemu 명령줄을 사용할 수 있나요?

을 사용하여 가상 머신을 시작하고 있습니다 qemu-system-x86_64. USB 장치를 통한 두 가지 방법을 알고 있습니다.

예를 들어, lsusb에 다음과 같이 나타나는 마우스가 있습니다.

Bus 003 Device 011: ID 6ade:9582 Amazing Mouse Maker

나는 이것을 사용하여 이것을 할 수 있습니다

-device usb-host,vendorid=0x6ade,productid=0x9582

또는

-device usb-host,hostbus=3,hostaddr=11

나는 이것들 중 어느 것도 좋아하지 않습니다. 공급업체/제품 ID로 가져오면 VM이 종료될 때까지 마우스를 재활용할 수 없습니다.

버스와 장치 번호로 가져오면 플러그를 뽑으면 Qemu에게 다시 가져오라고 지시해야 합니다.

포트(실제 물리적 슬롯)를 통해 보낼 수 있나요? 버스 3 포트 2에 연결되어 있다고 가정합니다. 우회할 수 있나요?

답변1

어떤 이유로 이것은 문서화되지 않았습니다.Qemu 2.12.50 사용자 문서내가 배운 것을 배워야 해이 남자

그들은 다음과 같이 언급했습니다.

-device usb-host,hostbus=bus,hostaddr=addr
Pass through the host device identified by bus and addr 

-device usb-host,vendorid=vendor,productid=product
Pass through the host device identified by vendor and product ID 

하지만 그들은 당신이 이것을 할 수도 있다고 언급하지 않습니다:

-device usb-host,hostbus=bus,hostport=port

예를 들어...

실행하면 lsusb -t다음을 얻습니다.

/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
|__ Port 10: Dev 8, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 11: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 12M

나는 다음과 같이 결정할 수 있습니다.

-device usb-host,hostbus=3,hostport=10 \
-device usb-host,hostbus=3,hostport=11 \

이는 물리적 슬롯에 해당합니다.

그러나 USB 3.0 슬롯의 버스와 포트는 USB 2.0 또는 USB 3.0 장치가 연결되어 있는지에 따라 다르지만 포트는 각 장치에 대해 일관되게 유지됩니다.

USB 2.0 슬롯에는 이러한 차이가 없습니다.

USB 허브의 경우 점을 사용하여 포트를 구분하세요. 그렇다면...

/:  Bus 03
|__ Port 2: some stuff
    |__ Port 1: some stuff

당신은 사용할 것이다-device usb-host,hostbus=3,hostport=2.1

관련 정보