Hello,

After updating the complete system to the new version of UHD I am
experiencing errors with the radio modules of the boards. I have two X310s
equipped with two TwinRx each, so I get 8 reception channels.
Previously it worked with Ubuntu 16.04 LTS, UHD 3.11 and I have updated the
system to a version Ubuntu 20.04, UHD 4.1.0 and GNU Radio 3.9.

When I run GNU Radio with the uhd_fft example I get the following error:

*Generating: '/home/rack_2021/Escritorio/GNU_Radio_ok/uhd_fft.py'*



*Executing: /usr/bin/python3 -u
/home/rack_2021/Escritorio/GNU_Radio_ok/uhd_fft.py*



*[INFO] [UHD] linux; GNU C++ version 9.3.0; Boost_107100;
UHD_4.1.0.HEAD-0-gd21735d5*

*[INFO] [X300] X300 initialization sequence...*

*[INFO] [X300] Maximum frame size: 8000 bytes.*

*[INFO] [X300] Maximum frame size: 8000 bytes.*

*[INFO] [X300] Radio 1x clock: 200 MHz*

*[INFO] [MULTI_USRP]     1) catch time transition at pps edge*

*[INFO] [MULTI_USRP]     2) set times next pps (synchronously)*

*Exception in thread Thread-1:*

*Traceback (most recent call last):*

*  File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner*

*Exception in thread Thread-2:*

*Traceback (most recent call last):*

*  File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner*

*    self.run()*

*  File "/usr/lib/python3.8/threading.py", line 870, in run*

*    self._target(*self._args, **self._kwargs)*

*  File "/home/rack_2021/Escritorio/GNU_Radio_ok/uhd_fft.py", line 427, in
_current_freq_c_probe*

*        self.run()*

*  File "/usr/lib/python3.8/threading.py", line 870, in run*

*val = self.uhd_usrp_source_0.get_sensor("'lo_locked'")*

*RuntimeError:     self._target(*self._args, **self._kwargs)*

*LookupError: Path not found in tree:
/blocks/0/Radio#0/dboard/rx_frontends/0/sensors/'lo_locked'*

*  File "/home/rack_2021/Escritorio/GNU_Radio_ok/uhd_fft.py", line 442, in
_chan0_lo_locked_probe*

*    val = self.uhd_usrp_source_0.get_sensor("'lo_locked'")*

*RuntimeError: LookupError: Path not found in tree:
/blocks/0/Radio#0/dboard/rx_frontends/0/sensors/'lo_locked'*

*[WARNING] [0/Radio#0] Attempting to set tick rate to 0. Skipping.*

*[WARNING] [0/Radio#1] Attempting to set tick rate to 0. Skipping.*

*O[WARNING] [0/Radio#1] Cannot process RX-related async message to invalid
chan 1*

*[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid
chan 1*

*ODgr::log :ERROR: usrp_source0 - In the last 10580 ms, 81 overflows
occurred.*

*DOO[WARNING] [0/Radio#1] Cannot process RX-related async message to
invalid chan 1*

*[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid
chan 1*

*Dgr::log :ERROR: usrp_source0 - In the last 6071 ms, 3 overflows occurred.*

*Dgr::log :ERROR: usrp_source0 - In the last 3055 ms, 2 overflows occurred.*

*Traceback (most recent call last):*

*  File "/home/rack_2021/Escritorio/GNU_Radio_ok/uhd_fft.py", line 130, in
<lambda>*

*    lambda:
self.set_freq_c(eng_notation.str_to_num(str(self._freq_c_line_edit.text()))))*

*  File "/home/rack_2021/Escritorio/GNU_Radio_ok/uhd_fft.py", line 553, in
set_freq_c*

*    self.uhd_usrp_source_0.set_center_freq(float(self.freq_c), 4)*

*RuntimeError: LookupError: KeyError: Invalid RX channel: 304*

*OO[WARNING] [0/Radio#1] Cannot process RX-related async message to invalid
chan 1*

*[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid
chan 1*

*gr::log :ERROR: usrp_source0 - In the last 9181 ms, 1 overflows occurred.*

*gr::log :WARN: usrp_source0 - USRP Source Block caught rx error:
ERROR_CODE_ALIGNMENT (Multi-channel alignment failed)*

*[ERROR] [STREAMER] The rx streamer failed to time-align packets.*

*[ERROR] [STREAMER] The rx streamer failed to time-align packets.*

*gr::log :WARN: usrp_source0 - USRP Source Block caught rx error:
ERROR_CODE_ALIGNMENT (Multi-channel alignment failed)*

*[ERROR] [STREAMER] The rx streamer failed to time-align packets.*

*gr::log :WARN: usrp_source0 - USRP Source Block caught rx error:
ERROR_CODE_ALIGNMENT (Multi-channel alignment failed)*

*[ERROR] [STREAMER] The rx streamer failed to time-align packets.*

*gr::log :WARN: usrp_source0 - USRP Source Block caught rx error:
ERROR_CODE_ALIGNMENT (Multi-channel alignment failed)*

*gr::log :WARN: usrp_source0 - USRP Source Block caught rx error:
ERROR_CODE_ALIGNMENT (Multi-channel alignment failed)*

*[ERROR] [STREAMER] The rx streamer failed to time-align packets.*

*[ERROR] [STREAMER] The rx streamer failed to time-align packets.*
*gr::log :WARN: usrp_source0 - USRP Source Block caught rx error:*
*ERROR_CODE_ALIGNMENT (Multi-channel alignment failed)*

*[ERROR] [STREAMER] The rx streamer failed to time-align packets.*

*[ERROR] [STREAMER] The rx streamer failed to time-align packets.*

*[ERROR] [STREAMER] The rx streamer failed to time-align packets.*
*[ERROR] [STREAMER] The rx streamer failed to time-align packets.*

When executing the codes that I had for the old version with C++ I get a
similar error for high sample rates. Also, with high bandwidths and sample
rates, such as 25MHz, I get overflow regardless of the acquisition time. If
I compare the messages that I got in the old version of UHD with what I
currently get, I can see that before each radio module worked at 100MHz,
while now they work at 200MHz.

Before:

*[WARNING] [X300 RADIO] Requesting invalid sampling rate from device: 200
MHz. Actual rate is: 100 MHz.*

After:

*[INFO] [X300] Radio 1x clock: 200 MHz*


 I don't know if this could be a possible cause of the problem and if that
is the case, I don't know how I can solve the problem since I tried to
change the master clock to a lower one and it gave me an error when trying
to change it.

With low sample rates like 2MHz I can perform the acquisition without
getting errors, although the number of samples received by the command
"rx_stream-> recv (p, max_samps_per_buff, md, timeout)" is not constant in
each iteration.

Any suggestions? Thanks in advance.

Regards,
Anabel
_______________________________________________
USRP-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to