I want to execute the usrp_echotimer_dual_cw example from the GNURadio gr-radar OOT module.
The flowgraph works fine with the internal gigabit ethernet adapter but fails with the external PCI gigabit ethernet adapter.
Here is the output of the successful execution (eth0) of the flowgraph:
Executing: "/home/christophe/new/examples/usrp/usrp_echotimer_dual_cw.py" linux; GNU C++ version 4.8.4; Boost_105400; UHD_003.010.git-101-g4a1cb1f2 Using Volk machine: avx_64_mmx_orc -- Opening a USRP2/N-Series device... -- Current recv frame size: 1472 bytes -- Current send frame size: 1472 bytes UHD Warning: The recv buffer could not be resized sufficiently. Target sock buff size: 50000000 bytes. Actual sock buff size: 1000000 bytes. See the transport application notes on buffer resizing. Please run: sudo sysctl -w net.core.rmem_max=50000000 UHD Warning: The recv buffer could not be resized sufficiently. Target sock buff size: 50000000 bytes. Actual sock buff size: 1000000 bytes. See the transport application notes on buffer resizing. Please run: sudo sysctl -w net.core.rmem_max=50000000 UHD Warning: The send buffer could not be resized sufficiently. Target sock buff size: 1048576 bytes. Actual sock buff size: 1000000 bytes. See the transport application notes on buffer resizing. Please run: sudo sysctl -w net.core.wmem_max=1048576 Using USRP Device (TX): Single USRP: Device: USRP2 / N-Series Device Mboard 0: N210r4 RX Channel: 0 RX DSP: 0 RX Dboard: A RX Subdev: RFX2400 RX TX Channel: 0 TX DSP: 0 TX Dboard: A TX Subdev: RFX2400 TX Setting TX Rate: 14250000 UHD Warning: The requested interpolation is odd; the user should expect CIC rolloff. Select an even interpolation to ensure that a halfband filter is enabled. interpolation = dsp_rate/samp_rate -> 7 = (100.000000 MHz)/(14.250000 MHz) UHD Warning: The hardware does not support the requested TX sample rate: Target sample rate: 14.250000 MSps Actual sample rate: 14.285714 MSps Actual TX Rate: 1.42857e+07 UHD Warning: The requested interpolation is odd; the user should expect CIC rolloff. Select an even interpolation to ensure that a halfband filter is enabled. interpolation = dsp_rate/samp_rate -> 7 = (100.000000 MHz)/(14.285714 MHz) -- Opening a USRP2/N-Series device... -- Current recv frame size: 1472 bytes -- Current send frame size: 1472 bytes UHD Warning: The recv buffer could not be resized sufficiently. Target sock buff size: 50000000 bytes. Actual sock buff size: 1000000 bytes. See the transport application notes on buffer resizing. Please run: sudo sysctl -w net.core.rmem_max=50000000 UHD Warning: The recv buffer could not be resized sufficiently. Target sock buff size: 50000000 bytes. Actual sock buff size: 1000000 bytes. See the transport application notes on buffer resizing. Please run: sudo sysctl -w net.core.rmem_max=50000000 UHD Warning: The send buffer could not be resized sufficiently. Target sock buff size: 1048576 bytes. Actual sock buff size: 1000000 bytes. See the transport application notes on buffer resizing. Please run: sudo sysctl -w net.core.wmem_max=1048576 Using USRP Device (RX): Single USRP: Device: USRP2 / N-Series Device Mboard 0: USRP2 r3 RX Channel: 0 RX DSP: 0 RX Dboard: A RX Subdev: RFX2400 RX TX Channel: 0 TX DSP: 0 TX Dboard: A TX Subdev: RFX2400 TX Setting RX Rate: 14250000 UHD Warning: The requested decimation is odd; the user should expect CIC rolloff. Select an even decimation to ensure that a halfband filter is enabled. decimation = dsp_rate/samp_rate -> 7 = (100.000000 MHz)/(14.250000 MHz) UHD Warning: The hardware does not support the requested RX sample rate: Target sample rate: 14.250000 MSps Actual sample rate: 14.285714 MSps Actual RX Rate: 1.42857e+07 UHD Warning: The requested decimation is odd; the user should expect CIC rolloff. Select an even decimation to ensure that a halfband filter is enabled. decimation = dsp_rate/samp_rate -> 7 = (100.000000 MHz)/(14.285714 MHz) set_min_output_buffer on block 5 to 4194304 set_min_output_buffer on block 6 to 4194304 set_min_output_buffer on block 7 to 4194304 set_min_output_buffer on block 8 to 4194304 set_min_output_buffer on block 9 to 4194304 set_min_output_buffer on block 17 to 4194304 set_min_output_buffer on block 18 to 4194304 set_min_output_buffer on block 19 to 4194304 set_min_output_buffer on block 20 to 4194304 set_min_output_buffer on block 21 to 4194304 set_min_output_buffer on block 22 to 4194304 // Print results rx_time: 2:0.0476682 velocity: -5.82422 range: 4.83493 // Print results rx_time: 2:0.411017 velocity: 0.416016 range: 4.80168 // Print results rx_time: 2:0.770647 velocity: 1.24805 range: 4.66541 // Print results rx_time: 3:0.122836 velocity: 1.24805 range: 4.86308 // Print results rx_time: 3:0.489277 velocity: 1.66406 range: 4.80136 // Print results rx_time: 3:0.848081 velocity: -15.8086 range: 5.37644 // Print results rx_time: 4:0.198079 velocity: 4.57617 range: 5.10404 // Print results rx_time: 4:0.558055 velocity: 4.99219 range: 4.4827 // Print results rx_time: 4:0.917475 velocity: -0.832031 range: 4.62831 // Print results rx_time: 5:0.266247 velocity: 6.65625 range: 5.24577 // Print results rx_time: 5:0.625892 velocity: -6.65625 range: 5.5386
The failed execution (eth1) looks like this:
Executing: "/home/christophe/new/examples/usrp/usrp_echotimer_dual_cw.py" linux; GNU C++ version 4.8.4; Boost_105400; UHD_003.010.git-101-g4a1cb1f2 Using Volk machine: avx_64_mmx_orc -- Opening a USRP2/N-Series device... -- Current recv frame size: 1472 bytes -- Current send frame size: 1472 bytes UHD Warning: The recv buffer could not be resized sufficiently. Target sock buff size: 50000000 bytes. Actual sock buff size: 1000000 bytes. See the transport application notes on buffer resizing. Please run: sudo sysctl -w net.core.rmem_max=50000000 UHD Warning: The recv buffer could not be resized sufficiently. Target sock buff size: 50000000 bytes. Actual sock buff size: 1000000 bytes. See the transport application notes on buffer resizing. Please run: sudo sysctl -w net.core.rmem_max=50000000 UHD Warning: The send buffer could not be resized sufficiently. Target sock buff size: 1048576 bytes. Actual sock buff size: 1000000 bytes. See the transport application notes on buffer resizing. Please run: sudo sysctl -w net.core.wmem_max=1048576 Using USRP Device (TX): Single USRP: Device: USRP2 / N-Series Device Mboard 0: N210r4 RX Channel: 0 RX DSP: 0 RX Dboard: A RX Subdev: RFX2400 RX TX Channel: 0 TX DSP: 0 TX Dboard: A TX Subdev: RFX2400 TX Setting TX Rate: 14250000 UHD Warning: The requested interpolation is odd; the user should expect CIC rolloff. Select an even interpolation to ensure that a halfband filter is enabled. interpolation = dsp_rate/samp_rate -> 7 = (100.000000 MHz)/(14.250000 MHz) UHD Warning: The hardware does not support the requested TX sample rate: Target sample rate: 14.250000 MSps Actual sample rate: 14.285714 MSps Actual TX Rate: 1.42857e+07 UHD Warning: The requested interpolation is odd; the user should expect CIC rolloff. Select an even interpolation to ensure that a halfband filter is enabled. interpolation = dsp_rate/samp_rate -> 7 = (100.000000 MHz)/(14.285714 MHz) -- Opening a USRP2/N-Series device... -- Current recv frame size: 1472 bytes -- Current send frame size: 1472 bytes UHD Warning: The recv buffer could not be resized sufficiently. Target sock buff size: 50000000 bytes. Actual sock buff size: 1000000 bytes. See the transport application notes on buffer resizing. Please run: sudo sysctl -w net.core.rmem_max=50000000 UHD Warning: The recv buffer could not be resized sufficiently. Target sock buff size: 50000000 bytes. Actual sock buff size: 1000000 bytes. See the transport application notes on buffer resizing. Please run: sudo sysctl -w net.core.rmem_max=50000000 UHD Warning: The send buffer could not be resized sufficiently. Target sock buff size: 1048576 bytes. Actual sock buff size: 1000000 bytes. See the transport application notes on buffer resizing. Please run: sudo sysctl -w net.core.wmem_max=1048576 Using USRP Device (RX): Single USRP: Device: USRP2 / N-Series Device Mboard 0: USRP2 r3 RX Channel: 0 RX DSP: 0 RX Dboard: A RX Subdev: RFX2400 RX TX Channel: 0 TX DSP: 0 TX Dboard: A TX Subdev: RFX2400 TX Setting RX Rate: 14250000 UHD Warning: The requested decimation is odd; the user should expect CIC rolloff. Select an even decimation to ensure that a halfband filter is enabled. decimation = dsp_rate/samp_rate -> 7 = (100.000000 MHz)/(14.250000 MHz) UHD Warning: The hardware does not support the requested RX sample rate: Target sample rate: 14.250000 MSps Actual sample rate: 14.285714 MSps Actual RX Rate: 1.42857e+07 UHD Warning: The requested decimation is odd; the user should expect CIC rolloff. Select an even decimation to ensure that a halfband filter is enabled. decimation = dsp_rate/samp_rate -> 7 = (100.000000 MHz)/(14.285714 MHz) set_min_output_buffer on block 5 to 4194304 set_min_output_buffer on block 6 to 4194304 set_min_output_buffer on block 7 to 4194304 set_min_output_buffer on block 8 to 4194304 set_min_output_buffer on block 9 to 4194304 set_min_output_buffer on block 17 to 4194304 set_min_output_buffer on block 18 to 4194304 set_min_output_buffer on block 19 to 4194304 set_min_output_buffer on block 20 to 4194304 set_min_output_buffer on block 21 to 4194304 set_min_output_buffer on block 22 to 4194304 DReceive timeout before all samples received... ULLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLterminate called after throwing an instance of 'std::runtime_error' what(): Receiver error ERROR_CODE_OVERFLOW (Out of sequence error)
These are my network cards:
[0] christophe:~ % lspci -nn | grep -i ethernet 00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection [8086:1502] (rev 04) 02:05.0 Ethernet controller [0200]: Intel Corporation 82541PI Gigabit Ethernet Controller [8086:107c] (rev 05)
I don’t think it has to do with the performance of the computer, because that flowgraph works fine on a much weaker laptop pc (intel core 2 duo), but fails on my i7 desktop pc.
Advertisement
Answer
00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection [8086:1502] (rev 04)
The 82579LM is the single known non-USB gigabit ethernet adapter that randomly drops packets without giving notice to the Operating System.
I’m afraid you will have to use a different PCIe-Gigabit adapter.
By the way, L
means that your packet (containing some command for the USRP to execute, normally) is later than the time that was specified for the command to happen.
The source code where the L
get’s printed:
else if (metadata.event_code & async_metadata_t::EVENT_CODE_TIME_ERROR ) UHD_MSG(fastpath) << "L";
Now, EVENT_CODE_TIME_ERROR
means that
Packet had time that was late.
Which might be an effect of your network card dropping packets earlier, so that somehow the timing commands got out of order, or your application got confused. Normally, it’s an indication of an application misdesign, but as your network hardware definitely is buggy (seen that controller fail many times, sorry), I would fix that first before investigating further.