ReadFromPipeOut issues when len > 524288


I have written a small C++ application (see attached file) that uses the ReadFromPipeOut() method to read a chunk of data and dump it to a file. When I run this on an FPGA configured with First.bit, which has no okPipeOut’s isntalled, everything seems to work fine (the data returned is 0xff) for transfers less than 524288 (2^19) in size. However, if I try a transfer of length 524300 (just 2 more bytes), the ReadFromPipeOut() returns 524300 the first time and 523778 the second time and it continues to alternate. Furthermore, if I try to transfer a 1MB (2^20) of data, it fails and returns -1. The documentation says the max read size is much larger.

This is on linux.

Any ideas on what the problem is?

ok.txt (1525 Bytes)


What Linux distribution are you using?


FC5 with libusb-0.1.11-2.2


Thanks. We’ve been working on a solution to the “bad configuration” under Linux and Mac OS X. We have a pending fix for that problem and are running it through our regression tests now.

Could you please send an email to ? I would like to send back the provisional firmware update to see if it solves your problem.


I am curious to know if this has been solved.

See a lengthy post to the XEM3001 threads.

I am hitting some strange behavior when my buffer size exceeds 11MB for ReadFromPipeOut with an XEM3001v2 attached to C++ code one mac OSX.

Have others tested under these conditions?



Please see this post:

Specifically, item #2 fixes the issue.


Thanks for the quick response. Unfortunately I was already running firmware v. 2.5 on the XEM 3001v2. Other suggestions?