ugen: question about receiving USBD_INTERRUPTED from
usbd_bulk_transfer
Lonnie Mendez
lmendez19 at austin.rr.com
Mon Jan 23 11:19:48 PST 2006
Hello list. I've been working on/off on a usb host backend for qemu
and have run into a snag with ugen. So far it is working well with
devices that have interrupt endpoints like hid keypads/keyboards and a
gps device. I'm seeing no problems with control endpoint trasfers
either. The problem I'm encountering happens when attempting bulk IN
transfers on two different mass storage devices. The device is sent the
first mass storage command which succeeds and is then followed by a bulk
IN request. Sometimes the first bulk IN request will return data, but
then the second bulk IN request fails with EINTR. I've tried this with
FreeBSD 6.0 release and recently with 7.0 current. I think the error
returned is coming from the below code:
http://fxr.watson.org/fxr/source//dev/usb/usbdi_util.c#L459
The patch for qemu I'm using is located here: (patch-bsdusb.patch)
http://gnome.dnsalias.net/patches/
Both the qemu message output (transfer data log) and kernel messages
with hw.usb.debug and hw.usb.ugen.debug enabled are here:
http://gnome.dnsalias.net/kernlog-659
http://gnome.dnsalias.net/qemulog-659
Can someone more familiar with the kernel please take a look? Or
can someone explain what receiving USBD_INTERRUPTED from this function
would imply? Thanks.
More information about the freebsd-usb
mailing list