On Tue, 04 Nov 2008 14:57:14 +0300 Boris Samorodov <[EMAIL PROTECTED]> wrote:
> Bruce Cran <[EMAIL PROTECTED]> writes: > > > I don't know if it'll work with the usb stack that's in shipping > > version of FreeBSD though, and even with the new stack I had to > > make a change to libgpsusb.c in gpsbabel to get it working. > > Can you submit a patch? Thanks! Having just read about endpoint addresses I'm not sure who's wrong. gpsbabel truncates the address to the first 4 bytes using USB_ENDPOINT_ADDRESS_MASK from libusb20 while the stack clearly wants the rest, including the top 'direction' bit. In fact in /sys/dev/usb2/core/usb2_device.c line 114 it masks out the reserved bits but still keeps the direction bit. usb2_get_pipe_by_addr was failing when passed address 1 because the full endpoint address is 0x81 (endpoint 1, direction IN). It looks as though by changing EA_MASK to be just the endpoint number would fix the problem, but I'm not sure if that's correct. -- Bruce Cran _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"