On 04/04/16 05:25, Brian Buhrow wrote:
hello. I did a lot of work on this under NetBSD-5 to allow the libimobiledevice tools to work with iOS based Apple devices. I have some simple patches for libusb1 and a re-working of the ugen(4) driver to address the issues you note below. My plan is to port these fixes to -current, but I hadn't finished that process yet. My changes make the libimobiledevice tools work reliably with Apple products, modulo a bug in the ehci(4) and ohci(4) drivers that preclude the USB stack from sending zero-length packets.
Not that I think ehci(4) has a problem in HEAD, but I fixed ohci(4) on my branch.
I discussed these fixes on tech-kern with the subject: Potential problem with reading data from usb devices with ugen(4) The two major fixes I implemented were: 1. Make poll(2) work with ugen(4) so you know when data is ready to be read from or written to a device asynchronously. 2. Ensure that each read or write call to a ugen(4) device results in a matching USB transaction to or from the device. If you'd like my patches to port to -current, let me know.
Please send your patches.
-thanks -Brian
Thanks, Nick