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.


_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to