usrpctl(1)

πŸ“¦
version 4.9.0.1 Β· 2 versions
  • 4.9.0.1 Β· alpine 3.24, arch rolling, debian trixie, epel 10, epel 9, fedora 43, fedora 44, nixpkgs unstable, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 4.3.0.0 Β· debian bookworm
, in alpine 3.24, arch rolling, debian trixie, epel 10, epel 9, fedora 43, fedora 44, nixpkgs unstable, opensuse-leap 16.0, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– usrpctl β€” the manual, but make it make sense πŸ’–

okay bestie, welcome to the usrpctl page from the User Commands section of the manual. It's one page. It's iconic. Let's go. πŸŽ€


🌸 NAME 🌸

usrpctl β€” the USRP Hardware Driver Peripheral Configuration Tool. That's the whole name, no notes, periodt. πŸ’…


✨ DESCRIPTION ✨

So what does this thing actually do? It reports detailed information on UHD-supported Software Radio Peripherals that are attached by USB, network, or embedded configuration. And it also lets you update and configure attached devices. Both. She multi-tasks. πŸ‘‘

Real talk about UHD itself: the UHD package is the universal hardware driver for Ettus Research products. The goal (the whole mission, the main character energy) is to provide a host driver and API for current and future Ettus Research products. And because we're generous: users will be able to use the UHD driver standalone or with 3rd party applications. Both ways. Slay. ✨

The details you get include unit names, revision numbers, and available sensors on all attached USRP motherboards and daughterboards. Like, the full tea. πŸ“


πŸ¦‹ SYNOPSIS πŸ¦‹

usrpctl [ID] COMMAND [OPTIONS]

πŸ’œ ID πŸ’œ

ID is the optional device argument. Its whole job is to define a set of USRP devices that COMMAND should be applied to. No ID? Then COMMAND gets applied to all reachable devices. Everyone's getting the command, bestie. 😭

Also important: usrpctl understands the device args argument used by other UHD tools like uhd_find_devices. So if you already know that syntax, you're already fluent. iykyk. 🧚


πŸ”₯ COMMAND πŸ”₯

COMMAND is the action the tool is to take. Every command can be either applied to a single device or a group of devices. And when a command runs on a group of devices, it repeats the command for every device. No skipping, no shortcuts. πŸ’€

🌈 Single device commands

  • config β€” Read/write configuration variables (e.g., IP address). Yes, like setting an IP. That kind of config.
  • probe β€” reads extended information about the USRP. The deep dive. πŸ”

🌈 Multi device commands

  • update β€” Update binaries (e.g., FPGA image). Fresh firmware, new you. ✨
  • reset β€” Reset the specified subcomponent(s) of the USRP.
  • find β€” finds all available USRPs in this network. The scavenger hunt. πŸŽ€

πŸ’… OPTIONS πŸ’…

Okay so here's the thing: the options are not always mandatory. Whether you need them depends on the given COMMAND. It's giving "situationship with your flags". πŸ™ˆ

πŸŽ€ 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 discovered devices. And the print out is compatible to uhd_find_devices. You can also use ID to narrow down the list of discovered devices. πŸ¦‹

πŸŽ€ probe command

Print a complete property tree:

  • -tree β€” dumps the whole property tree, every branch, no crumbs left behind. 🌳

The probe command can only be applied to a single device, so make sure that ID identifies exactly one device. Not two. Not zero. One. πŸ‘‘ Without arguments it displays detailed information about the device such as name, serial, revision numbers, firmware version, and sensor information on attached motherboard and daughterboards.

πŸŽ€ reset command

Reset MPM:

  • -mpm β€” resets the MPM subcomponent. That's the one. 🫢

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. All of them. Every single one. πŸ’€


⭐ EXAMPLES ⭐

The receipts. Copy these exactly, bestie, character for character. πŸ’–

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
⚠️ not me pointing out that the manual itself says usprctl in that one example instead of usrpctl β€” that's a typo in the original page, and we keep it exactly as it is because facts don't change. πŸ’€ keep the typo, respect the typo.
usrpctl addr=192.168.10.2 reset -mpm
        Resets MPM on the device with the given IP.

🫢 SEE ALSO 🫢


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 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

🚨 bestie, this is the legal part. No warranty, fr fr. Read it, don't skip it. πŸ™ˆ

aaaand that's the page!! πŸ’– this was UHD version 4.0.0, from the usrpctl(1) manual. go configure something iconic. bye bestie, love u, no cap. πŸŒˆβœ¨πŸŽ€πŸ¦‹