Guest WinXP crashes when trying to use a USB spectrometer

Bug #1440843 reported by Ruslan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Won't Fix
Undecided
Unassigned

Bug Description

I'm using Amadeus spectrometer (OceanOptics USB250) via Windows-based software "Quantum". I've tried six ways of attaching it to QEMU:

1. command line parameter "-device usb-host,hostbus=3,hostaddr=25"
2. command line parameter "-device usb-host,vendorid=0x2457,productid=0x1030"
3. command line parameter "-usbdevice host:2457:1030
4. command line parameter "-usbdevice host:3.25"
5. qemu console command "usb_add host:2457:1030"
5. qemu console command "usb_add host:3.25"

From these, only "-device ..." options work, i.e. numbers 1 and 2 in the list above, and all others lead to IRQL_NOT_LESS_OR_EQUAL BSOD in usbuhci.sys when I launch Quantum, which tries to start acquiring spectra.

I've also tried to reproduce the crash with a flash drive, but couldn't — it seems to work reliably in this case.

Revision history for this message
Erik Rull (erik-rull) wrote :

Which version is used? Try the latest QEMU or at least QEMU 2.0.
The behavior sounds like a pretty old QEMU version.
Additionally, enable the EHCI controller (see example in the docs subdirectory).
It it working on a native Windows XP?

Revision history for this message
Ruslan (b7-10110111) wrote :

I was using QEMU from git, v2.3.0-rc2, when reporting this bug. And this is the same since much earlier (about a year older) version. And of course I do enable EHCI controller via `-device usb-ehci`. And checked it with native Windows XP, where the device works with no problem. Actually, as I said in OP, `-device hsb-host,...` options work in QEMU too, but the others like `-usbdevice host...` and `usb_add host...` don't.

Revision history for this message
Erik Rull (erik-rull) wrote :

Please check that the devices get added to the EHCI bus and not to the UHCI.
As far as I know the -usb* commands are deprecated. The functions behind the -device usb* and -usb* should behave the same.

Revision history for this message
Ruslan (b7-10110111) wrote :

Indeed, the device appears added to the UHCI in both crashing cases and to EHCI in the working case. Also, sometimes instead of BSOD of guest OS I get abort of QEMU:

qemu-system-i386: hw/usb/core.c:735: usb_ep_get: Assertion `pid == 0x69 || pid == 0xe1' failed.
/usr/bin/qemuxp: line 4: 13514 Aborted (core dumped) qemu-system-i386 /home/ruslan/iso/Windoze/qemuxp.img -m 512 -display sdl -vga vmware -enable-kvm -usb -device usb-ehci $*

here $* stands for

-snapshot -hdb ~/iso/ntfs-data.img

and the crash was triggered by using usb_add command in QEMU terminal and then attempting to access the device from WinXP.

Revision history for this message
Thomas Huth (th-huth) wrote :

"-usbdevice host" and "usb_add host" have been removed with QEMU 2.12, so marking this bug as Wont-Fix.

Changed in qemu:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.