In order to use the PCIe transport connection on the USRP X300 / X310 devices, you must install the NI USRP RIO driver stack. These include kernel modules which must be loaded.
Your kernel version must be supported by the kernel modules. Only 64-bit kernels are supported.
Currently, the latest supported kernel version is 4.2.x.
The NI USRP RIO installer can be found here.
Download the installer and extract it with the following command:
tar zxf niusrprio-installer-15.0.0.tar.gz
The files will be extracted into a directory called niusrprio-installer.
To install the NI USRPRIO kernel modules and RPC server, run the following command:
sudo niusrprio-installer/INSTALL
Select 'y' for each prompt, and the script will install all necessary components. This script will automatically load all necessary kernel modules for the duration of the session.
Once everything is installed, run the following commands to enable use of the X300/X310 over PCI Express:
sudo /usr/local/bin/niusrprio_pcie start
To stop these processes, run the following command:
sudo /usr/local/bin/niusrprio_pcie stop
To check if the kernel modules are loaded and if the RPC server is running, run the following command:
/usr/local/bin/niusrprio_pcie status
NOTE: niusrprio_pcie start does not run when the host system is booted. If you would like the USRP PCIe device to be available automatically after a system restart, please create an init.d script that runs niusrprio_pcie start.
The USRP X3x0, NI USRP-294x and NI USRP-295x devices cannot be hot-swapped when connected over PCI Express. Unplugging the PCI Express connection or powering the device should be done only after disabling the device or powering off the host computer.
WARNING: If the device is unplugged without running the niusrprio_pcie stop
command, the system could become unstable.
The NI USRPRIO kernel modules are built for a specific kernel version. If you upgrade/downgrade the linux kernel on the host to a version different from the one that the installer was run on, then you may see the following error message when running niusrprio start
.
ERROR: could not insert 'NiRioSrv': Unknown symbol in module, or unknown parameter (see dmesg) ERROR: could not insert 'niusrpriok': Unknown symbol in module, or unknown parameter (see dmesg)
To rebuild the kernel modules for the currently running kernel, simple run the following
sudo /usr/local/bin/niusrprio_pcie stop sudo /usr/local/bin/updateNIDrivers --no-prompt sudo /usr/local/bin/niusrprio_pcie start
To uninstall the NI USRP RIO kernel modules and RPC server, run the following command:
sudo /usr/local/bin/niusrprio_uninstall
Select y at the prompt, and the script will uninstall all installed components.
The kernel driver is only supported on:
The NI-USRP 14.5 installer can be found here You will need to create a free NI User Account to download the installer.
Perform the following steps to download and install the NI-USRP exe driver package:
Reboot the computer after both the NI-USRP package has been installed.
Once everything is installed and the system is rebooted, your X300/X310 PCI Express device should automatically be detected by the Windows Device Manager. The device should be enabled by default.
The USRP X3x0, NI USRP-294x and NI USRP-295x devices cannot be hot-swapped when connected over PCI Express. Unplugging the PCI Express connection or powering the device should be done only after disabling the device or powering off the host computer.
WARNING: If the device is unplugged without disabling it in device manager, the system could become unstable.
Navigate to the Control Panel and open "Programs". Then select National Instruments Software and select NI-USRP and NI-RIO from the list. Click on uninstall to remove the drivers from your system.