Dear Rob, In the end, I upgraded the OS version with Ubuntu 22.04 and UHD to version 4.5.0. Although I get overflows I no longer get the error I had before.
I appreciate your help. Regards, Anabel El mié, 20 dic 2023 a las 15:55, Rob Kossler (<rkoss...@nd.edu>) escribió: > I am not certain, but I believe that the benchmark_rate example in UHD > 3.12 does not support "sync-ing" of multiple devices. The recent versions > of benchmark_rate do support this. In any case, it is not difficult to add > if you want (configuring all devices to use external Ref/PPS and then > resetting the clocks for all devices at a common PPS). The "sequence" > errors below seem consistent with this hypothesis that the devices are not > sync-ed. > > So, it seems that you do not have "performance issues" if you are able to > run 4x100 MS/s in the single device case. > > In your original email, you mentioned that you were running > "rx_samples_to_file". Maybe you could try changing the file to "/dev/null" > (I think that is right) in order to simply "throw away" the received > samples. Or, you could just modify the source code to skip the file > writing. This might let you know if the file writing is causing havoc. > Rob > > On Wed, Dec 20, 2023 at 6:41 AM Anabel Almodovar < > anabel.almodo...@gmail.com> wrote: > >> When I run the benchmark_rate sometimes work, sometimes no. With 4 >> channels there is no problem. This is one of the error: >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> *rs3_lab@RS3-lab:~/workarea-uhd/uhd/host/examples/build$ sudo >> ./benchmark_rate >> --args="addr0=192.168.60.2,second_addr0=192.168.50.2,addr1=192.168.40.2,second_addr1=192.168.30.2,recv_buff_size=900000000" >> --rx_subdev="A:0 A:1 B:0 B:1" --rx_rate 100e6 --ref="external" >> --pps="external" --channels="0,1,2,3,4,5,6,7"[INFO] [UHD] linux; GNU C++ >> version 5.4.0 20160609; Boost_105800; >> UHD_3.12.0.HEAD-0-gec786351[00:00:00.000016] Creating the usrp device with: >> addr0=192.168.60.2,second_addr0=192.168.50.2,addr1=192.168.40.2,second_addr1=192.168.30.2,recv_buff_size=900000000...[INFO] >> [X300] X300 initialization sequence...[INFO] [X300] Maximum frame size: >> 8000 bytes.[INFO] [X300] Maximum frame size: 8000 bytes.[INFO] [X300] >> Maximum frame size: 8000 bytes.[INFO] [X300] Maximum frame size: 8000 >> bytes.[INFO] [X300] Radio 1x clock: 200 MHz[INFO] [X300] Radio 1x clock: >> 200 MHz[INFO] [0/DmaFIFO_0] Initializing block control (NOC ID: >> 0xF1F0D00000000000)[INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1292 >> MB/s)[INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1308 MB/s)[INFO] >> [0/Radio_0] Initializing block control (NOC ID: 0x12AD100000000001)[INFO] >> [0/Radio_1] Initializing block control (NOC ID: 0x12AD100000000001)[INFO] >> [0/DDC_0] Initializing block control (NOC ID: 0xDDC0000000000000)[INFO] >> [0/DDC_1] Initializing block control (NOC ID: 0xDDC0000000000000)[INFO] >> [0/DUC_0] Initializing block control (NOC ID: 0xD0C0000000000000)[INFO] >> [0/DUC_1] Initializing block control (NOC ID: 0xD0C0000000000000)[WARNING] >> [X300] Cannot update master clock rate! X300 Series does not allow changing >> the clock rate during runtime.[INFO] [GPS] No GPSDO found[INFO] >> [1/DmaFIFO_0] Initializing block control (NOC ID: 0xF1F0D00000000000)[INFO] >> [1/DmaFIFO_0] BIST passed (Throughput: 1316 MB/s)[INFO] [1/DmaFIFO_0] BIST >> passed (Throughput: 1315 MB/s)[INFO] [1/Radio_0] Initializing block control >> (NOC ID: 0x12AD100000000001)[INFO] [1/Radio_1] Initializing block control >> (NOC ID: 0x12AD100000000001)[INFO] [1/DDC_0] Initializing block control >> (NOC ID: 0xDDC0000000000000)[INFO] [1/DDC_1] Initializing block control >> (NOC ID: 0xDDC0000000000000)[INFO] [1/DUC_0] Initializing block control >> (NOC ID: 0xD0C0000000000000)[INFO] [1/DUC_1] Initializing block control >> (NOC ID: 0xD0C0000000000000)[WARNING] [X300] Cannot update master clock >> rate! X300 Series does not allow changing the clock rate during >> runtime.[WARNING] [X300 RADIO] Requesting invalid sampling rate from >> device: 200 MHz. Actual rate is: 100 MHz.[WARNING] [X300 RADIO] Requesting >> invalid sampling rate from device: 200 MHz. Actual rate is: 100 >> MHz.[WARNING] [X300 RADIO] Requesting invalid sampling rate from device: >> 200 MHz. Actual rate is: 100 MHz.[WARNING] [X300 RADIO] Requesting invalid >> sampling rate from device: 200 MHz. Actual rate is: 100 MHz.Using Device: >> Multi USRP: Device: X-Series Device Mboard 0: X310 Mboard 1: X310 RX >> Channel: 0 RX DSP: 0 RX Dboard: A RX Subdev: TwinRX RX0 RX >> Channel: 1 RX DSP: 1 RX Dboard: A RX Subdev: TwinRX RX1 RX >> Channel: 2 RX DSP: 0 RX Dboard: B RX Subdev: TwinRX RX0 RX >> Channel: 3 RX DSP: 1 RX Dboard: B RX Subdev: TwinRX RX1 RX >> Channel: 4 RX DSP: 0 RX Dboard: A RX Subdev: TwinRX RX0 RX >> Channel: 5 RX DSP: 1 RX Dboard: A RX Subdev: TwinRX RX1 RX >> Channel: 6 RX DSP: 0 RX Dboard: B RX Subdev: TwinRX RX0 RX >> Channel: 7 RX DSP: 1 RX Dboard: B RX Subdev: TwinRX RX1 TX >> Channel: 0 TX DSP: 0 TX Dboard: A TX Subdev: Unknown (0xffff) - 0 >> TX Channel: 1 TX DSP: 0 TX Dboard: B TX Subdev: Unknown (0xffff) - >> 0 TX Channel: 2 TX DSP: 0 TX Dboard: A TX Subdev: Unknown >> (0xffff) - 0 TX Channel: 3 TX DSP: 0 TX Dboard: B TX Subdev: >> Unknown (0xffff) - 0Now confirming lock on clock >> signals...[00:00:04.509398] Setting device timestamp to 0...[INFO] >> [MULTI_USRP] 1) catch time transition at pps edge[INFO] [MULTI_USRP] >> 2) set times next pps (synchronously)[00:00:06.357833] Testing receive >> rate 100.000000 Msps on 8 channelsD[00:00:06.408574] Detected Rx sequence >> error.D[00:00:06.427168] Detected Rx sequence error.[00:00:06.532780] >> Receiver error: ERROR_CODE_TIMEOUT, continuing...[00:00:06.632926] Receiver >> error: ERROR_CODE_TIMEOUT, continuing...[00:00:06.733147] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:06.833421] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:06.933685] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:07.033952] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:07.134184] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:07.234537] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:07.334828] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:07.435189] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:07.535456] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:07.635749] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[ERROR] [X300] 192.168.40.2 >> <http://192.168.40.2>: x300 fw communication failure #1EnvironmentError: >> IOError: x300 fw poke32 - reply timed out[00:00:07.736035] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:07.836326] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:07.936631] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:08.036924] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:08.137192] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:08.237608] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:08.337885] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:08.438185] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:08.538479] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:08.638731] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[ERROR] [X300] 192.168.40.2 >> <http://192.168.40.2>: x300 fw communication failure #2EnvironmentError: >> IOError: x300 fw poke32 - reply timed out[00:00:08.738960] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:08.839209] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:08.939471] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:09.039712] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:09.139951] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:09.240207] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:09.340462] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:09.440678] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:09.540942] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:09.641176] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[ERROR] [X300] 192.168.40.2 >> <http://192.168.40.2>: x300 fw communication failure #3EnvironmentError: >> IOError: x300 fw poke32 - reply timed out[ERROR] [UHD] An unexpected >> exception was caught in a task loop.The task loop will now exit, things may >> not work.EnvironmentError: IOError: 192.168.40.2 <http://192.168.40.2>: >> x300 fw communication failure #3EnvironmentError: IOError: x300 fw poke32 - >> reply timed out[00:00:09.741400] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:09.841666] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[ERROR] [STREAMER] The receive packet handler failed to >> time-align packets. 1002 received packets were processed by the handler. >> However, a timestamp match could not be determined.[00:00:11.039474] >> Timestamp after overrun recovery ahead of error timestamp! Unable to >> calculate number of dropped samples.(Delta: -14354204 >> ticks)[D00:00:11.039576] Detected Rx sequence error.O[00:00:11.282342] >> Receiver error: ERROR_CODE_TIMEOUT, continuing...D[00:00:11.282549] >> Detected Rx sequence error.O[00:00:11.533164] Receiver error: >> ERROR_CODE_TIMEOUT, continuing...[00:00:11.533285] Detected Rx sequence >> error.DO[00:00:11.777357] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:11.777444] Detected Rx sequence >> error.DO[00:00:12.024195] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:12.024298D] Detected Rx sequence >> error.OO[00:00:12.352749] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:12.452949] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:12.553142] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:12.653400] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:12.753649] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:12.853960] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:12.954233] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:13.054580] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:13.154806] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:13.255107] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:13.355408] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:13.455681] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:13.555943] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:13.656214] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:13.756477] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:13.856742] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...O[00:00:14.813040] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...D[00:00:14.813167] Detected Rx sequence >> error.O[00:00:15.039704] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...D[00:00:15.039807] Detected Rx sequence >> error.O[00:00:15.295388] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:15.395547] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:15.495668] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:15.595768] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:15.695879] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:15.795982] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:15.896079] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:15.996190] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:16.096293] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:16.196395] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:16.296500] Receiver error: ERROR_CODE_TIMEOUT, >> continuing...[00:00:17.096016] Benchmark complete.Benchmark rate summary: >> Num received samples: 14802336 Num dropped samples: 31269466 Num >> overruns detected: 9 Num transmitted samples: 0 Num sequence errors >> (Tx): 0 Num sequence errors (Rx): 9 Num underruns detected: 0 Num late >> commands: 0 Num timeouts (Tx): 0 Num timeouts (Rx): >> 67Done!* >> >> And this is other: >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> *rs3_lab@RS3-lab:~/workarea-uhd/uhd/host/examples/build$ sudo >> ./benchmark_rate >> --args="addr0=192.168.60.2,second_addr0=192.168.50.2,addr1=192.168.40.2,second_addr1=192.168.30.2,recv_buff_size=900000000" >> --rx_subdev="A:0 A:1 B:0 B:1" --rx_rate 100e6 --ref="external" >> --pps="external" --channels="0,1,2,3,4,5,6,7"[INFO] [UHD] linux; GNU C++ >> version 5.4.0 20160609; Boost_105800; >> UHD_3.12.0.HEAD-0-gec786351[00:00:00.000014] Creating the usrp device with: >> addr0=192.168.60.2,second_addr0=192.168.50.2,addr1=192.168.40.2,second_addr1=192.168.30.2,recv_buff_size=900000000...[INFO] >> [X300] X300 initialization sequence...[INFO] [X300] Maximum frame size: >> 8000 bytes.[INFO] [X300] Maximum frame size: 8000 bytes.[INFO] [X300] >> Maximum frame size: 8000 bytes.[INFO] [X300] Maximum frame size: 8000 >> bytes.[INFO] [X300] Radio 1x clock: 200 MHz[INFO] [0/DmaFIFO_0] >> Initializing block control (NOC ID: 0xF1F0D00000000000)[INFO] [X300] Radio >> 1x clock: 200 MHz[INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1317 >> MB/s)[INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1312 MB/s)[INFO] >> [1/DmaFIFO_0] Initializing block control (NOC ID: 0xF1F0D00000000000)[INFO] >> [1/DmaFIFO_0] BIST passed (Throughput: 1319 MB/s)[INFO] [1/DmaFIFO_0] BIST >> passed (Throughput: 1301 MB/s)[INFO] [0/Radio_0] Initializing block control >> (NOC ID: 0x12AD100000000001)[INFO] [1/Radio_0] Initializing block control >> (NOC ID: 0x12AD100000000001)[INFO] [0/Radio_1] Initializing block control >> (NOC ID: 0x12AD100000000001)[INFO] [1/Radio_1] Initializing block control >> (NOC ID: 0x12AD100000000001)[INFO] [0/DDC_0] Initializing block control >> (NOC ID: 0xDDC0000000000000)[INFO] [1/DDC_0] Initializing block control >> (NOC ID: 0xDDC0000000000000)[INFO] [0/DDC_1] Initializing block control >> (NOC ID: 0xDDC0000000000000)[INFO] [1/DDC_1] Initializing block control >> (NOC ID: 0xDDC0000000000000)[INFO] [0/DUC_0] Initializing block control >> (NOC ID: 0xD0C0000000000000)[INFO] [1/DUC_0] Initializing block control >> (NOC ID: 0xD0C0000000000000)[INFO] [0/DUC_1] Initializing block control >> (NOC ID: 0xD0C0000000000000)[INFO] [1/DUC_1] Initializing block control >> (NOC ID: 0xD0C0000000000000)[WARNING] [X300] Cannot update master clock >> rate! X300 Series does not allow changing the clock rate during >> runtime.[WARNING] [X300] Cannot update master clock rate! X300 Series does >> not allow changing the clock rate during runtime.[WARNING] [X300 RADIO] >> Requesting invalid sampling rate from device: 200 MHz. Actual rate is: 100 >> MHz.[WARNING] [X300 RADIO] Requesting invalid sampling rate from device: >> 200 MHz. Actual rate is: 100 MHz.[WARNING] [X300 RADIO] Requesting invalid >> sampling rate from device: 200 MHz. Actual rate is: 100 MHz.[WARNING] [X300 >> RADIO] Requesting invalid sampling rate from device: 200 MHz. Actual rate >> is: 100 MHz.Using Device: Multi USRP: Device: X-Series Device Mboard 0: >> X310 Mboard 1: X310 RX Channel: 0 RX DSP: 0 RX Dboard: A RX >> Subdev: TwinRX RX0 RX Channel: 1 RX DSP: 1 RX Dboard: A RX >> Subdev: TwinRX RX1 RX Channel: 2 RX DSP: 0 RX Dboard: B RX >> Subdev: TwinRX RX0 RX Channel: 3 RX DSP: 1 RX Dboard: B RX >> Subdev: TwinRX RX1 RX Channel: 4 RX DSP: 0 RX Dboard: A RX >> Subdev: TwinRX RX0 RX Channel: 5 RX DSP: 1 RX Dboard: A RX >> Subdev: TwinRX RX1 RX Channel: 6 RX DSP: 0 RX Dboard: B RX >> Subdev: TwinRX RX0 RX Channel: 7 RX DSP: 1 RX Dboard: B RX >> Subdev: TwinRX RX1 TX Channel: 0 TX DSP: 0 TX Dboard: A TX >> Subdev: Unknown (0xffff) - 0 TX Channel: 1 TX DSP: 0 TX Dboard: B >> TX Subdev: Unknown (0xffff) - 0 TX Channel: 2 TX DSP: 0 TX Dboard: >> A TX Subdev: Unknown (0xffff) - 0 TX Channel: 3 TX DSP: 0 TX >> Dboard: B TX Subdev: Unknown (0xffff) - 0Now confirming lock on clock >> signals...[00:00:03.698257] Setting device timestamp to 0...[INFO] >> [MULTI_USRP] 1) catch time transition at pps edge[INFO] [MULTI_USRP] >> 2) set times next pps (synchronously)[00:00:04.914946] Testing receive >> rate 100.000000 Msps on 8 channelsD[00:00:04.985150] Detected Rx sequence >> error.D[00:00:04.985335] Detected Rx sequence error.D[00:00:04.985416] >> Detected Rx sequence error.D[00:00:04.985481] Detected Rx sequence >> error.D[00:00:04.985547] Detected Rx sequence error.D[00:00:04.985627] >> Detected Rx sequence error.D[00:00:04.985698] Detected Rx sequence >> error.[00:00:04.985783] Detected Rx sequence error.DD[00:00:04.985837] >> Detected Rx sequence error.D[00:00:04.985890] Detected Rx sequence >> error.D[00:00:04.985936] Detected Rx sequence error.D[00:00:04.985990] >> Detected Rx sequence error.D[00:00:04.986057] Detected Rx sequence >> error.D[00:00:04.986136] Detected Rx sequence error.[00:00:04.986233] >> Detected Rx sequence error.D[00:00:04.986316] Timestamp after overrun >> recovery ahead of error timestamp! Unable to calculate number of dropped >> samples.(Delta: -9980 ticks)[D00:00:04.986366] Detected Rx sequence >> error.[00:00:04.986424] Detected Rx sequence error.D[00:00:04.986491] >> Detected Rx sequence error.D[00:00:04.986595] Detected Rx sequence >> error.DD[00:00:04.986838] Detected Rx sequence error.[00:00:04.987167] >> Detected Rx sequence error.D[00:00:04.987334] Detected Rx sequence >> error.DD[00:00:04.987400] Detected Rx sequence error.D[00:00:04.992004] >> Detected Rx sequence error.[00:00:04.992086] Detected Rx sequence >> error.DD[00:00:04.992132] Detected Rx sequence error.D[00:00:04.992183] >> Detected Rx sequence error.D[00:00:04.992231] Detected Rx sequence >> error.D[00:00:04.992279] Detected Rx sequence error.[00:00:04.992335] >> Detected Rx sequence error.D[00:00:04.992392] Detected Rx sequence >> error.D[00:00:04.992453] Detected Rx sequence error.D[00:00:04.992506] >> Detected Rx sequence error.DD[00:00:04.992545] Detected Rx sequence >> error.[00:00:04.992592] Detected Rx sequence error.D[00:00:04.992657] >> Detected Rx sequence error.DD[00:00:04.992711] Detected Rx sequence >> error.[00:00:04.992763] Detected Rx sequence error.D[00:00:04.992834D] >> Detected Rx sequence error.[00:00:04.992889] Detected Rx sequence >> error.D[00:00:04.992947] Detected Rx sequence error.D[00:00:04.993006] >> Detected Rx sequence error.D[00:00:04.993071] Detected Rx sequence >> error.DD[00:00:04.993121] Detected Rx sequence error.[00:00:04.993173] >> Detected Rx sequence error.DD[00:00:04.993213] Detected Rx sequence >> error.[00:00:04.993254D] Detected Rx sequence error.[00:00:04.993310] >> Detected Rx sequence error.D[00:00:04.993366] Detected Rx sequence >> error.DD[00:00:04.993411] Detected Rx sequence error.[00:00:04.993465] >> Detected Rx sequence error.D[00:00:04.993521] Detected Rx sequence >> error.DD[00:00:04.993567] Detected Rx sequence error.D[00:00:04.993611] >> Detected Rx sequence error.[00:00:04.993663D] Detected Rx sequence >> error.[00:00:04.993713] Detected Rx sequence error.DD[00:00:04.993752] >> Detected Rx sequence error.[00:00:04.993803] Detected Rx sequence >> error.D[00:00:04.993859] Detected Rx sequence error.D[00:00:04.993919D] >> Detected Rx sequence error.[00:00:04.993977] Detected Rx sequence >> error.D[00:00:04.994022] Detected Rx sequence error.D[00:00:04.994070D] >> Detected Rx sequence error.[00:00:04.994122] Detected Rx sequence >> error.D[00:00:04.994168] Detected Rx sequence error.DD[00:00:04.994218] >> Detected Rx sequence error.[00:00:04.994250] Detected Rx sequence >> error.D[00:00:08.051291] Detected Rx sequence error.D[00:00:08.051352] >> Detected Rx sequence error.D[00:00:08.051403] Detected Rx sequence >> error.D[00:00:08.051453] Detected Rx sequence error.DD[00:00:09.406237] >> Detected Rx sequence error.[00:00:09.406340] Detected Rx sequence >> error.D[00:00:09.406379] Detected Rx sequence error.D[00:00:09.406422] >> Detected Rx sequence error.DD[00:00:09.406477] Detected Rx sequence >> error.[00:00:09.406525] Detected Rx sequence error.D[00:00:09.406541] >> Detected Rx sequence error.D[00:00:09.406577] Detected Rx sequence >> error.D[00:00:09.406623] Timestamp after overrun recovery ahead of error >> timestamp! Unable to calculate number of dropped samples.(Delta: -1996 >> ticks)[00:00:15.715955] Benchmark complete.Benchmark rate summary: Num >> received samples: 7958249432 Num dropped samples: 49903 Num >> overruns detected: 0 Num transmitted samples: 0 Num sequence errors >> (Tx): 0 Num sequence errors (Rx): 79 Num underruns detected: 0 Num >> late commands: 0 Num timeouts (Tx): 0 Num timeouts (Rx): >> 0Done!* >> >> >> >> El lun, 18 dic 2023 a las 19:10, Rob Kossler (<rkoss...@nd.edu>) >> escribió: >> >>> How about if you use an unmodified "benchmark_rate"? >>> >>> On Mon, Dec 18, 2023 at 11:43 AM Anabel Almodovar < >>> anabel.almodo...@gmail.com> wrote: >>> >>>> Even with a single card I still get the same error. >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> *Creating the usrp device with: >>>> addr0=192.168.60.2,second_addr0=192.168.50.2,recv_buff_size=900000000...Creating >>>> the subdevice with: A:0 A:1 B:0 B:1...Using Device: Single USRP: Device: >>>> X-Series Device Mboard 0: X310 RX Channel: 0 RX DSP: 0 RX Dboard: >>>> A RX Subdev: TwinRX RX0 RX Channel: 1 RX DSP: 1 RX Dboard: A >>>> RX Subdev: TwinRX RX1 RX Channel: 2 RX DSP: 0 RX Dboard: B RX >>>> Subdev: TwinRX RX0 RX Channel: 3 RX DSP: 1 RX Dboard: B RX >>>> Subdev: TwinRX RX1 TX Channel: 0 TX DSP: 0 TX Dboard: A TX >>>> Subdev: Unknown (0xffff) - 0 TX Channel: 1 TX DSP: 0 TX Dboard: B >>>> TX Subdev: Unknown (0xffff) - 0Número de canales detectados: 4Número de >>>> tarjetas detectadas: 1Actual RX Rate: 50.000000 Msps...Actual Acquisition >>>> Time to: 0.000000 Seconds.Actual RX Freq: 800.000000 MHz...Actual RX Gain: >>>> 5.000000 dB...Actual RX Bandwidth: 50.000000 MHz...Setting LO >>>> source...[INFO] [MULTI_USRP] 1) catch time transition at pps edge[INFO] >>>> [MULTI_USRP] 2) set times next pps (synchronously)Press Ctrl + C to >>>> stop streaming...STAR SAMPLING ...D[ERROR] [STREAMER] The receive packet >>>> handler failed to time-align packets. 1002 received packets were processed >>>> by the handler. However, a timestamp match could not be determined.D[ERROR] >>>> [STREAMER] The receive packet handler failed to time-align packets. 1002 >>>> received packets were processed by the handler. However, a timestamp match >>>> could not be determined.^CReceived 199995208 samples in 6.703929 >>>> seconds29.8325 MspsDone!* >>>> >>>> >>>> El lun, 18 dic 2023 a las 17:13, Rob Kossler (<rkoss...@nd.edu>) >>>> escribió: >>>> >>>>> Several comments: >>>>> >>>>> - It seems like multiple things are going on. You mentioned the >>>>> original "failed to time align" error and below you mentioned 'O' and >>>>> 'D'. >>>>> - The time-align error I did not expect had anything to do with >>>>> "performance". This seemed to me that the first packet arriving >>>>> from device >>>>> 1 had a different time stamp than the first packet arriving from >>>>> device 2. >>>>> Now, I'm not so sure >>>>> - But, the 'O' and 'D' are often related to "performance". >>>>> Overflow 'O' occurs when the 'Radio' block has A/D samples that it >>>>> needs to >>>>> put in a FIFO but the FIFO is full because it is not being emptied >>>>> fast >>>>> enough (presumably by the host PC). A dropped packet (or sequence >>>>> error) >>>>> 'D' occurs when the host PC detects that the incoming packets are >>>>> not in >>>>> sequential order. This can occur if the host PC Ethernet handling >>>>> becomes >>>>> overwhelmed and simply discards a set of incoming packets for a time >>>>> period. Both 'O' and 'D' can imply that the host PC is not keeping >>>>> up with >>>>> incoming data >>>>> - In any case, you may want to simplify the problem by dropping >>>>> from two devices to one device. See if you can eliminate some or all >>>>> of >>>>> these problems when using only 4 channels. >>>>> - If you drop to one device, you can use benchmark_rate to test >>>>> performance. If you do not use "second_addr", you should be able to >>>>> get >>>>> 4x50 MS/s. If you use "second_addr", you should be able to get 4x100 >>>>> MS/s. >>>>> - Regarding your needed changes to "rx_samples_to_file", I guess I >>>>> was thinking about the latest version which supports multiple channels. >>>>> Perhaps UHD 3.12 has a version of this example that only supports a >>>>> single >>>>> channel. You could compare your version to the latest version (say, >>>>> UHD >>>>> 4.6) to see the improvements to this example. >>>>> >>>>> >>>>> On Mon, Dec 18, 2023 at 7:44 AM Anabel Almodovar < >>>>> anabel.almodo...@gmail.com> wrote: >>>>> >>>>>> Hi Rob, >>>>>> >>>>>> Thanks for the suggestions. I have tried deleting the LO sharing, and >>>>>> nothing changes. Then removing the second addr, and that leads me to get >>>>>> 'Ds' in addition to the error already mentioned, as it is not able to >>>>>> handle that much information. Although I don't quite understand the >>>>>> difference between 'O' and 'D'. >>>>>> >>>>>> From what I understand the program is set up for a single channel, so >>>>>> I need to modify it to get more than one. >>>>>> >>>>>> Thank you in advance. >>>>>> >>>>>> Regards, >>>>>> Anabel >>>>>> >>>>>> El vie, 15 dic 2023 a las 15:39, Rob Kossler (<rkoss...@nd.edu>) >>>>>> escribió: >>>>>> >>>>>>> Hmmm. I'm not sure. Here are a few comments: >>>>>>> >>>>>>> - Try running without "second_addr". I realize that you will >>>>>>> need it for full rate (4 x 100MS/s for each X310), but you could run >>>>>>> at 50 >>>>>>> MS/s without second_addr >>>>>>> - Try running without shared LO. I don't think you would need to >>>>>>> physically change any sharing cables. >>>>>>> - I am curious why you needed to modify the streamer, pointer >>>>>>> buffer and file writing. I would expect that this would scale with >>>>>>> the >>>>>>> number of channels such that you didn't need to modify any code in >>>>>>> this area >>>>>>> - If you were using a more recent UHD, I would recommend >>>>>>> switching to the example benchmark_rate which natively supports >>>>>>> external >>>>>>> PPS and multiple devices. I noticed that even the most >>>>>>> recent rx_samples_to_file does not support external PPS (without >>>>>>> modifying >>>>>>> the code) >>>>>>> - I know you mentioned you were unable to upgrade because of >>>>>>> compatibility constraints. But, even if you cannot upgrade the OS, >>>>>>> would >>>>>>> you be able to install a new UHD - perhaps in a local folder that >>>>>>> did not >>>>>>> interfere with the system-wide UHD 3.12 installation. I typically >>>>>>> have >>>>>>> multiple UHD versions on my system and switch among them by >>>>>>> "sourcing" a >>>>>>> given setup file as needed. >>>>>>> >>>>>>> >>>>>>> On Fri, Dec 15, 2023 at 12:52 AM Anabel Almodovar < >>>>>>> anabel.almodo...@gmail.com> wrote: >>>>>>> >>>>>>>> Dear Rob, >>>>>>>> >>>>>>>> Yes, I use an external clock configuration. >>>>>>>> >>>>>>>> *std::this_thread::sleep_for( >>>>>>>> std::chrono::milliseconds(int64_t(1000 * setup_time) );* >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> *usrp->set_clock_source("external", >>>>>>>> uhd::usrp::multi_usrp::ALL_MBOARDS); >>>>>>>> usrp->set_time_source("external", >>>>>>>> uhd::usrp::multi_usrp::ALL_MBOARDS);usrp->set_time_unknown_pps(uhd::time_spec_t(0.0));std::this_thread::sleep_for(std::chrono::seconds(1));* >>>>>>>> >>>>>>>> I have only modified the code to get 8 channels and LO sharing. I >>>>>>>> want to get a continuous acquisition setup without losing samples. But >>>>>>>> I am >>>>>>>> starting with something basic at the moment. Any suggestions are >>>>>>>> welcome. >>>>>>>> So I've modified the streamer, the pointer buffer, and added writing >>>>>>>> files. >>>>>>>> >>>>>>>> my line is >>>>>>>> *$sudo ./rx_samples_to_file_v1 >>>>>>>> --args="addr0=192.168.60.2,second_addr0=192.168.50.2,addr1=192.168.40.2,second_addr1=192.168.30.2,recv_buff_size=900000000" >>>>>>>> --subdev="A:0 A:1 B:0 B:1" --channel="0,1,2,3,4,5,6,7" --freq 800e6 >>>>>>>> --rate >>>>>>>> 25e6 --bw 25e6 --gain 70 * >>>>>>>> >>>>>>>> Regards, >>>>>>>> >>>>>>>> *Anabel* >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> El jue, 14 dic 2023 a las 18:25, Rob Kossler (<rkoss...@nd.edu>) >>>>>>>> escribió: >>>>>>>> >>>>>>>>> Hi Anabel, >>>>>>>>> In my opinion, the error you are experiencing has nothing to do >>>>>>>>> with streaming performance settings (such as "performance" governor, >>>>>>>>> network descriptors, MTU size, etc). The issue seems to be that the >>>>>>>>> two >>>>>>>>> X310 devices do not have synchronized clocks. In addition to the >>>>>>>>> physical >>>>>>>>> synchronization using OctoClock, you must also configure each device >>>>>>>>> to use >>>>>>>>> external synchronization and you must tell each device to reset its >>>>>>>>> FPGA >>>>>>>>> clock count at a common PPS. The typical sequence is: (1) wait for a >>>>>>>>> PPS to >>>>>>>>> occur (by querying either device), (2) tell each device to reset its >>>>>>>>> FPGA >>>>>>>>> clock at the subsequent PPS (this step must complete before the next >>>>>>>>> PPS >>>>>>>>> arrives). >>>>>>>>> >>>>>>>>> You mentioned that you are using rx_samples_to_file. Did you >>>>>>>>> modify it in any way? What is your exact command line with all >>>>>>>>> parameters? >>>>>>>>> Rob >>>>>>>>> >>>>>>>>> On Thu, Dec 14, 2023 at 10:29 AM Anabel Almodovar < >>>>>>>>> anabel.almodo...@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> Dear Rob >>>>>>>>>> >>>>>>>>>> Thank you for your answer. >>>>>>>>>> I make use of the CDA-2990 octoclock as a source of >>>>>>>>>> synchronization between both USRPs, in addition to local oscillator >>>>>>>>>> sharing. I use dual 10GigEth connections and a MTU of 9000 to >>>>>>>>>> connect the >>>>>>>>>> USRPs to the PC. >>>>>>>>>> >>>>>>>>>> Due to various compatibility issues I am unable to upgrade the >>>>>>>>>> system. >>>>>>>>>> >>>>>>>>>> When I work with a sample rate of 10MSps I don't get problems but >>>>>>>>>> when I increase to 25MSps I start to get the error. I need them >>>>>>>>>> working >>>>>>>>>> with 100MSps. I have tried changing the CPU governor to >>>>>>>>>> "performance" to >>>>>>>>>> get the maximum working frequency (*sudo cpupower frequency-set >>>>>>>>>> --governor performance*), as well as changing the number of >>>>>>>>>> network interface descriptors to maximum (*sudo ethtool -G >>>>>>>>>> <interface> tx <max> rx <max>*), or increasing the dirty memory >>>>>>>>>> buffer (*sudo sysctl -w vm.dirty_ratio=80; sudo sysctl -w >>>>>>>>>> vm.dirty_background_ratio=50*), but I still get the same problem. >>>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> Anabel >>>>>>>>>> >>>>>>>>>> El jue, 14 dic 2023 a las 15:38, Rob Kossler (<rkoss...@nd.edu>) >>>>>>>>>> escribió: >>>>>>>>>> >>>>>>>>>>> Hi Anabel, >>>>>>>>>>> How are you sync-ing the clocks on the two units? Do you have an >>>>>>>>>>> external PPS source and are you configuring both devices to use this >>>>>>>>>>> external source? >>>>>>>>>>> >>>>>>>>>>> Finally, do you have the ability to upgrade your OS and your UHD >>>>>>>>>>> versions? There aren't many user's that are using UHD 3.12 so if >>>>>>>>>>> you have >>>>>>>>>>> issues, it will be hard to get support. >>>>>>>>>>> Rob >>>>>>>>>>> >>>>>>>>>>> On Thu, Dec 14, 2023 at 5:20 AM Anabel Almodovar < >>>>>>>>>>> anabel.almodo...@gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Dear all, >>>>>>>>>>>> >>>>>>>>>>>> I am trying to make an acquisition with two X310 equipped with >>>>>>>>>>>> two TwinRx. I am using Ubuntu 16.04 LTS 64-bit and UHD 3.12. My PC >>>>>>>>>>>> contains >>>>>>>>>>>> 128GB RAM and an Intel® Xeon(R) Silver 4114 CPU @ 2.20GHz × 40 and >>>>>>>>>>>> a 4TB >>>>>>>>>>>> SSD. I have modified the example rx_samples_to_file.cpp code to >>>>>>>>>>>> get 8 >>>>>>>>>>>> channels and I get the following error: >>>>>>>>>>>> >>>>>>>>>>>> *D* >>>>>>>>>>>> *[ERROR] [STREAMER] The receive packet handler failed to >>>>>>>>>>>> time-align packets. 1002 received packets were processed by the >>>>>>>>>>>> handler. >>>>>>>>>>>> However, a timestamp match could not be determined.* >>>>>>>>>>>> *Timeout while streaming* >>>>>>>>>>>> >>>>>>>>>>>> *[ERROR] [X300] 192.168.60.2 <http://192.168.60.2>: x300 fw >>>>>>>>>>>> communication failure #1* >>>>>>>>>>>> *EnvironmentError: IOError: x300 fw poke32 - reply timed out* >>>>>>>>>>>> *[ERROR] [UHD] An unexpected exception was caught in a task >>>>>>>>>>>> loop.The task loop will now exit, things may not >>>>>>>>>>>> work.AssertionError: >>>>>>>>>>>> reply.sequence == request.sequence* >>>>>>>>>>>> * in virtual void >>>>>>>>>>>> x300_ctrl_iface_enet::__poke32(uhd::wb_iface::wb_addr_type, >>>>>>>>>>>> uint32_t)* >>>>>>>>>>>> * at >>>>>>>>>>>> /home/rs3_lab/workarea-uhd/uhd/host/lib/usrp/x300/x300_fw_ctrl.cpp:135* >>>>>>>>>>>> >>>>>>>>>>>> I don't know how to solve the Timeout problem, I have tried to >>>>>>>>>>>> start the acquisition 1.1 sg in time. But it didn't work. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> * stream_cmd.stream_now = false; >>>>>>>>>>>> stream_cmd.time_spec = usrp->get_time_last_pps(0)+1.1;* >>>>>>>>>>>> >>>>>>>>>>>> What is the problem and how can I fix it? >>>>>>>>>>>> >>>>>>>>>>>> Regards, >>>>>>>>>>>> Anabel >>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> 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