aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAshish Chaudhari <ashish@ettus.com>2015-08-14 17:52:16 -0700
committerAshish Chaudhari <ashish@ettus.com>2015-08-14 17:52:16 -0700
commit04a316db807d7bd08ff1f9a39db896bb8df8dc23 (patch)
tree48e77a01abefd97b4b4bd8565f80a130828ec125
parentfce00db7e8d68eaee4c4c6545c3a7fca9e469563 (diff)
downloaduhd-04a316db807d7bd08ff1f9a39db896bb8df8dc23.tar.gz
uhd-04a316db807d7bd08ff1f9a39db896bb8df8dc23.tar.bz2
uhd-04a316db807d7bd08ff1f9a39db896bb8df8dc23.zip
x300: Manual updates and cleanup for PCIe
-rw-r--r--host/docs/usrp_x3x0.dox19
-rw-r--r--host/docs/usrp_x3x0_config.dox133
2 files changed, 22 insertions, 130 deletions
diff --git a/host/docs/usrp_x3x0.dox b/host/docs/usrp_x3x0.dox
index bf2323b71..766766c21 100644
--- a/host/docs/usrp_x3x0.dox
+++ b/host/docs/usrp_x3x0.dox
@@ -480,7 +480,7 @@ and that it is using the expected IP address.
ping 192.168.10.2
-\subsection x3x0_comm_problems_not_enumerated USRP device not enumerated (Linux)
+\subsection x3x0_comm_problems_not_enumerated Device not enumerated over PCI-Express (Linux)
UHD requires the RIO device manager service to be running in order to
communicate with an X-Series USRP over PCIe. This service is installed as
@@ -493,19 +493,24 @@ run the following command:
If the device still does not enumerate after starting the device manager, make sure that the host computer
has successfully detected it. You can do so by running the following command:
- lspci -k -d 1093:c4c4
+ lspci -k -d 1093:c4c4
A device similar to the following should be detected:
- $ lspci -k -d 1093:c4c4
- 04:00.0 Signal processing controller: National Instruments ...
+ $ lspci -k -d 1093:c4c4
+ 04:00.0 Signal processing controller: National Instruments ...
Subsystem: National Instruments Device 76ca
Kernel driver in use: niusrpriok_shipped
-- A USRP X300 should appear with 'Subsystem: National Instruments Device 7736'
-- A USRP X310 should appear with 'Subsystem: National Instruments Device 76ca'
+- All USRP X-Series devices should appear with 'Subsystem: National Instruments Device'
+- The device ID following can be:
+ - USRP X300: 7736 or 7861
+ - USRP X310: 76CA or 7862
+ - NI-USRP 294xR: 772B, 77FB, 772C, 77FC, 772D, 77FD, 772E, 7853, 785B, 7854, 785C, 7855, 785D or 7856
+ - NI-USRP 295xR: 772F, 77FE, 7730, 77FF, 7731, 7800, 7732, 7857, 785E, 7858, 785F, 7859, 7860 or 785A
-\subsection x3x0_comm_problems_not_enumerated_win USRP device not enumerated (Windows)
+
+\subsection x3x0_comm_problems_not_enumerated_win Device not enumerated over PCI-Express (Windows)
UHD requires the RIO device manager service to be running in order to
communicate with an X-Series USRP over PCIe.
diff --git a/host/docs/usrp_x3x0_config.dox b/host/docs/usrp_x3x0_config.dox
index ed80c31de..adada7623 100644
--- a/host/docs/usrp_x3x0_config.dox
+++ b/host/docs/usrp_x3x0_config.dox
@@ -133,134 +133,19 @@ The above file was generated and modified on a Fedora 20 system.
\subsection x3x0cfg_hostpc_pcie PCI Express Configuration
+\ref page_ni_rio_kernel
+
\b Note: These instructions are \b only relevant for using a
USRP X3xx device over a cabled PCIe transport (PCIe over MXIe cable).
If you are using your USRP X3xx device over 1 Gigabit Ethernet or
10 Gigabit Ethernet, these instructions do <em>not apply to you.</em>
-\subsubsection x3x0cfg_hostpc_pcie_linux Linux Systems
-
In order to use the USRP X300/X310 with PCI Express on Linux,
NI USRP RIO kernel modules needs to be installed. In order to use
the PCIe kernel module, and thus PCIe-over-cable with the X3xx,
-your kernel version must be supported by the kernel module.
-Only 64-bit kernels are supported. To check if your kernel is supported
-by the drivers, check the NI USRP RIO website.
-
-#### Downloading and Extracting Installer
-
-- Download the installer from here: http://files.ettus.com/binaries/niusrprio/niusrprio-installer.tar.gz
-- Extract it with the following command:
-
- tar zxf niusrprio-installer.tar.gz
-
-The files will be extracted into a directory called `niusrprio-installer`.
-
-#### Installation
-
-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.
-
-#### Enabling/Disabling Usage
-
-Once everything is installed, run the following commands to enable
-use of the X300/X310 over PCI Express (the assumption is that `niusrprio_pcie`
-was installed into your `$PATH`):
-
- sudo niusrprio_pcie start
-
-To stop these processes, run the following command:
-
- sudo niusrprio_pcie stop
-
-To check if the kernel modules are loaded and if the RPC server
-is running, run the following command:
-
- niusrprio_pcie status
-
-\b 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`.
-
-#### Hot-plugging/Power-cycling
-
-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 using the following command.
-
- sudo /usr/local/bin/niusrprio_pcie stop
-
-\b Warning: If the device is unplugged without running the above command, the system
-can become unstable and crash.
-
-#### Linux kernel upgrades
-
-The NI USRP RIO 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`:
+your operating and kernel must be supported by the drivers. Please look
+at the page above for a list of supported OS/kernel versions.
- 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
-
-#### Uninstallation
-
-To uninstall the NI USRP RIO kernel modules and RPC server, run the following command:
-
- sudo niusrprio-installer/UNINSTALL
-
-Select `y` at the prompt, and the script will uninstall all installed components.
-
-\subsubsection x3x0cfg_hostpc_pcie_windows Windows
-
-In order to use the USRP X300/X310 with PCI Express on Windows, the
-NI-RIO driver package and the NI-USRP RIO kernel driver needs to be installed.
-
-\b Note: The kernel driver is only supported with certain Windows versions.
-Check the NI USRP RIO website to see if your version is supported.
-
-#### Installing NI-USRP
-
-The NI-USRP 1.3 installer can be downloaded from this location: http://www.ni.com/download/ni-usrp-1.3/4711/en/
-
-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:
-
-- Choose the "2. Standard Download:NIUSRP130.exe" option to download NIUSRP130.exe to your computer
-- Run NIUSRP130.exe as an Administrator and extract the contents to C:\\National Instruments Downloads\\NI-USRP\\1.3
-- In the extract location, run setup.exe and follow the prompts.
-
-Reboot the computer after both the NI-USRP package has been installed.
-
-#### Enabling/Disabling Usage
-
-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.
-
-- To disable the USRPRIO device, navigate to "Device Manager", locate your USRPRIO-X3x0 device, right-click on it and choose "Disable".
-- To enable the USRPRIO device, navigate to "Device Manager", locate your USRPRIO-X3x0 device, right-click on it and choose "Enable".
-
-#### Hot-plugging/Power-cycling
-
-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.
-
-\b Warning: If the device is unplugged without running the above command, the system can become unstable and crash
-
-#### Uninstalling NI-USRP
-
-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.
\subsection x3x0cfg_hostpc_pwr Power Management
@@ -282,20 +167,22 @@ issues, set the governor to "performance".
1. Install cpufrequtils:
- sudo apt-get install cpufrequtils
+ `sudo apt-get install cpufrequtils`
2. Edit `/etc/init.d/cpufrequtils` and set `GOVERNOR="performance"` on the
appropriate line (run as root):
- sed s/^GOVERNOR=.*$/GOVERNOR=\"performance\"/g /etc/init.d/cpufrequtils > /etc/init.d/cpufrequtils
+ `sed s/^GOVERNOR=.*$/GOVERNOR=\"performance\"/g /etc/init.d/cpufrequtils > /etc/init.d/cpufrequtils`
3. Restart cpufrequtils:
- sudo /etc/init.d/cpufrequtils restart
+ `sudo /etc/init.d/cpufrequtils restart`
\b Fedora:
- sudo cpupower frequency-set -g performance
+1. Change the CPU governor:
+
+ `sudo cpupower frequency-set -g performance`
\subsection x3x0cfg_hostpc_rtprio Real-Time & Priority Scheduling