On 2013-11-05 17:01, Frederich, Jens wrote: > 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?
Workaround: Pass-through one of the (typically) many USB host controllers to the Windows guest (vfio or classic pci-assign). I did this back then when *HCI emulation was still pretty immature. But USB device pass-through should also work. Do you happen to pass a USB 2.0 device via an emulated UHCI? Or are you already using the EHCI emulation? In the latter case, activating USB tracing (see also qemu/docs/tracing.txt) and posting the results here may help analysing the issue. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux