2

我想从 GNURadio gr-radar OOT 模块执行 usrp_echotimer_dual_cw 示例。

该流程图适用于内部千兆以太网适配器,但无法使用外部 PCI 千兆以太网适配器。

这是流程图的成功执行(eth0)的输出:

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 

失败的执行 (eth1) 如下所示:

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)

这些是我的网卡:

[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)

我认为这与计算机的性能无关,因为该流程图在性能较弱的笔记本电脑(intel core 2 duo)上运行良好,但在我的 i7 台式电脑上却失败了。

4

1 回答 1

1
00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection [8086:1502] (rev 04)

82579LM 是唯一一个已知的非 USB 千兆以太网适配器,它随机丢弃数据包而不通知操作系统。

恐怕您将不得不使用不同的 PCIe-Gigabit 适配器。

顺便说一句,L这意味着您的数据包(通常包含一些让 USRP 执行的命令)晚于为命令发生而指定的时间。

L打印get的源代码

else if (metadata.event_code &
    async_metadata_t::EVENT_CODE_TIME_ERROR
) UHD_MSG(fastpath) << "L";

现在,EVENT_CODE_TIME_ERROR 意味着

包有时间晚了。

这可能是您的网卡较早丢弃数据包的影响,因此计时命令以某种方式出现故障,或者您的应用程序感到困惑。通常,这表明应用程序设计错误,但由于您的网络硬件肯定有问题(看到控制器多次失败,抱歉),我会在进一步调查之前先修复它。

于 2016-01-08T11:42:34.343 回答