1. Introduction to National Instruments Multi-Device I/O Drivers
National Instruments develops multi-device drivers for a wide variety of modular hardware on various platforms, including PCI, PCI Express, PXI, and PXI Express. Many of these drivers are supported on Linux, including:
- NI-DAQmx and DAQmx Base for interfacing with multifunction data acquisition devices
- NI-SCOPE for interfacing with high-speed digitizers
- NI-FGEN for interfacing with function generators
- NI-DMM for interfacing with digital multimeters
- NI-RIO for interfacing with programmable FPGAs
- NI-488.2 for communicating with GPIB interfaces
The exact capabilities of each driver vary with each supported operating system. If you would like to interface with an external instrument or VXI system from National Instruments software see the Instrument Control in Linux Tutorial.
In general, National Instruments driver software ships with APIs for both LabVIEW and C; see the readme file for each driver located at ni.com/updates for detailed information per driver. One notable exception is the NI-RIO driver on Linux. To interface with National Instruments FPGA devices from Linux, use the FPGA Interface C API.
2. Determining Which Driver to Use with a National Instruments I/O Device
The National Instruments driver for a specific I/O device can be found by searching the ni.com/support site for the device number (e.g. PXI-5122). After searching, look under the Drivers & Updates section for a list of all available driver versions.
3. Checking if a Driver is Supported Under Linux
Once you have located the appropriate driver for your device, visit the following resource to determine which version of the driver (if any) is supported with Linux: KnowledgeBase 5CNEG20S: What Linux Distributions Do National Instruments Drivers and Software Support?
4. Additional Options for National Instruments Hardware Support with Linux
When possible, it is recommended that you use an NI device driver to ensure the widest access to I/O module capabilities and the best support. However, if a supported driver is not available for your combination of National Instruments device and Linux distribution, investigate the following resources:
>> Use the Contact NI section above to contact an NI representative and request that additional support be developed
>> Investigate developing a custom driver using the Measurement Hardware DDK (MHDDK)
Third-Party I/O Drivers
The following drivers are not officially supported by National Instruments. This list is provided so that you can explore third-party drivers if National Instruments drivers are insufficient for your application. Support for these drivers is provided from the community that develops them.
The Comedi project develops open-source drivers, tools, and libraries for data acquisition. You can find out which pieces of National Instruments hardware are supported under the Supported Hardware section. For details on caveats when using Comedi, visit KnowledgeBase 31GGUUBG: What Are Some of the Limitations of Comedi?
Open Source Linux GPIB Package
The Linux GPIB Package is a support package for GPIB (IEEE 488) hardware. The API of the C library is intended to be compatible with National Instruments' GPIB library.
Native Serial Device Support in Linux
Starting with Linux kernel version 2.6.30, native support for certain National Instruments PCI and PXI serial boards was included in the kernel. Support is provided by the Linux community.