read(2) always returns 0 when reading from /dev/usb/n.m.k bulk
IN endpoint
Peer Stritzinger
peerst at gmail.com
Tue Jul 13 08:59:27 UTC 2010
Hi,
FYI: just tried using the short xfer ioctl, but the behavior didn't change.
in = open (argv[0], O_RDONLY);
ioctl(in, USB_SET_RX_SHORT_XFER, 1);
n = read(in, buf, NBUF);
now trying libusb for this.
-- Peer
On Mon, Jul 12, 2010 at 10:41 PM, Peer Stritzinger <peerst at gmail.com> wrote:
> Hi,
>
> On Mon, Jul 12, 2010 at 8:20 PM, Hans Petter Selasky <hselasky at freebsd.org
> > wrote:
>
>> On Monday 12 July 2010 19:22:28 Peer Stritzinger wrote:
>> > However the read always returns 0.
>> >
>> > Tried different buffer sizes etc.
>> Hi,
>>
>> Maybe you are missing to set the short transfer OK flag.
>>
>> Else I recommend using LibUSB.
>>
>> --HPS
>>
>
> Did'nt set this flag (not doing any ioctls on the ugen device at all).
>
> However I did try matching either the max packetlen, or the read buffer
> size with the actual bytes sent, so I thought it shouldn't matter.
>
> I'll move on to libusb and not waste any more time with the raw interfaces.
>
> Thanks
> -- Peer
>
More information about the freebsd-usb
mailing list