Qemu USB thông qua (cửa sổ khách)


15

Tôi có USB ADC / DAC và hệ thống thu thập dữ liệu độc quyền được bảo vệ bởi HASP cho cả hai, cả hai đều không hoạt động trong linux. Tôi đang cố gắng làm cho nó hoạt động trong máy ảo Windows bằng cách sử dụng qemu. Dưới đây là các thiết bị:

$ lsusb
...
Bus 003 Device 011: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 003 Device 010: ID 16b2:1001

$ ls -l /dev/bus/usb/003
...
crw-rw-r-- 1 root qemu 189, 265 дек 22 18:29 010
crw-rw-rw- 1 root qemu 189, 266 дек 22 18:29 011

Người dùng của tôi là thành viên của nhóm qemu. Dòng lệnh Qemu:

qemu-system-x86_64 \
    -enable-kvm \
    -m 2G \
    -device usb-ehci,id=usb,bus=pci.0,addr=0x4 \
        --device usb-host,vendorid=0x16b2,productid=0x1001 \ # ADC/DAC
    -device piix3-usb-uhci,id=usb1,bus=pci.0,addr=0x5 \
        --device usb-host,vendorid=0x0529,productid=0x0001 \ # HASP
    -usbdevice tablet \
    -net nic \
    -net bridge,br=br0 \
    -vga qxl \
    -spice port=5930,disable-ticketing \
    -device virtio-serial-pci \
    -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 \
    -chardev spicevmc,id=spicechannel0,name=vdagent \
    -drive file=/mnt/data/win-patch.img,if=virtio

Vấn đề là, cả hai thiết bị đều hiển thị trong máy khách, nhưng không hoạt động. ADC / DAC phải xác định là ổ đĩa USB và hiển thị là một trong danh sách thiết bị, nhưng không hoạt động. Tôi đã cài đặt trình điều khiển HASP cho dongle của mình trên hệ thống khách, nhưng phần mềm DAS không nhận ra nó. Tôi đang làm gì sai? Ảnh chụp màn hình khách Windows

Câu trả lời:


21

Cuối cùng tôi đã nhận được sự giúp đỡ trên các diễn đàn khác. Vấn đề dường như là do việc triển khai bus USB trong chipset I440FX được mô phỏng theo qemu theo mặc định (chi tiết tại đây ). Thay vào đó, cách giải quyết là mô phỏng chipset ICH9. Điều này được thực hiện bằng cách thêm -M q35tham số. Tôi cũng đã thay đổi cách chỉ định các thiết bị USB và dòng lệnh cuối cùng trông như thế này:

qemu-system-x86_64 \
    -enable-kvm \
    -M q35 \
    -m 2G \
    -usb -usbdevice host:16b2:1001 \
    -usb -usbdevice host:0529:0001 \
    -usbdevice tablet \
    -net nic \
    -net bridge,br=br0 \
    -vga qxl \
    -spice port=5930,disable-ticketing \
    -device virtio-serial-pci \
    -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 \
    -chardev spicevmc,id=spicechannel0,name=vdagent \
    -drive file=/mnt/data/win-patch.img,if=virtio

Bây giờ mọi thứ hoạt động hoàn hảo.


Cập nhật cho năm 2019: usb-devicetùy chọn không được chấp nhận; bạn có thể đạt được điều tương tự bằng cách thay thế nó bằng -usb -devicevà chỉ định id sản phẩm và nhà cung cấp theo số thập lục phân, tương tự:

qemu-system-x86_64 \
    -enable-kvm \
    -M q35 \
    -m 2G \
    -usb -device usb-host:productid=0x16b2,vendorid=0x1001 \
    -usb -device usb-host:productid=0x0529,vendorid=0x0001 \
    -usbdevice tablet \
    -net nic \
    -net bridge,br=br0 \
    -vga qxl \
    -spice port=5930,disable-ticketing \
    -device virtio-serial-pci \
    -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 \
    -chardev spicevmc,id=spicechannel0,name=vdagent \
    -drive file=/mnt/data/win-patch.img,if=virtio

tham khảo: https://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/usb2.txt;hb=HEAD

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.