Severe problems with PipeOut under Linux


I have an application which makes use of pipes to transfer data from the XEM to the host. It is written in C++ using the Visual Studio library. When run under Windows everything works as expected but exactly the same code when compiled and executed under Linux does not. Specifically, the ReadFromPipeOut function only ever writes 0xFF into the receive buffer, even though it returns that the correct number of bytes has been read.

After much playing around with no success I decided to test some of the pipe samples and discovered the same problem. The DESTest application operates correctly under Windows but under Linux the output file is always filled with 0xFFs. Note that the DES application has no problems detecting the device and reading its firmware etc and also that WireIn/Out and TriggerIn/Outs all appear to work fine.

Any ideas?

My Linux distribution is Slackware 10 and I am linking against the shared object file from the Fedora Core folder on the CD.

P.S. How do I gain access to the software downloads section of the site as I would like to try a newer version of the API to see if that helps.



We’ve had quite varying success with the current Linux interface. We hope to rework this interface soon and will post any progress back to these forums.


Well in the meantime is there any solution that you suggest? What about Linux configurations where it is known to work? I heard that Gentoo users have had some success but my knowledge of Gentoo is very limited (read none). It also seems very strange that wireouts and triggers work with no problems, it appears to only be pipes. Is this down to a specific call in libusb, and if so what about working around this call? Even an inefficient version would be a great stopgap.

Finally, (lots of questions!) how do I obtain access to download the latest version of FrontPanel?

Thanks very much



Downloads on the Software Downloads forum are only open to “registered customers”. You just have to ask for access if you have purchased in the past. Your access has been changed, so you should be all set now.

Unfortunately, there isn’t a known workaround for the libusb stuff. Those developers have not been fixing any issues in the older version as they are currently working on the new 1.0 tree. We’re working with that now.

We would very much like to support Linux better. Unfortunately, it has been admittedly difficult. With so many distributions, kernels, compilers, and so on, we just have to choose a couple to commit to. Generally, these vagarities aren’t an issue for folks with access to source code. When you’re like us, though, and don’t distribute the sources, support is a more complicated bag.


Well in that case which setups have you comitted to? I’ve managed to acquire a lab machine to dedicate to this task and I want to know which distro you recommend. :slight_smile: The API ships with folders named ‘Fedora Core 3’ and ‘Suse 9.2’ yet in another post you mention that both of these distributions have problems with libusb. Has anybody manged to get Pipes working in Linux yet and what setup did they have?



We will likely stick with Fedora Core (3 or 4). At the moment, though, folks seem to be having the best luck with Gentoo.



I too have had the same problems on a SuSE 9.2 box using the libraries provided on the CD. I also have had good success with Debian Sid/Unstable using the most recent FC drivers (Off the downloads section). However I have noticed some possible data corruption when transferring large blocks of data at once and the speed is significantly slower. (I expect this is due to libusb)

I would guess that the Linux drivers will work on any system that can link against the latest FC libraries. If you use “ldd” you can see the library’s dependencies and it will tell you what is missing/broken on your system. (The most common problem will likely be libstdc++ which is why SuSE9.2 will not work with this version)

It would be interesting to see if a recent compile of the libraries for SuSE still have the problem with the Pipes. The issue may be specific to the version of the drivers on the CD. If you can get the SuSE9.2 version to work than a large percentage of Linux distributions should have no problems with your drivers.