uhd_image_loader(1)

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

✨ uhd_image_loader β€” the UHD Image Loader ✨

okay bestie, listen up πŸ’– this one lives in section 1 of the manual (uhd_image_loader(1)), and it's literally the tool that burns firmware and FPGA images onto connected Ettus Research devices. that's it. that's the job. no cap. πŸ”₯


🌸 NAME 🌸

uhd_image_loader β€” UHD Image Loader πŸ’…

πŸ¦‹ DESCRIPTION πŸ¦‹

Burn firmware and FPGA images onto connected Ettus Research devices.

like. it writes the images. onto the hardware. that's the whole vibe. πŸŽ€

⭐ SYNOPSIS ⭐

uhd_image_loader [OPTIONS]

πŸ‘‘ OPTIONS πŸ‘‘

okay so here's the menu, go wild πŸ“

  • List options:
    • --help β€” shows you the options. iconic behavior honestly.
  • Device and loader arguments:
    • --args="" β€” the device + loader arguments go in here.
  • Custom firmware filepath:
    • --fw-path="" β€” point at your own firmware file.
  • Custom FPGA filepath:
    • --fpga-path="" β€” point at your own FPGA file.
  • Don't burn firmware:
    • --no-fw β€” skips the firmware burning, bestie.
  • Don't burn FPGA:
    • --no-fpga β€” skips the FPGA burning.

🧚 SPECIFYING A PARTICULAR DEVICE 🧚

so if you don't pass anything through the args="" option, this utility will just start a session with the first Ettus Research device it sees. like it's not picky, it'll take whoever shows up first πŸ’€

but the arguments below will narrow down the utility's search for a particular device:

πŸ’œ All devices πŸ’œ

The name= and serial= arguments can be used to specify any device except an uninitialized USB device or an OctoClock bootloader. The type= argument can be used to specify any device, as described below:

The "type=" argument:

  • type=usrp2 β†’ USRP N200, USRP N210
  • type=b200 β†’ USRP B200, USRP B210
  • type=e3x0 β†’ USRP E310
  • type=octoclock β†’ OctoClock
NOTE: The USRP1, USRP2, and USRP B100 are not supported. not invited to the party. sorry not sorry πŸ™ˆ

🌈 Network devices 🌈

By default, this utility will check all network interfaces for network-based devices, but a specific IP address can be specified with the addr= argument.

🫢 NI-RIO devices 🫢

An X-Series devices connected via PCIe can be specified by its NI-RIO resource through the resource= argument, and the RPC port through which to communicate with it can be specified with the rpc-port= argument. Using these options is not recommended, as their default values are almost always used. (so like, don't. the defaults ate. πŸ’…)

πŸ• OctoClock devices πŸ•

An OctoClock's name and serial are only exposed when the firmware is loaded, so if the device only has a bootloader, only the addr= argument can be used to find it. the struggle is real 😭


πŸ”₯ DEVICE-SPECIFIC LOADER OPTIONS πŸ”₯

Certain devices have specific options for customizing their image loading process, and these can be passed in through the --args="" option. These arguments are specified below:

πŸ’– USRP N200, USRP N210 πŸ’–

The overwrite-safe option will overwrite the device's safe-mode firmware and FPGA images.

This is NOT RECOMMENDED, as these images serve as the backup if the device's primary images are corrupted. bestie do NOT do this, that's your safety net 😭

The reset option will automatically reset the device once the loading process finishes. When the device resets, it will have its new images loaded. slay. ✨

πŸ’– USRP X300, USRP X310 (Ethernet only) πŸ’–

The configure option will automatically reset the device once the loading process finishes. When the device resets, it will have its new FPGA image loaded.

The verify option will tell the device to internally verify the integrity of the image as it loads. This greatly increases the loading time. (fr fr, go make a snack πŸ“)


πŸŽ€ EXAMPLES πŸŽ€

Load only the default FPGA image onto a specific N2x0 device and reset

uhd_image_loader --args="type=usrp2,addr=192.168.10.2,reset" --no-fw

Load a custom FPGA image onto a specific X3x0 device

uhd_image_loader --args="type=x300,addr=192.168.40.2" --fpga-path="/home/user/my_x300_fpga_image.bit"

πŸ’€ SEE ALSO πŸ’€


πŸ¦‹ AUTHOR πŸ¦‹

This manual page was written by Nicholas Corgan for the Debian project (but may be used by others). ty for your service king πŸ‘‘

Copyright (c) 2015-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.


and that's the whole thing bestie, we're done here πŸ’… this was UHD 3.9.0, and the page you just read is uhd_image_loader(1). go forth and burn some images, ily, bye 🫢✨