Thanks for the log. I can see in it exactly what you're reporting. Unfortunately, there isn't enough information in it for me to spot (at least yet) what went wrong. I've attached a patch (usb1.patch) to this message. Are you familiar with how to apply it and then generate a new log? Also, when generating the new log, please add async to the -l keyword list.
-- Dave Mielke | 2213 Fox Crescent | The Bible is the very Word of God. Phone: 1-613-726-0014 | Ottawa, Ontario | http://Mielke.cc/bible/ EMail: d...@mielke.cc | Canada K2A 1H7 | http://FamilyRadio.com/
Index: Programs/usb_linux.c =================================================================== --- Programs/usb_linux.c (revision 8228) +++ Programs/usb_linux.c (working copy) @@ -587,22 +587,26 @@ UsbDevice *device = endpoint->device; UsbDeviceExtension *devx = device->extension; - usbLogURB(urb, "submit"); + usbLogURB(urb, "submitting"); if ((urb->endpoint & UsbEndpointDirection_Mask) == UsbEndpointDirection_Output) { logBytes(LOG_CATEGORY(USB_IO), "URB output", urb->buffer, urb->buffer_length); } while (1) { - if (ioctl(devx->usbfsFile, USBDEVFS_SUBMITURB, urb) != -1) return 1; + if (ioctl(devx->usbfsFile, USBDEVFS_SUBMITURB, urb) != -1) { + usbLogURB(urb, "submitted"); + return 1; + } if ((errno == EINVAL) && (USB_ENDPOINT_TRANSFER(descriptor) == UsbEndpointTransfer_Interrupt) && (urb->type == USBDEVFS_URB_TYPE_BULK)) { + logMessage(LOG_CATEGORY(USB_IO), "changing URB type from bulk to interrupt"); urb->type = USBDEVFS_URB_TYPE_INTERRUPT; continue; } /* UHCI support returns ENXIO if a URB is already submitted. */ - if (errno != ENXIO) logSystemError("USB URB submit"); + logSystemError("USB URB submit"); return 0; } } @@ -966,6 +970,7 @@ } } else { usbLogInputProblem(endpoint, "input data not available"); + errno = response.error; } if (written) { @@ -986,6 +991,7 @@ eptx->monitor.urb = NULL; } else { usbLogInputProblem(endpoint, "unexpected input URB"); + errno = EIO; } free(request);
_______________________________________________ This message was sent via the BRLTTY mailing list. To post a message, send an e-mail to: BRLTTY@mielke.cc For general information, go to: http://mielke.cc/mailman/listinfo/brltty