I have only succeeded in running a B210 on a Raspberry Pi at lower data rates (closer to 12MS) so your experience is consistent with mine.
On Tue, 3 Nov 2020 at 17:20, Marcus D. Leech via USRP-users < usrp-users@lists.ettus.com> wrote: > On 11/03/2020 10:49 AM, Alvaro Pendas Recondo via USRP-users wrote: > > Hello, > > > > I am using a USRP B200mini with a sampling rate of 40MS that works > > perfectly fine connected to a laptop with USB 3. However, when I > > connect it to a Raspberry Pi 4 (which has two USB 3 ports) and I run > > the example benchmark_rate with the same sampling rate I get the > > output that I copy below. It seems that even if it is also operating > > over USB 3, this connection cannot meet the expected performance > > anymore. If I reduce the sampling rate (down to 12 MS approx) > > everything works fine. Any ideas about what might be causing this > problem? > > > > > > By the way, I already followed all the instructions explained at > > > https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks#:~:text=Thread%20Priority%20Scheduling,-When%20UHD%20spawns&text=To%20address%20this%20issue%2C%20non,%2Fetc%2Fsecurity%2Flimits > > < > https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks#:%7E:text=Thread%20Priority%20Scheduling,-When%20UHD%20spawns&text=To%20address%20this%20issue%2C%20non,%2Fetc%2Fsecurity%2Flimits>. > > > > > > > > > ./benchmark_rate --rx_rate 40e6 --tx_rate 40e6 > > > > [INFO] [UHD] linux; GNU C++ version 8.3.0; Boost_106700; > > UHD_3.15.0.HEAD-0-gaea0e2de > > [INFO] [B200] Loading firmware image: > > /usr/local/share/uhd/images/usrp_b200_fw.hex... > > [00:00:00.000044] Creating the usrp device with: ... > > [INFO] [B200] Detected Device: B200mini > > [INFO] [B200] Loading FPGA image: > > /usr/local/share/uhd/images/usrp_b200mini_fpga.bin... > > [INFO] [B200] Operating over USB 3. > > [INFO] [B200] Initialize CODEC control... > > [INFO] [B200] Initialize Radio control... > > [INFO] [B200] Performing register loopback test... > > [INFO] [B200] Register loopback test passed > > [INFO] [B200] Setting master clock rate selection to 'automatic'. > > [INFO] [B200] Asking for clock rate 16.000000 MHz... > > [INFO] [B200] Actually got clock rate 16.000000 MHz. > > Using Device: Single USRP: > > Device: B-Series Device > > Mboard 0: B200mini > > RX Channel: 0 > > RX DSP: 0 > > RX Dboard: A > > RX Subdev: FE-RX1 > > TX Channel: 0 > > TX DSP: 0 > > TX Dboard: A > > TX Subdev: FE-TX1 > > > > [00:00:11.448560] Setting device timestamp to 0... > > [INFO] [B200] Asking for clock rate 40.000000 MHz... > > [INFO] [B200] Actually got clock rate 40.000000 MHz. > > [WARNING] [MULTI_USRP] The total sum of rates (40.000000 MSps on 1 > > channels) exceeds the maximum capacity of the connection (overflows > > (O) MSps). > > This can cause 22.7428. > > [00:00:11.766752] Testing receive rate 40.000000 Msps on 1 channels > > [WARNING] [MULTI_USRP] The total sum of rates (40.000000 MSps on 1 > > channels) exceeds the maximum capacity of the connection (underruns > > (U) MSps). > > This can cause 22.7428. > > [00:00:11.790580] Testing transmit rate 40.000000 Msps on 1 channels > > [00:00:11.891995] Tx timeouts: 1 > > UUUUUUUUUUUUUUUO[00:00:12.078147] Timestamp after overrun recovery > > ahead of error timestamp! Unable to calculate number of dropped > > samples.(Delta: -3170 ticks) > > UUUUUUUUUUUUUUUUUUUUO[00:00:12.092404] Timestamp after overrun > > recovery ahead of error timestamp! Unable to calculate number of > > dropped samples.(Delta: -3170 ticks) > > UUUUUUUUUUUUUO[00:00:12.108355] Timestamp after overrun recovery ahead > > of error timestamp! Unable to calculate number of dropped > > samples.(Delta: -3170 ticks) > > UUUUUUUUUUUUUUUUUUUUUUUUU[OU00:00:12.123737] Timestamp after overrun > > recovery ahead of error timestamp! Unable to calculate number of > > dropped samples.(Delta: -3170 ticks) > > UUUUUUUUUUUUUUUUUUUUOU[00:00:12.132437] Timestamp after overrun > > recovery ahead of error timestamp! Unable to calculate number of > > dropped samples.(Delta: -3170 ticks) > > UUUUUUUUUUUUUUUUUUUUUUOU[00:00:12.142422] Timestamp after overrun > > recovery ahead of error timestamp! Unable to calculate number of > > dropped samples.(Delta: -3170 ticks) > > UUUUUUUUUUUUUUO[00:00:12.155257] Timestamp after overrun recovery > > ahead of error timestamp! Unable to calculate number of dropped > > samples.(Delta: -3170 ticks) > > UUUUUUUUUUUUUUUO[00:00:12.168528] Timestamp after overrun recovery > > ahead of error timestamp! Unable to calculate number of dropped > > samples.(Delta: -3170 ticks) > > UUUUUUUUUUU[O00:00:12.178400] Timestamp after overrun recovery ahead > > of error timestamp! Unable to calculate number of dropped > > samples.(Delta: -3170 ticks) > > UUUUUUUUU[00:00:12.193251] Timestamp after overrun recovery ahead of > > error timestamp! Unable to calculate number of dropped samples.(Delta: > > -3170 ticks) > > OUUUUUUUUUUUUUUUUUO[00:00:12.204356] Timestamp after overrun recovery > > ahead of error timestamp! Unable to calculate number of dropped > > samples.(Delta: -3170 ticks) > > UUUUUUUUUUUUUUUUO[00:00:12.224770] Timestamp after overrun recovery > > ahead of error timestamp! Unable to calculate number of dropped > > samples.(Delta: -3170 ticks) > > UUUUUUUUUUUUUUUUUO[00:00:12.235145] Timestamp after overrun recovery > > ahead of error timestamp! Unable to calculate number of dropped > > samples.(Delta: -3170 ticks) > > UUUUUUUUUUUUU[O00:00:12.247517] Timestamp after overrun recovery ahead > > of error timestamp! Unable to calculate number of dropped > > samples.(Delta: -3170 ticks) > > UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU[00:00:12.475571] Receiver error: > > ERROR_CODE_TIMEOUT, continuing... > > [00:00:12.575910] Receiver error: ERROR_CODE_TIMEOUT, continuing... > > [00:00:12.676171] Receiver error: ERROR_CODE_TIMEOUT, continuing... > > [00:00:12.776414] Receiver error: ERROR_CODE_TIMEOUT, continuing... > > [00:00:12.876663] Receiver error: ERROR_CODE_TIMEOUT, continuing... > > [00:00:12.976968] Receiver error: ERROR_CODE_TIMEOUT, continuing... > > [00:00:13.077257] Receiver error: ERROR_CODE_TIMEOUT, continuing... > > terminate called after throwing an instance of 'uhd::io_error' > > what(): EnvironmentError: IOError: usb tx2 transfer status: > > LIBUSB_TRANSFER_NO_DEVICE[ > > 00:00:13.083166] Caught an IO exception. > > EnvironmentError: IOError: usb rx6 transfer status: > > LIBUSB_TRANSFER_NO_DEVICE > > > Well, the main reason is that your typical laptop compute environment, > based on x86 processor technology, is going to be more powerful > than the ARM on a Raspberry Pi4. > > Now, you *may* be able to improve things slightly by adjusting the USB > transport parameters, as described here: > > https://files.ettus.com/manual/page_transport.html#transport_usb > > But once you actually start "doing stuff" on the Raspberry Pi, you'll > find that it can't process as many samples per second as on an x86 > system--whether a laptop or desktop machine. There's a reason that a > Raspberry Pi is $50, and a typical low-end laptop is 10 times that. > > > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >
_______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com