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]