I'm running Ubuntu 20.04 and have an x310. I flashed it with the latest 'apt install libuhd-dev' which appeared to be UHD 4.3 and put the FPGA at capability 39. However, 'apt install gnuradio-dev' installs GR 3.10 which installs libgnuradio-uhd3.10.4 which installs libuhd3.15.0.
None of the usual uhd_find_devices utilities are installed nor are the images_downloader.py or the burner so I don't know how to update the firmware to match. If it helps, below is what I see when trying to connect. Thanks, Eric Python 3.8.10 (default, Jun 22 2022, 20:18:18) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import uhd >>> uhd.usrp.MultiUSRP() [INFO] [UHD] linux; GNU C++ version 9.2.1 20200304; Boost_107100; UHD_3.15.0.0-2build5 [INFO] [X300] X300 initialization sequence... Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3/dist-packages/uhd/usrp.py", line 20, in __init__ super(MultiUSRP, self).__init__(args) RuntimeError: RuntimeError: Expected FPGA compatibility number 36, but got 39: The FPGA image on your device is not compatible with this host code build. Download the appropriate FPGA images for this version of UHD. Please run: "/usr/lib/uhd/utils/uhd_images_downloader.py" Then burn a new image to the on-board flash storage of your USRP X3xx device using the image loader utility. Use this command: "/usr/bin/uhd_image_loader" --args="type=x300,addr=192.168.40.2" For more information, refer to the UHD manual: http://files.ettus.com/manual/page_usrp_x3x0.html#x3x0_flash