Hi Tim and others affected by this, I think that narrows down. And I'm afraid UHD is not at fault here, or rather, it has no way of knowing any better, at least I'm pretty confident that is the case.
UHD is designed to follow the freedeskop specifications: https://specifications.freedesktop.org/basedir-spec/latest/ ...that means if you specify XDG_DATA_HOME, then UHD will use that value. Not all data that UHD stores or loads is subject to this path, but the calibration data are. So UHD is looking for the data in the "right spot", and if you need a different path, you have to specify UHD_CAL_DATA_PATH (see earlier message). There's still two mysteries here: 1. Why did usrp_calibrator store the data in `/.local`? My hypothesis is that it was run in a context where XDG_DATA_HOME was not set. The code to store and retrieve cal data is the same between usrp_calibrator and normal UHD operations. That's how we make sure the paths aren't the same. 2. Why is XDG_DATA_HOME set in your case? Maybe VS Code is installed from snap, and populates that variable? This is ultimately a question for you, I'm afraid. --M On Mon, Apr 14, 2025 at 12:58 PM Tim Vancauwenbergh < tim.vancauwenberg...@gmail.com> wrote: > Hi Martin, > > running echo $XDG_DATA_HOME in the virtual environment gives: > /home/username/snap/code/188/.local/share > I am using Visual Studio Code, if it might help. > > Tim > > Op ma 14 apr 2025 om 11:51 schreef Martin Braun <martin.br...@ettus.com>: > >> Ah, those are more recent than UHD 4.6. >> >> Is the environment variable XDG_DATA_HOME set on your system? What does >> "echo $XDG_DATA_HOME" print for you? >> >> BTW, if the only problem is that the cal data path is misattributed, then >> you can set the environment variable >> UHD_CAL_DATA_PATH=~/.local/uhd/shrae/uhd/cal. That should do the trick. >> However, I would still like to figure out what caused this. >> >> --M >> >> On Mon, Apr 14, 2025 at 11:39 AM Tim Vancauwenbergh < >> tim.vancauwenberg...@gmail.com> wrote: >> >>> Hello Martin, >>> >>> only installed via apt, I did not specify snap. >>> uhd.get_lib_path() returns: /lib/x86_64-linux-gnu -> libuhd.so found here >>> uhd.get_pkg_path() returns: /lib >>> I am unable to use uhd.get_pkg_data_path() and uhd.get_module_paths() -> >>> uhd has no attribute >>> >>> Tim >>> >>> Op do 10 apr 2025 om 17:14 schreef Martin Braun <martin.br...@ettus.com >>> >: >>> >>>> That was very helpful. So there's a discrepancy between what the >>>> cal-tool thinks the path is (~/.local/...) and what UHD thinks it is >>>> (~/snap/code/188/.local). >>>> >>>> I'm also a bit surprised about that UHD path. Did you install UHD via >>>> snap? (If yes, I didn't even know that was possible!). I know you say you >>>> installed via apt, but I'm just baffled why UHD thinks this is the right >>>> path. >>>> >>>> There are other path APIs, here is what they look like on a system >>>> where I install UHD, manually, into a random location: >>>> >>>> >>> uhd.get_lib_path() >>>> '/home/mbr0wn/prefix/master/lib' >>>> >>> uhd.get_pkg_data_path() >>>> '/home/mbr0wn/prefix/master/share/uhd' >>>> >>> uhd.get_cal_data_path() >>>> '/home/mbr0wn/.local/share/uhd/cal' >>>> >>>> >>>> The first (get_lib_path()) is the path where the libuhd.so file is >>>> located. Is that the case for you? >>>> >>>> You can see even there, the cal files are, by default, searched for in >>>> ~/.local/share/uhd/cal. >>>> >>>> --M >>>> >>>> On Thu, Apr 10, 2025 at 10:13 AM Tim Vancauwenbergh < >>>> tim.vancauwenberg...@gmail.com> wrote: >>>> >>>>> Hello Martin, >>>>> >>>>> it prints the following: >>>>> home/username/snap/code/188/.local/share/uhd/cal >>>>> That folder does not exist, the deepest path I can go is >>>>> home/username/snap/code/188/.local/share/ >>>>> I manually created the folders uhd/cal and pasted the calibration >>>>> files there. Now the function usrp.has_rx_power_reference() returns True. >>>>> I'll investigate further. >>>>> >>>>> Tim >>>>> >>>>> Op wo 9 apr 2025 om 09:02 schreef Martin Braun <martin.br...@ettus.com >>>>> >: >>>>> >>>>>> Tim, >>>>>> >>>>>> sorry for suggesting this so late: What does this Python script print: >>>>>> >>>>>> import uhd >>>>>> print(uhd.get_cal_data_path()) >>>>>> >>>>>> >>>>>> ? >>>>>> >>>>>> On Tue, Apr 8, 2025 at 10:53 AM Tim Vancauwenbergh < >>>>>> tim.vancauwenberg...@gmail.com> wrote: >>>>>> >>>>>>> Hello Martin, >>>>>>> >>>>>>> thanks for your reply. It would be helpful to know where the driver >>>>>>> looks for the file, but until now I did not find any variable or >>>>>>> function >>>>>>> to obtain this location. >>>>>>> >>>>>>> FYI, I am using a virtual environment on Ubuntu 24.0.2 LTS with >>>>>>> Python 3.12.3. >>>>>>> The following packages related to uhd are installed via apt: >>>>>>> >>>>>>> *Status**Package Name**Version**Architecture**Description* >>>>>>> ii libgnuradio-uhd3.10.9t64:amd64 3.10.9.2-1.1ubuntu2 amd64 gnuradio >>>>>>> universal hardware driver functions >>>>>>> ii libuhd4.6.0t64:amd64 4.6.0.0+ds1-5.1ubuntu0.24.04.1 amd64 universal >>>>>>> hardware driver for Ettus Research products - library >>>>>>> ii python3-uhd 4.6.0.0+ds1-5.1ubuntu0.24.04.1 amd64 universal >>>>>>> hardware driver for Ettus Research products - Python3 >>>>>>> ii soapysdr0.8-module-uhd:amd64 0.4.1-4build4 amd64 UHD device >>>>>>> support for SoapySDR >>>>>>> ii uhd-doc 4.6.0.0+ds1-5.1ubuntu0.24.04.1 all universal hardware >>>>>>> driver for Ettus Research products - doc >>>>>>> ii uhd-host 4.6.0.0+ds1-5.1ubuntu0.24.04.1 amd64 universal hardware >>>>>>> driver for Ettus Research products - host apps >>>>>>> Best regards, >>>>>>> >>>>>>> Tim >>>>>>> >>>>>>> Op di 8 apr 2025 om 10:14 schreef Martin Braun < >>>>>>> martin.br...@ettus.com>: >>>>>>> >>>>>>>> Tim, >>>>>>>> >>>>>>>> at first glance, you're doing everything right. Thanks for taking >>>>>>>> the time and reading the docs. We'll need to look into this. >>>>>>>> >>>>>>>> I saw you also opened >>>>>>>> https://github.com/EttusResearch/uhd/issues/842, that's very >>>>>>>> helpful. Sorry I can't give you the right answer immediately! >>>>>>>> >>>>>>>> --M >>>>>>>> >>>>>>>> On Thu, Apr 3, 2025 at 11:28 AM Tim Vancauwenbergh < >>>>>>>> tim.vancauwenberg...@gmail.com> wrote: >>>>>>>> >>>>>>>>> Hello >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I've recently run the uhd_power_cal.py script to calibrate the RX >>>>>>>>> paths of a B200mini using a calibrated signal generator. >>>>>>>>> >>>>>>>>> It generated two files, saved at >>>>>>>>> /home/username/.local/share/uhd/cal: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> - b2xxmini_pwr_rx_rx2_33ECA1A#A.cal >>>>>>>>> >>>>>>>>> - b2xxmini_pwr_rx_tx+rx_33ECA1A#A.cal >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Using python, I have the following code: >>>>>>>>> >>>>>>>>> print(f"RX info: {usrp.get_usrp_rx_info()}") >>>>>>>>> >>>>>>>>> This returns the following: >>>>>>>>> >>>>>>>>> RX info: {'mboard_id': 'B200mini', 'mboard_name': 'B200mini', >>>>>>>>> 'mboard_serial': '33ECA1A', 'module_serial': '33ECA1A', 'rx_antenna': >>>>>>>>> 'TX/RX', 'rx_id': 'Unknown (0xffff)', 'rx_ref_power_key': >>>>>>>>> 'b2xxmini_pwr_rx_tx+rx', 'rx_ref_power_serial': '33ECA1A#A', >>>>>>>>> 'rx_serial': '', 'rx_subdev_name': 'FE-RX1', 'rx_subdev_spec': 'A:A'} >>>>>>>>> >>>>>>>>> Running the following functions return false however. >>>>>>>>> >>>>>>>>> usrp.has_rx_power_reference() >>>>>>>>> uhd.usrp.cal.database.has_cal_data('b2xxmini_pwr_rx_tx+rx', >>>>>>>>> '33ECA1A#A'): >>>>>>>>> >>>>>>>>> Why? *How can I use the calibration file in python to obtain >>>>>>>>> estimated received power level at the RX side in dBm?* This is >>>>>>>>> not clear in the documentation. I would like to do this for the TX >>>>>>>>> side as >>>>>>>>> well. >>>>>>>>> >>>>>>>>> Thanks! >>>>>>>>> >>>>>>>>> References: >>>>>>>>> >>>>>>>>> https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a1dadf323c5f00ac4f93b231adc13e34... >>>>>>>>> <https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a1dadf323c5f00ac4f93b231adc13e34c> >>>>>>>>> >>>>>>>>> https://files.ettus.com/manual/classuhd_1_1usrp_1_1cal_1_1database.html#a5605b43f778efc10f29cb616afb... >>>>>>>>> <https://files.ettus.com/manual/classuhd_1_1usrp_1_1cal_1_1database.html#a5605b43f778efc10f29cb616afbfb7d9> >>>>>>>>> https://files.ettus.com/manual/page_power.html >>>>>>>>> _______________________________________________ >>>>>>>>> USRP-users mailing list -- usrp-users@lists.ettus.com >>>>>>>>> To unsubscribe send an email to usrp-users-le...@lists.ettus.com >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> USRP-users mailing list -- usrp-users@lists.ettus.com >>>>>>>> To unsubscribe send an email to usrp-users-le...@lists.ettus.com >>>>>>>> >>>>>>> _______________________________________________ >>>> USRP-users mailing list -- usrp-users@lists.ettus.com >>>> To unsubscribe send an email to usrp-users-le...@lists.ettus.com >>>> >>> _______________________________________________ >> USRP-users mailing list -- usrp-users@lists.ettus.com >> To unsubscribe send an email to usrp-users-le...@lists.ettus.com >> >
_______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com To unsubscribe send an email to usrp-users-le...@lists.ettus.com