aboutsummaryrefslogtreecommitdiffstats
path: root/host/docs
diff options
context:
space:
mode:
Diffstat (limited to 'host/docs')
-rw-r--r--host/docs/CMakeLists.txt4
-rw-r--r--host/docs/build.dox24
-rw-r--r--host/docs/transport.dox12
-rw-r--r--host/docs/uhd_config_info.164
-rw-r--r--host/docs/usrp_b200.dox4
-rw-r--r--host/docs/usrp_x3x0.dox17
6 files changed, 110 insertions, 15 deletions
diff --git a/host/docs/CMakeLists.txt b/host/docs/CMakeLists.txt
index 96f388b2e..7f510f58c 100644
--- a/host/docs/CMakeLists.txt
+++ b/host/docs/CMakeLists.txt
@@ -63,7 +63,6 @@ ENDIF(ENABLE_MANUAL)
########################################################################
# Setup API documentation (using Doxygen)
########################################################################
-MESSAGE(STATUS "")
LIBUHD_REGISTER_COMPONENT("API/Doxygen" ENABLE_DOXYGEN ON "DOXYGEN_FOUND" OFF OFF)
OPTION(ENABLE_DOXYGEN_FULL "Use Doxygen to document the entire source tree (not just API)" OFF)
OPTION(ENABLE_DOXYGEN_DOT "Let Doxygen use dot (requires graphviz)" OFF)
@@ -91,7 +90,6 @@ ENDIF(ENABLE_DOXYGEN)
########################################################################
# Run Doxygen (on code and/or manual, depending on CMake flags)
########################################################################
-MESSAGE(STATUS "")
IF(ENABLE_MANUAL_OR_DOXYGEN)
#generate the doxygen configuration file
SET(CMAKE_CURRENT_BINARY_DIR_DOXYGEN ${CMAKE_CURRENT_BINARY_DIR}/doxygen)
@@ -128,6 +126,7 @@ SET(man_page_sources
uhd_cal_rx_iq_balance.1
uhd_cal_tx_dc_offset.1
uhd_cal_tx_iq_balance.1
+ uhd_config_info.1
uhd_find_devices.1
uhd_image_loader.1
uhd_images_downloader.1
@@ -140,7 +139,6 @@ SET(man_page_sources
########################################################################
# Setup man pages
########################################################################
-MESSAGE(STATUS "")
FIND_PACKAGE(GZip)
# No elegant way in CMake to reverse a boolean
diff --git a/host/docs/build.dox b/host/docs/build.dox
index 1390a8b6d..95f7bab85 100644
--- a/host/docs/build.dox
+++ b/host/docs/build.dox
@@ -26,8 +26,8 @@ follow the auxiliary download URL for the Windows installer (below).
The following compilers are known to work and officially supported:
-- GCC >= 4.4
-- Clang >= 3.1
+- GCC >= 4.8
+- Clang >= 3.3
- MSVC >= 2012; the free <a href="https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx">Visual Studio Express Edition for Desktop</a> works.
Other compilers (or lower versions) may work, but are unsupported.
@@ -35,14 +35,14 @@ Other compilers (or lower versions) may work, but are unsupported.
### CMake
- **Purpose:** generates project build files
-- **Minimum Version:** 2.6
+- **Minimum Version:** 2.8
- **Usage:** build time (required)
- **Download URL:** http://www.cmake.org/cmake/resources/software.html
### Boost
- **Purpose:** C++ library
-- **Minimum Version:** 1.46
+- **Minimum Version:** 1.53
- **Usage:** build time + runtime (required)
- **Download URL:** http://www.boost.org/users/download/
- **Download URL (Windows installer):** http://sourceforge.net/projects/boost/files/boost-binaries/
@@ -58,7 +58,7 @@ Other compilers (or lower versions) may work, but are unsupported.
### Python
- **Purpose:** used by mako and utility scripts
-- **Minimum Version:** 2.6
+- **Minimum Version:** 2.7
- **Usage:** build time + runtime utility scripts (required)
- **Download URL:** http://www.python.org/download/
@@ -99,6 +99,10 @@ You can install all the dependencies through the package manager:
sudo yum -y install boost-devel libusb1-devel python-mako doxygen python-docutils cmake make gcc gcc-c++
+or
+
+ sudo dnf -y install boost-devel libusb1-devel python-mako doxygen python-docutils cmake make gcc gcc-c++
+
Your actual command may differ.
\section build_get_source Getting the source code
@@ -116,21 +120,21 @@ This will populate the `fpga-src` submodule inside the repository. You can also
git submodule init
git submodule update
-Our source code repository contains two branches:
+Our source code repository contains of two main branches:
\li \b master: This is the main development branch, with updated new features and bug fixes.
\li \b maint: This branch has all bugfixes since the last major release, but there are no new features. This is what you should be using if you need a stable release.
We might also be publishing experimental feature branches which can then be found in the same repository.
-All of our releases are associated with tags in the repository.
+All of our versioned releases are associated with tags in the repository.
\li <a href="https://github.com/EttusResearch/UHD/tags">Source archives for release tags</a>
\section build_pybombs Using PyBOMBS
-PyBOMBS is a command-line tool for Linuxes (and some Unixes) from the GNU Radio ecosystem and will do a source build of UHD, including setting up prerequisites/dependencies (regardless of the distribution) with the following command:
+PyBOMBS is a command-line tool for Linuxes (and some Unixes) from the GNU Radio ecosystem and will do a source build of UHD, including setting up prerequisites/dependencies (regardless of the distribution). Assuming you have PyBOMBS set up, you can install UHD with the following command:
- $ ./pybombs install uhd
+ $ pybombs install uhd
Head to the <a href="https://github.com/gnuradio/pybombs/#installation">PyBOMBS Homepage</a> for more instructions. PyBOMBS can install UHD (as well as GNU Radio or similar projects) both into system directories as well as into user's home directories, omitting the requirement for superuser access.
@@ -297,7 +301,7 @@ If your application uses CMake as a build system, the following command
will setup up your build environment to link against UHD:
\code{.cmake}
-find_package(UHD "3.8.0")
+find_package(UHD "3.10.0")
\endcode
This will set the CMake variable `UHD_INCLUDE_DIRS` and `UHD_LIBRARIES`
diff --git a/host/docs/transport.dox b/host/docs/transport.dox
index 72d59fb2a..ab163341d 100644
--- a/host/docs/transport.dox
+++ b/host/docs/transport.dox
@@ -95,6 +95,18 @@ values, run the following commands: :
Set the values permanently by editing `/etc/sysctl.conf`.
+It is also possible to tune the network interface controller (NIC)
+by using ethtool. Increasing the number of descriptors for TX or RX can
+dramatically boost performance on some hosts.
+
+To change the number of TX/RX descriptors, run the following command:
+
+ sudo ethtool -G <interface> tx <N> rx <N>
+
+One can query the maximums and current settings with the following command:
+
+ ethtool -g <interface>
+
\subsection transport_udp_windows Windows specific notes
<b>UDP send fast-path:</b> It is important to change the default UDP
diff --git a/host/docs/uhd_config_info.1 b/host/docs/uhd_config_info.1
new file mode 100644
index 000000000..edc1b7532
--- /dev/null
+++ b/host/docs/uhd_config_info.1
@@ -0,0 +1,64 @@
+.TH "uhd_find_devices" 1 "3.9.1" UHD "User Commands"
+.SH NAME
+uhd_config_info \- USRP Hardware Driver Build Configuration Info
+.SH DESCRIPTION
+Print build information corresponding to this installation of the USRP
+Hardware Driver (UHD).
+.LP
+The UHD package is the universal hardware driver for Ettus Research
+products. The goal is to provide a host driver and API for
+current and future Ettus Research products. Users will be able to use
+the UHD driver standalone or with 3rd party applications.
+
+.SH SYNOPSIS
+.B uhd_config_info [OPTIONS]
+
+.SH OPTIONS
+.IP "Print date this build was compiled:"
+--boost-version
+.IP "Print Boost version used:"
+--build-date
+.IP "Print C compiler used:"
+--c-compiler
+.IP "Print C++ compiler used:"
+--cxx-compiler
+.IP "Print C compile flags:"
+--c-flags
+.IP "Print C++ compile flags:"
+--cxx-flags
+.IP "Print UHD components included in this build (comma-delimited):"
+--enabled-components
+.IP "Print default install prefix for this build:"
+--install-prefix
+.IP "Print libusb version used"
+--libusb-version
+.IP "Print all information listed above:"
+--print-all
+.IP "Print UHD version:"
+--version
+.IP "This help information:"
+--help
+
+.SH SEE ALSO
+UHD documentation:
+.B http://files.ettus.com/manual/
+.LP
+GR-UHD documentation:
+.B http://gnuradio.org/doc/doxygen/page_uhd.html
+
+.SH AUTHOR
+This manual page was written by Nicholas Corgan
+for the Debian project (but may be used by others).
+
+.SH COPYRIGHT
+Copyright (c) 2015 National Instruments Corp.
+.LP
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+.LP
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
diff --git a/host/docs/usrp_b200.dox b/host/docs/usrp_b200.dox
index 248f07e85..c846e916f 100644
--- a/host/docs/usrp_b200.dox
+++ b/host/docs/usrp_b200.dox
@@ -214,7 +214,7 @@ Below is a table showing the B200/B210 external connections and respective power
<td>J101</td> <td>GPS Antenna</td> <td>GPSDO will supply nominal voltage to antenna.</td>
</tr>
<tr>
- <td>J100</td> <td>External 10 MHz Input</td> <td>+15 dBm max</td
+ <td>J100</td> <td>External 10 MHz Input</td> <td>+15 dBm max</td>
</tr>
<tr>
<td>J800</td> <td>RF B: TX/RX</td> <td>TX power +20dBm max<br>
@@ -249,7 +249,7 @@ Below is a table showing the B200mini external connections and respective power
<td>J2</td> <td>RX2</td> <td>RX power -15dBm max</td>
</tr>
<tr>
- <td>J3</td> <td>External 10MHz/PPS Reference</td> <td>+15 dBm max</td
+ <td>J3</td> <td>External 10MHz/PPS Reference</td> <td>+15 dBm max</td>
</tr>
</table>
diff --git a/host/docs/usrp_x3x0.dox b/host/docs/usrp_x3x0.dox
index f57ec783d..da5b3b91a 100644
--- a/host/docs/usrp_x3x0.dox
+++ b/host/docs/usrp_x3x0.dox
@@ -131,6 +131,23 @@ Installation instructions for this interface are available on the official Intel
The LEDs on the front panel can be useful in debugging hardware and software issues (see \ref x3x0_hw_fpanel)
+### Dual 10 Gigabit Ethernet
+
+In order to utilize the X-series USRP over dual 10 Gigabit Ethernet interfaces, ensure
+either the XG or XGS image is installed (see \ref x3x0_load_fpga_imgs_fpga_flavours).
+In addition to burning the prerequisite FPGA image, it may also be necessary
+to tune the network interface card (NIC) to eliminate drops (Ds) and reduce overflows (Os).
+This is done by increasing the number of RX descriptors (see \ref transport_udp_linux).
+
+The benchmark_rate tool can be used to test this capability.
+Run the following commands to test the X-series USRP over both 10 Gigabit
+Ethernet interfaces with the maximum rate of 200 Msps per channel:
+
+ cd <install-path>/lib/uhd/examples
+ ./benchmark_rate --args="type=x300,addr=<Primary IP>,second_addr=<secondary IP>" --channels="0,1" --rx_rate 200e6
+
+The second interface is specified by the extra argument <b>second_addr</b>.
+
\subsection x3x0_hw_pcie PCI Express (Desktop)
<b>Important Note: The USRP X-Series provides PCIe connectivity over MXI cable.