Real-Time Measurement and Control

Showing results for 
Search instead for 
Did you mean: 

Linux host for a PCIe FPGA via the C API




I'm looking to port a project that involves a PCIe-7856 FPGA card from a Windows host to a Linux host. As far as I can tell, the FPGA C API supports using this card with a Linux host but a clear statement of compatibility seems to be hard to find.


I've installed the NI RIO Linux device drivers and generated the bit-file and C headers on a Windows development machine; but now I'm stuck trying to download and run the bit-file on the 7856. The readme file for the NI RIO drivers contains instructions for connecting to a remote device over TCP, but nothing on getting the drivers working with a local PCIe device.


Could anyone tell if if this is supported and, if it is, give me some pointers on how to identify the card in the C API?




0 Kudos
Message 1 of 4

This info should be in the readme for the drivers and maybe in the C API.


Which version of the Linux RIO drivers are you using?

Certified LabVIEW Architect, Certified Professional Instructor, LabVIEW FPGA expert
ALE Consultants
LabVIEW Programming (make LV more popular, read this)

LabVIEW FPGA for High Throughput Applications | VI Week 2020
0 Kudos
Message 2 of 4

Hi Terry,


Thanks for the quick reply. I got the NI-RIO 17.0 (Legacy) driver from


I just noticed that the readme does indeed include the instruction to use "lsni -v" to find devices. Not sure how I missed it the first time but I'll try it tomorrow and post here whether it works or not in case someone else turns to the forums before carefully reading the instructions 😉

0 Kudos
Message 3 of 4

The solution was installing current drivers. A search specifically for NI-RIO Linux drivers dropped me off at the page for the legacy drivers. In more recent versions, they've been packaged into a Linux driver repository that includes drivers for many devices, which I missed. The current drivers did the trick.

0 Kudos
Message 4 of 4