Comment 17 for bug 685096

Revision history for this message
Jens Frederich (jfrederich) wrote :

Hi Serge,

for your information. I sent a mail to the devel mailing list. See below.

I've tried to passthrough special Vector automotive usb in house devices.
Look here: http://vector.com/vi_vn1600_en.html.

What do you mean with "what commands you've tried"?

I've tried three QEMU versions:

1. Ubuntu 13.04 64-bit prebuild qemu-kvm package (qemu 1.4.0)
2. Ubuntu 13.10 64-bit prebuild qemu-kvm package (qemu 1.5.0)
3. Hand builded QEMU 1.6.1 with standard configure call
    $ ./configure --prefix=/opt/kvm && make -j

Next, I want to build qemu from git?

I use virt-manager or virsh to start/stop my guest. The QEMU command line is:

qemu-system-x86_64 -machine accel=kvm:tcg -name VRTP1_win -S -M pc-
i440fx-1.4 -cpu SandyBridge -m 3072 -smp 2,sockets=1,cores=2,threads=1
-uuid 8ee5add7-f1a9-d697-9c18-2c1b4967c00e -no-user-config -nodefaults
-chardev
socket,id=charmonitor,path=/var/lib/libvirt/qemu/VRTP1_win.monitor,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime
-no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2
-device ahci,id=ahci0,bus=pci.0,addr=0x6 -drive
file=/var/lib/libvirt/images/VN8912_Development_0.9.2.bin,if=none,id
=drive-sata0-0-0,format=raw -device ide-hd,bus=ahci0.0,drive=drive-
sata0-0-0,id=sata0-0-0,bootindex=1 -netdev
tap,fd=27,id=hostnet0,vhost=on,vhostfd=28 -device virtio-net-
pci,netdev=hostnet0,id=net0,mac=52:54:00:71:f5:45,bus=pci.0,addr=0x3
-chardev pty,id=charserial0 -device isa-
serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc
127.0.0.1:0 -vga std -device intel-hda,id=sound0,bus=pci.0,addr=0x4
-device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device usb-
host,hostbus=3,hostaddr=18,id=hostdev0 -device virtio-balloon-
pci,id=balloon0,bus=pci.0,addr=0x5

Mail to devel list:

Hi all,

we're currently evaluating different RTOS systems (Windows CE, Intime, RTX, etc.).
One system is Linux RT + KVM/QEMU with a Windows 7 guest. Up to now all
works fine, Linux RT has good latency and KVM/Qemu setup was easy. But one QEMU bug
breaks my measurement setup and evaluation.

I've some usb devices for the Windows 7 guest. I configure them as USB passthrough.
The devices appears in the device manager of Windows 7, but with
"Error code 10": device cannot start". The Windows driver fails on USB set configuration.
The driver creates a IRP and send it via IOCTRL to lower layer. The IOCTRL fails with
invalid parameter.

driver log:
00000009 0.65470564 vnCDrvUsbControlRequestSetConfiguration, WdfUsbTargetDeviceSelectConfig single interface failed 0xc000000d
00000010 0.65472370 vnCDrvUsbIFPrepareHardwareState, vnCDrvUsbControlRequestSetConfiguration failed: 0xc000000d
00000011 0.65473646 vnCDrvDevConPrepareHardware, vnCDrvUsbIFPrepareHardwareState failed 0xc000000d
00000012 0.65474838 vnCDrvEvtDevicePrepareHardware, vnCDrvDevConPrepareHardware failed 0xc0000001
00000013 0.6547

This bug breaks my latency measurement setup and Linux RT is out of the evaluationg
race. Windows CE should not win :-), it there anyway workaround or hack to fix the issue?

My setup:

Ubuntu 64-bit
Windows 7 Embedded Guest
Linux Kernel: 3.10.10-rt7
QEMU: 1.4.0, 1.6.1

thanks,
Jens