Packages and Binaries:
libuhd-dev
Host library for the Universal Hardware Driver for Ettus Research products.
The supported devices provide analog radio receiver and transmitter hardware along with digital interfaces for getting signals to and from a software defined radio running on the host computer.
This package contains the header files for developing with libuhd. Doxygen generated documentation is in the uhd-host package.
Installed size: 1.13 MB
How to install: sudo apt install libuhd-dev
Dependencies:
- libuhd4.6.0
libuhd4.6.0
Host library for the Universal Hardware Driver for Ettus Research products.
The supported devices provide analog radio receiver and transmitter hardware along with digital interfaces for getting signals to and from a software defined radio running on the host computer.
Installed size: 14.94 MB
How to install: sudo apt install libuhd4.6.0
Dependencies:
- libboost-chrono1.83.0
- libboost-filesystem1.83.0
- libboost-serialization1.83.0
- libboost-thread1.83.0
- libc6
- libgcc-s1
- libpython3.11
- libstdc++6
- libusb-1.0-0
libuhd4.6.0-dpdk
Host library for the Universal Hardware Driver for Ettus Research products.
The supported devices provide analog radio receiver and transmitter hardware along with digital interfaces for getting signals to and from a software defined radio running on the host computer.
This package is built with the Data Plane Development Kit and has additional dependencies and system configuration requirements to use those features.
Installed size: 15.14 MB
How to install: sudo apt install libuhd4.6.0-dpdk
Dependencies:
- libboost-chrono1.83.0
- libboost-filesystem1.83.0
- libboost-serialization1.83.0
- libboost-thread1.83.0
- libc6
- libgcc-s1
- libpython3.11
- librte-eal24
- librte-ethdev24
- librte-hash24
- librte-mbuf24
- librte-mempool24
- librte-ring24
- libstdc++6
- libusb-1.0-0
libuhd4.6.0-dpdk-tests
Network tests for the Universal Hardware Driver for Ettus Research products.
This package is built with the Data Plane Development Kit and has additional dependencies and system configuration requirements to use those features.
Installed size: 1.09 MB
How to install: sudo apt install libuhd4.6.0-dpdk-tests
Dependencies:
- libboost-filesystem1.83.0
- libboost-program-options1.83.0
- libc6
- libgcc-s1
- librte-eal24
- librte-ethdev24
- librte-hash24
- librte-mbuf24
- librte-mempool24
- librte-net24
- librte-ring24
- libstdc++6
- libuhd4.6.0-dpdk
python3-uhd
Host library for the Universal Hardware Driver for Ettus Research products.
The supported devices provide analog radio receiver and transmitter hardware along with digital interfaces for getting signals to and from a software defined radio running on the host computer.
This package contains the Python API support for Python3.
Installed size: 3.57 MB
How to install: sudo apt install python3-uhd
Dependencies:
- libc6
- libgcc-s1
- libpython3.11
- libstdc++6
- libuhd4.6.0
- python3
- python3
- python3-numpy
- python3-numpy-abi9
- python3-ruamel.yaml
uhd-doc
Detailed documentation for the Universal Hardware Driver.
This package includes the Doxygen generated documentation.
Installed size: 35.72 MB
How to install: sudo apt install uhd-doc
Dependencies:
- libjs-mathjax
uhd-host
Host utilities for the Universal Hardware Driver for Ettus Research products.
The supported devices provide analog radio receiver and transmitter hardware along with digital interfaces for getting signals to and from a software defined radio running on the host computer.
This package includes the uhd_find_devices application to locate and configure attached peripherals, the uhd_usrp_probe application to display hardware configuration information and Doxygen generated documentation.
Installed size: 25.27 MB
How to install: sudo apt install uhd-host
Dependencies:
- libboost-filesystem1.83.0
- libboost-program-options1.83.0
- libboost-test1.83.0
- libboost-thread1.83.0
- libc6
- libgcc-s1
- libncurses6
- libstdc++6
- libtinfo6
- libuhd4.6.0
- python3
- python3-numpy
- python3-numpy-abi9
- python3-requests
rfnoc_image_builder
Build UHD image using RFNoC blocks.
root@kali:~# man rfnoc_image_builder
UHD(1) User Commands UHD(1)
NAME
rfnoc_image_builder - Build UHD image using RFNoC blocks.
USAGE
rfnoc_image_builder [-h] (-y YAML_CONFIG | -r GRC_CONFIG) [-F FPGA_DIR]
[-o IMAGE_CORE_OUTPUT] [-x ROUTER_HEX_OUTPUT]
[-I INCLUDE_DIR] [-b GRC_BLOCKS] [-l LOG_LEVEL] [--gener-
ate-only] [-d DEVICE] [-t TARGET] [-g] [-c]
optional arguments:
-h, --help
show this help message and exit
-y YAML_CONFIG, --yaml-config YAML_CONFIG
Path to yml configuration file
-r GRC_CONFIG, --grc-config GRC_CONFIG
Path to grc file to generate config from
-F FPGA_DIR, --fpga-dir FPGA_DIR
Path to directory for the FPGA source tree.Defaults to the FPGA
source tree of the current repo.
-o IMAGE_CORE_OUTPUT, --image-core-output IMAGE_CORE_OUTPUT
Path to where to save the image core Verilog source. Defaults
to the directory of the YAML file, filename <DEVICE>_rfnoc_im-
age_core.v
-x ROUTER_HEX_OUTPUT, --router-hex-output ROUTER_HEX_OUTPUT
Path to where to save the static router hex file. Defaults to
the directory of the YAML file, filename <DEVICE>_sta-
tic_router.hex
-I INCLUDE_DIR, --include-dir INCLUDE_DIR
Path directory of the RFNoC Out-of-Tree module
-b GRC_BLOCKS, --grc-blocks GRC_BLOCKS
Path directory of GRC block descriptions (needed for --grc-con-
fig only)
-l LOG_LEVEL, --log-level LOG_LEVEL
Adjust log level
--generate-only
Just generate files without building IP
-d DEVICE, --device DEVICE
Device to be programmed [x300, x310, e310, e320, n300, n310,
n320].Needs to be specified either here, or in the configuration
file.
-t TARGET, --target TARGET
Build target (e.g. X310_HG, N320_XG, ...). Needs to be specified
either here, on the configuration file.
-g, --GUI
Open Vivado GUI during the FPGA building process
-c, --clean-all
Cleans the IP before a new build
[-o IMAGE_CORE_OUTPUT] [-x ROUTER_HEX_OUTPUT]
[-I INCLUDE_DIR] [-b GRC_BLOCKS] [-l LOG_LEVEL] [--gener-
ate-only] [-d DEVICE] [-t TARGET] [-g] [-c]
SEE ALSO
UHD documentation: https://files.ettus.com/manual/
Other UHD programs:
uhd_cal_tx_dc_offset(1) uhd_cal_rx_iq_balance(1) uhd_images_down-
loader(1) uhd_config_info(1) uhd_find_devices(1)
AUTHOR
This manual page was written by Maitland Bottoms for the Debian project
(but may be used by others).
COPYRIGHT
Copyright (c) 2020 Ettus Research LLC
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.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MER-
CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
UHD 4 August 2020 UHD(1)
uhd_adc_self_cal
Invoke calibration in some UHD devices.
root@kali:~# uhd_adc_self_cal --help
UHD ADC self calibration Allowed options:
--help help message
--version print the version string and exit
--args arg device address args
uhd_cal_rx_iq_balance
Generate RX IQ Balance Calibration Table for a UHD Device
root@kali:~# uhd_cal_rx_iq_balance --help
USRP Generate RX IQ Balance Calibration Table Allowed options:
--help help message
--verbose enable some verbose
--args arg Device address args [default = ""]
--subdev arg Subdevice specification (default: first
subdevice, often 'A')
--tx_wave_ampl arg (=0.69999999999999996)
Transmit wave amplitude
--tx_offset arg (=934400) TX LO offset from the RX LO in Hz
--freq_start arg Frequency start in Hz (do not specify
for default)
--freq_stop arg Frequency stop in Hz (do not specify
for default)
--freq_step arg (=7300000) Step size for LO sweep in Hz
--nsamps arg Samples per data capture
--precision arg (=0.0001) Correction precision (default=0.0001)
This application measures leakage between RX and TX on a transceiver daughterboard to self-calibrate.
Note: Not all daughterboards support this feature. Refer to the UHD manual for details.
uhd_cal_tx_dc_offset
Generate TX DC Offset Calibration Table for a UHD Device
root@kali:~# uhd_cal_tx_dc_offset --help
USRP Generate TX DC Offset Calibration Table Allowed options:
--help help message
--verbose enable some verbose
--args arg device address args [default = ""]
--subdev arg Subdevice specification (default: first
subdevice, often 'A')
--tx_wave_freq arg (=507123) Transmit wave frequency in Hz
--tx_wave_ampl arg (=0.69999999999999996)
Transmit wave amplitude
--rx_offset arg (=934400) RX LO offset from the TX LO in Hz
--freq_start arg Frequency start in Hz (do not specify
for default)
--freq_stop arg Frequency stop in Hz (do not specify
for default)
--freq_step arg (=7300000) Step size for LO sweep in Hz
--nsamps arg Samples per data capture
--precision arg (=0.0001) Correction precision (default=0.0001)
This application measures leakage between RX and TX on a transceiver daughterboard to self-calibrate.
Note: Not all daughterboards support this feature. Refer to the UHD manual for details.
uhd_cal_tx_iq_balance
Generate TX IQ Balance Calibration Table for a UHD Device
root@kali:~# uhd_cal_tx_iq_balance --help
USRP Generate TX IQ Balance Calibration Table Allowed options:
--help help message
--verbose enable some verbose
--args arg device address args [default = ""]
--subdev arg Subdevice specification (default: first
subdevice, often 'A')
--tx_wave_freq arg (=507123) Transmit wave frequency in Hz
--tx_wave_ampl arg (=0.69999999999999996)
Transmit wave amplitude
--rx_offset arg (=934400) RX LO offset from the TX LO in Hz
--freq_start arg Frequency start in Hz (do not specify
for default)
--freq_stop arg Frequency stop in Hz (do not specify
for default)
--freq_step arg (=7300000) Step size for LO sweep in Hz
--nsamps arg Samples per data capture
--precision arg (=0.0001) Correction precision (default=0.0001)
This application measures leakage between RX and TX on a transceiver daughterboard to self-calibrate.
Note: Not all daughterboards support this feature. Refer to the UHD manual for details.
uhd_config_info
USRP Hardware Driver Build Configuration Info
root@kali:~# uhd_config_info --help
UHD Config Info - Allowed Options:
--build-date Print build date
--c-compiler Print C compiler
--cxx-compiler Print C++ compiler
--c-flags Print C compiler flags
--cxx-flags Print C++ compiler flags
--enabled-components Print built-time enabled components
--install-prefix Print install prefix
--boost-version Print Boost version
--libusb-version Print libusb version
--pkg-path Print pkg path
--lib-path Print library path
--images-dir Print images dir
--abi-version Print ABI version string
--print-all Print everything
--version Print this UHD build's version
--help Print help message
uhd_find_devices
USRP Hardware Driver Discovery Utility
root@kali:~# uhd_find_devices --help
UHD Find Devices Allowed options:
--help help message
--args arg device address args
uhd_image_loader
UHD Image Loader
root@kali:~# uhd_image_loader --help
UHD Image Loader
Load firmware and/or FPGA images onto an Ettus Research device.
Allowed options:
--help help message
--args arg Device args, optional loader args
--fw-path arg Firmware path (uses default if none specified)
--fpga-path arg FPGA path (uses default if none specified)
--out-path arg Output path/filename of the downloaded FPGA .bit file
--no-fw Don't burn firmware
--no-fpga Don't Burn FPGA
--download Download an image to a bit/bin file
uhd_images_downloader
USRP Hardware Driver firmware/FPGA downloader
root@kali:~# uhd_images_downloader -h
usage: uhd_images_downloader [-h] [-t TYPES] [-i INSTALL_LOCATION]
[-m MANIFEST_LOCATION] [-I INVENTORY_LOCATION]
[-l] [--url-only] [--buffer-size BUFFER_SIZE]
[--download-limit DOWNLOAD_LIMIT]
[--http-proxy HTTP_PROXY] [-b BASE_URL] [-k] [-T]
[-y] [-n] [--refetch] [-V] [-q] [-v]
Download image files required for USRPs. Usage: The `uhd_images_downloader`
should work, "out of the box", with no command line arguments. Assuming your
computer has an internet connection to [files.ettus.com], simply run the
utility every time you update UHD, and the installed images for your devices
should always be up to date. Images will be downloaded on a per-target basis.
That is, there are image packages for a desired device and configuration.
Users can specify which image packages they would plan to use. To see a list
of available targets, run `uhd_images_downloader --list-targets`. The left
column of the printout will be a list of available image archives. From there,
you can construct a regular expression which matches to the targets you wish
to download. For example, in order to download all image packages related to
the X300 product line, users may run `uhd_images_downloader --types x3.*`. The
`uhd_images_downloader` uses a manifest to look-up the URLs of image packages
to download. Downloaded images are recorded in an inventory file that lives in
the images install location. This allows the downloader to skip images that
were previously downloaded, and haven't changed since. Manifests are built
into the downloader, but can also be accessed at uhd/images/manifest.txt.
Inventory files are JSON files called `inventory.json`, by default. It is
possible to specify the inventory file in command line arguments, but we don't
recommend using this functionality unless you're really sure you need it.
options:
-h, --help show this help message and exit
-t TYPES, --types TYPES
RegEx to select image sets from the manifest file.
(default: None)
-i INSTALL_LOCATION, --install-location INSTALL_LOCATION
Set custom install location for images (default: None)
-m MANIFEST_LOCATION, --manifest-location MANIFEST_LOCATION
Set custom location for the manifest file (default:
None)
-I INVENTORY_LOCATION, --inventory-location INVENTORY_LOCATION
Set custom location for the inventory file (default:
None)
-l, --list-targets Print targets in the manifest file to stdout, and
exit. To get relative paths only, specify an empty
base URL (-b ''). (default: False)
--url-only With -l, only print the URLs, nothing else. (default:
False)
--buffer-size BUFFER_SIZE
Set download buffer size (default: 8192)
--download-limit DOWNLOAD_LIMIT
Set threshold for download limits. Any download larger
than this will require approval, either interactively,
or by providing --yes. (default: 1073741824)
--http-proxy HTTP_PROXY
Specify HTTP(S) proxy in the format
http[s]://user:[email protected]:port If this this option
is not given, the environment variables
HTTP_PROXY/HTTPS_PROXY can also be used to specify a
proxy. (default: None)
-b BASE_URL, --base-url BASE_URL
Set base URL for images download location. Defaults to
$UHD_IMAGES_URL if set, or
https://files.ettus.com/binaries/cache/ otherwise.
(default: None)
-k, --keep Keep the downloaded images archives in the image
directory (default: False)
-T, --test Verify the downloaded archives before extracting them
(default: False)
-y, --yes Answer all questions with 'yes' (for scripting
purposes). (default: False)
-n, --dry-run Print selected target without actually downloading
them. (default: False)
--refetch Ignore the inventory file and download all images.
(default: False)
-V, --version show program's version number and exit
-q, --quiet Decrease verbosity level (default: 0)
-v, --verbose Increase verbosity level (default: 0)
uhd_usrp_probe
USRP Hardware Driver Peripheral Report Utility
root@kali:~# uhd_usrp_probe --help
UHD USRP Probe Allowed options:
--help help message
--version print the version string and exit
--args arg device address args
--tree specify to print a complete property tree
--string arg query a string value from the property tree
--double arg query a double precision floating point value
from the property tree
--int arg query a integer value from the property tree
--sensor arg query a sensor value from the property tree
--range arg query a range (gain, bandwidth, frequency, ...)
from the property tree
--vector when querying a string, interpret that as
std::vector
--init-only skip all queries, only initialize device
--interactive-reg-iface arg RFNoC devices only: Spawn a shell to
interactively peek and poke registers on RFNoC
blocks
usrp2_card_burner
USRP N-Series FPGA/Firmware Burner
root@kali:~# usrp2_card_burner -h
Usage: usrp2_card_burner [options]
Options:
-h, --help show this help message and exit
--dev=DEV raw device path
--fw=FW firmware image path (optional)
--fpga=FPGA fpga image path (optional)
--list list possible raw devices
--force override safety check
usrpctl
USRP Hardware Driver Peripheral Configuration Tool
root@kali:~# man usrpctl
usrpctl(1) User Commands usrpctl(1)
NAME
usrpctl - USRP Hardware Driver Peripheral Configuration Tool
DESCRIPTION
Report detailed information on UHD-supported Software Radio Peripherals
attached by USB, network, or embedded configuration. Allows update and
configuration of attached devices.
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 dri-
ver standalone or with 3rd party applications.
Details include unit names, revision numbers, and available sensors on
all attached USRP motherboards and daughterboards.
SYNOPSIS
usrpctl [ID] COMMAND [OPTIONS]
ID
ID is the optional device argument. It is used to define a set of USRP
devices that COMMAND should be applied to. If ID is omitted COMMAND is
applied to all reachable devices.
usrpctl understands the device args argument used by other UHD tools
like uhd_find_devices.
COMMAND
Is the action the tool is to take. Every command can be either applied
to a single device or a group of devices. Commands that run on a group
of devices repeat the command for every device.
- Single device commands:
- config: Read/write configuration variables (e.g., IP address)
- probe: reads extended information about the USRP - Multi device
commands:
- update: Update binaries (e.g., FPGA image)
- reset: Reset the specified subcomponent(s) of the USRP
- find: finds all available USRPs in this network
OPTIONS
The options are not always mandatory. It depends on the given COMMAND.
find command
The find command takes no further options. If ID is not given it scans
the system for available, supported devices and prints a list of dis-
covered devices. The print out is compatible to uhd_find_devices. ID
can be used to narrow down the list of discovered devices.
probe command
Print a complete property tree:
-tree
The probe command can only be applied to a single device so make sure
that
ID identifies exactly one device. Without arguments it displays
detailed information about the device such as name, serial, re-
vision numbers, firmware version sensor information on attached
motherboard and daughterboards.
reset command
Reset MPM:
-mpm
The reset command resets specified subcomponents of a device. If ID is
not
given, it scans the system for available, supported devices and
resets the specified subcomponent of all discovered devices.
EXAMPLES
usrpctl find
find all supported devices
usrpctl type=x300,product=X310 find
find all x310 devices
usrpctl name=my_usrp find
find a device named my_usrp
usrpctl addr=192.168.10.2 find
find a device with the given IP.
usrpctl addr=192.168.10.2 probe
display device information for USRP with the given ID
usprctl name=my_usrp probe -tree
display property tree of device with the name my_usrp
usrpctl addr=192.168.10.2 reset -mpm
Resets MPM on the device with the given IP.
SEE ALSO
UHD documentation: http://files.ettus.com/manual/
COPYRIGHT
Copyright (c) 2022 Ettus Research, A National Instruments Brand
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.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MER-
CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
UHD 4.0.0 usrpctl(1)
Updated on: 2024-Feb-16