我正试图在fedora 34上使用uhd 4.0.0从USRP X310中捕获样本。我一直对";超时";即时中断流媒体,但我找不到任何原因,也没有在互联网上得到任何帮助。。。我给你下面的详细代码。
谢谢你的帮助!
附言:我和有同样的结果/rx_samples_to_file,不带参数
[user@computer examples]$ ./rx_samples_to_file --freq=1000000000 --bw=500000 --rate 200000 --duration=0.5 --file=x310_test.bin
Creating the usrp device with: ...
[INFO] [UHD] linux; GNU C++ version 11.0.1 20210324 (Red Hat 11.0.1-0); Boost_107500; UHD_4.0.0.0-0-unknown
[INFO] [X300] X300 initialization sequence...
[INFO] [X300] Maximum frame size: 1472 bytes.
[INFO] [X300] Radio 1x clock: 200 MHz
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: 2
RX Dboard: B
RX Subdev: Unknown (0xffff) - 0
TX Channel: 0
TX DSP: 0
TX Dboard: B
TX Subdev: Unknown (0xffff) - 0
Setting RX Rate: 0.200000 Msps...
Actual RX Rate: 0.200000 Msps...
Setting RX Freq: 1000.000000 MHz...
Setting RX LO Offset: 0.000000 MHz...
Actual RX Freq: 1000.000000 MHz...
Setting RX Bandwidth: 0.500000 MHz...
Actual RX Bandwidth: 0.500000 MHz...
Waiting for "lo_locked": ++++++++++ locked.
Press Ctrl + C to stop streaming...
Timeout while streaming
Done!
我也尝试过基准测试功能,但最终还是一样:
编辑:我停止了firewalld.services
[usr@computer examples]$ ./benchmark_rate --args="type=x300,addr=192.168.10.2,serial=320179E" --channels 0,1 --rx_rate 2e6 --duration 5
[INFO] [UHD] linux; GNU C++ version 11.0.1 20210324 (Red Hat 11.0.1-0); Boost_107500; UHD_4.0.0.0-0-unknown
[00:00:00.000390] Creating the usrp device with: type=x300,addr=192.168.10.2,serial=320179E...
[INFO] [X300] X300 initialization sequence...
[INFO] [X300] Maximum frame size: 1472 bytes.
[INFO] [X300] Radio 1x clock: 200 MHz
[WARNING] [RFNOC::GRAPH] One or more blocks timed out during flush!
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: 2
RX Dboard: B
RX Subdev: Unknown (0xffff) - 0
TX Channel: 0
TX DSP: 0
TX Dboard: B
TX Subdev: Unknown (0xffff) - 0
[00:00:03.664016092] Setting device timestamp to 0...
[INFO] [MULTI_USRP] 1) catch time transition at pps edge
[INFO] [MULTI_USRP] 2) set times next pps (synchronously)
[WARNING] [0/Radio#0] Attempting to set tick rate to 0. Skipping.
[00:00:04.934122870] Testing receive rate 2.000000 Msps on 2 channels
[00:00:05.85737158] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:05.185992285] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:05.286246070] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:05.386497035] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:05.486745394] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:05.587001598] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:05.687253152] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:05.787508452] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:05.887760249] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:05.988013669] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:06.88264700] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:06.188520367] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:06.288770879] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:06.389026502] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:06.489276462] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:06.589533078] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:06.689791950] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:06.790041080] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:06.890288133] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:06.990543703] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:07.90798580] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:07.191062617] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:07.291319218] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:07.391574410] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:07.491830205] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:07.592097982] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:07.692351705] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:07.792602183] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:07.892874187] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:00:07.993127880] Receiver error: ERROR_CODE_TIMEOUT, continuing...
O[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
O[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
OO[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
O[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
OO[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
O[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
O[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
OO[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
OO[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
OO[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
OO[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
O[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
OO[WARNING] [0/Radio#0] Cannot process RX-related async message to invalid chan 1
[00:00:10.123329222] Benchmark complete.
Benchmark rate summary:
Num received samples: 0
Num dropped samples: 0
Num overruns detected: 20
Num transmitted samples: 0
Num sequence errors (Tx): 0
Num sequence errors (Rx): 0
Num underruns detected: 0
Num late commands: 0
Num timeouts (Tx): 0
Num timeouts (Rx): 30
Done!
我知道这个主题有点旧,但经过几天的故障排除,我不得不分享我是如何在不必购买SFP+适配器的情况下修复它的。
在我的案例中,我有一种方法来检查USRP的板载FPGA的健康状况和状态。但是,在python桌面端,我们实际上过于频繁地检查状态,这导致了CPU问题,导致超时和性能损失:Linux几乎可以使用。
我只需要在两张支票之间加上一个0.01秒的临时时间,现在它就像一个没有任何问题的符咒。我想SFP+模块允许更高的速度,这使得0.01秒的临时性变得毫无用处,因为我们不再是cpu瓶颈。但它仍然可以在更高的速度下发生。
最常见的原因是您的电脑过滤掉了包含数据的网络数据包。例如,这可能是防火墙规则,或者配置奇怪的MTU。
除此之外:
--bw=500000
:没有一个USRP硬件的前端滤波器可以做得那么窄。它通常也不会有任何帮助,所以你很可能根本不想具体说明这一点--rx_rate 2e5
这实际上是可能的采样率的最低限度。这很少有用,你可能会看到数字滤波器的推出。建议:现代电脑速度快。使用1e6作为速率,并在软件中过滤和抽取到您需要的任何速率enable_tx_dual_eth=1
省略了这一点。(当它重新配置网络时,这也可能解决你的问题(当你的USRP甚至没有TX子板时,我看不出这有什么意义