[USRP-users] Problems with USRP X300 + PCI-Express Desktop Kit + Ubuntu 18.04

Michailow, Nicola nicola.michailow at siemens.com
Mon Feb 4 08:42:07 EST 2019


Hi,

I am trying to connect a USRP X300 (1x UBX) to a PC using the PCI-Express Desktop Kit and I would like to ask for some help trying to make sense of the errors described below.

My PC runs a freshly installed Ubuntu 18.04 with UHD built from source.

These are the steps that I have done so far:

- Install NI RIO following these instructions https://files.ettus.com/manual/page_ni_rio_kernel.html
- Enable NI RIO driver with `sudo /usr/local/bin/niusrprio_pcie start`
- Load XG FPGA image `uhd_image_loader --args="type=x300,resource=RIO0,fpga=XG`
- Power cycle USRP + PC
- Enable NI RIO driver again with `sudo /usr/local/bin/niusrprio_pcie start`
- Device is being recognized:

------------------------------------------------------------------------------------------------------------------------------------------------------
    sdr at sdr-fujitsu-pc:~$ uhd_find_devices
    [INFO] [UHD] linux; GNU C++ version 7.3.0; Boost_106501; UHD_3.14.0.0-85-g33233e5c
    [INFO] [NIRIO] rpc_client stopping...
    [INFO] [NIRIO] rpc_client stopped.
    [INFO] [NIRIO] rpc_client stopping...
    [INFO] [NIRIO] rpc_client stopped.
    --------------------------------------------------
    -- UHD Device 0
    --------------------------------------------------
    Device Address:
        serial: 3140261
        fpga: XG
        name:
        product: X300
        resource: RIO0
        type: x300
------------------------------------------------------------------------------------------------------------------------------------------------------

Now, trying to benchmark the receive rate gives me the lengthy list of error messages below.

------------------------------------------------------------------------------------------------------------------------------------------------------
  sdr at sdr-fujitsu-pc:~$ sudo /usr/local/lib/uhd/examples/benchmark_rate --rx_rate=100e6 --args resource=RIO0

  [INFO] [UHD] linux; GNU C++ version 7.3.0; Boost_106501; UHD_3.14.0.0-85-g33233e5c
  [INFO] [NIRIO] rpc_client stopping...
  [INFO] [NIRIO] rpc_client stopped.
  [INFO] [NIRIO] rpc_client stopping...
  [INFO] [NIRIO] rpc_client stopped.
  [00:00:00.000011] Creating the usrp device with: resource=RIO0...
  [INFO] [NIRIO] rpc_client stopping...
  [INFO] [NIRIO] rpc_client stopped.
  [INFO] [NIRIO] rpc_client stopping...
  [INFO] [NIRIO] rpc_client stopped.
  [INFO] [X300] X300 initialization sequence...
  [INFO] [X300] Connecting to niusrpriorpc at localhost:5444...
  [INFO] [NIRIO] rpc_client stopping...
  [INFO] [NIRIO] rpc_client stopped.
  [INFO] [X300] Using LVBITX bitfile /usr/local/share/uhd/images/usrp_x300_fpga_XG.lvbitx...
  [INFO] [NIRIO] rpc_client stopping...
  [INFO] [NIRIO] rpc_client stopped.
  [INFO] [X300] Radio 1x clock: 200 MHz
  [INFO] [GPS] No GPSDO found
  [INFO] [0/DmaFIFO_0] Initializing block control (NOC ID: 0xF1F0D00000000000)
  [INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1313 MB/s)
  [INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1315 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)
  [ERROR] [UHD] Exception caught in safe-call.
    in max287x<max287x_regs_t>::~max287x() [with max287x_regs_t = max2871_regs_t]
    at /home/sdr/nicola/uhd/host/lib/include/uhdlib/usrp/common/max287x.hpp:475
  shutdown(); -> EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error - EnvironmentError: IOError: Expected packet index: 1016 Received index: 1080
  [ERROR] [UHD] Exception caught in safe-call.
    in max287x<max287x_regs_t>::~max287x() [with max287x_regs_t = max2871_regs_t]
    at /home/sdr/nicola/uhd/host/lib/include/uhdlib/usrp/common/max287x.hpp:475
  shutdown(); -> EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error - EnvironmentError: IOError: Expected packet index: 1017 Received index: 1081
  [ERROR] [UHD] Exception caught in safe-call.
    in max287x<max287x_regs_t>::~max287x() [with max287x_regs_t = max2871_regs_t]
    at /home/sdr/nicola/uhd/host/lib/include/uhdlib/usrp/common/max287x.hpp:475
  shutdown(); -> EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error - EnvironmentError: IOError: Expected packet index: 1018 Received index: 1082
  [ERROR] [UHD] Exception caught in safe-call.
    in max287x<max287x_regs_t>::~max287x() [with max287x_regs_t = max2871_regs_t]
    at /home/sdr/nicola/uhd/host/lib/include/uhdlib/usrp/common/max287x.hpp:475
  shutdown(); -> EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error - EnvironmentError: IOError: Expected packet index: 1019 Received index: 1083
  [ERROR] [DBMGR] The daughterboard manager encountered a recoverable error in init.
  Loading the "unknown" daughterboard implementations to continue.
  The daughterboard cannot operate until this error is resolved.
  EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error - EnvironmentError: IOError: Expected packet index: 1015 Received index: 1079
  [ERROR] [UHD] Exception caught in safe-call.
    in ctrl_iface_impl<_endianness>::~ctrl_iface_impl() [with uhd::endianness_t _endianness = (uhd::endianness_t)1]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:52
  this->send_cmd_pkt(0, 0, true); -> EnvironmentError: IOError: Block ctrl (CE_00_Port_31) no response packet - AssertionError: bool(buff)
    in uint64_t ctrl_iface_impl<_endianness>::wait_for_ack(bool, double) [with uhd::endianness_t _endianness = (uhd::endianness_t)1; uint64_t = long unsigned int]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:142

  [ERROR] [UHD] Exception caught in safe-call.
    in ctrl_iface_impl<_endianness>::~ctrl_iface_impl() [with uhd::endianness_t _endianness = (uhd::endianness_t)1]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:52
  this->send_cmd_pkt(0, 0, true); -> EnvironmentError: IOError: Block ctrl (CE_00_Port_30) no response packet - AssertionError: bool(buff)
    in uint64_t ctrl_iface_impl<_endianness>::wait_for_ack(bool, double) [with uhd::endianness_t _endianness = (uhd::endianness_t)1; uint64_t = long unsigned int]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:142

  [ERROR] [UHD] Exception caught in safe-call.
    in virtual uhd::rfnoc::x300_radio_ctrl_impl::~x300_radio_ctrl_impl()
    at /home/sdr/nicola/uhd/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp:207
  _tree->remove(fs_path("rx_codecs" / _radio_slot)); _tree->remove(fs_path("tx_codecs" / _radio_slot)); _tree->remove(_root_path / "rx_fe_corrections"); _tree->remove(_root_path / "tx_fe_corrections"); if (_radio_type == PRIMARY) { for (const gpio_atr::gpio_attr_map_t::value_type attr : gpio_atr::gpio_attr_map) { _tree->remove(fs_path("gpio") / "FP0" / attr.second); } } if (_radio_type == PRIMARY) { _regs->misc_outs_reg.set(radio_regmap_t::misc_outs_reg_t::ADC_RESET, 1); _regs->misc_outs_reg.set(radio_regmap_t::misc_outs_reg_t::DAC_RESET_N, 0); } _regs->misc_outs_reg.write(radio_regmap_t::misc_outs_reg_t::DAC_ENABLED, 0); _regs->misc_outs_reg.flush(); -> EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error - EnvironmentError: IOError: Expected packet index: 1021 Received index: 1085
  [ERROR] [UHD] Exception caught in safe-call.
    in virtual x300_dac_ctrl_impl::~x300_dac_ctrl_impl()
    at /home/sdr/nicola/uhd/host/lib/usrp/x300/x300_dac_ctrl.cpp:60
  _iface->write_spi(_slaveno, spi_config_t::EDGE_RISE, ((0x01) << 8) | (0xEF), 16); _iface->write_spi(_slaveno, spi_config_t::EDGE_RISE, ((0x02) << 8) | (0x1F), 16); -> EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error - EnvironmentError: IOError: Expected packet index: 1022 Received index: 1086
  [ERROR] [UHD] Exception caught in safe-call.
    in virtual x300_adc_ctrl_impl::~x300_adc_ctrl_impl()
    at /home/sdr/nicola/uhd/host/lib/usrp/x300/x300_adc_ctrl.cpp:123
  this->send_ads62p48_reg(0x40); -> EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error - EnvironmentError: IOError: Expected packet index: 1023 Received index: 1087
  [ERROR] [UHD] Exception caught in safe-call.
    in virtual uhd::rfnoc::block_ctrl_base::~block_ctrl_base()
    at /home/sdr/nicola/uhd/host/lib/rfnoc/block_ctrl_base.cpp:153
  if (get_ctrl_ports().size() > 0) { _start_drain(get_ctrl_ports().front()); } _tree->remove(_root_path); -> EnvironmentError: IOError: [0/Radio_0] sr_write() failed: EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error - EnvironmentError: IOError: Expected packet index: 1024 Received index: 1088
  [ERROR] [UHD] Exception caught in safe-call.
    in ctrl_iface_impl<_endianness>::~ctrl_iface_impl() [with uhd::endianness_t _endianness = (uhd::endianness_t)1]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:52
  this->send_cmd_pkt(0, 0, true); -> EnvironmentError: IOError: Block ctrl (CE_01_Port_41) no response packet - AssertionError: bool(buff)
    in uint64_t ctrl_iface_impl<_endianness>::wait_for_ack(bool, double) [with uhd::endianness_t _endianness = (uhd::endianness_t)1; uint64_t = long unsigned int]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:142

  [ERROR] [UHD] Exception caught in safe-call.
    in ctrl_iface_impl<_endianness>::~ctrl_iface_impl() [with uhd::endianness_t _endianness = (uhd::endianness_t)1]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:52
  this->send_cmd_pkt(0, 0, true); -> EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error - EnvironmentError: IOError: Expected packet index: 1025 Received index: 1089
  [ERROR] [UHD] Exception caught in safe-call.
    in ctrl_iface_impl<_endianness>::~ctrl_iface_impl() [with uhd::endianness_t _endianness = (uhd::endianness_t)1]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:52
  this->send_cmd_pkt(0, 0, true); -> EnvironmentError: IOError: Block ctrl (CE_02_Port_51) no response packet - AssertionError: bool(buff)
    in uint64_t ctrl_iface_impl<_endianness>::wait_for_ack(bool, double) [with uhd::endianness_t _endianness = (uhd::endianness_t)1; uint64_t = long unsigned int]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:142

  [ERROR] [UHD] Exception caught in safe-call.
    in ctrl_iface_impl<_endianness>::~ctrl_iface_impl() [with uhd::endianness_t _endianness = (uhd::endianness_t)1]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:52
  this->send_cmd_pkt(0, 0, true); -> EnvironmentError: IOError: Block ctrl (CE_02_Port_50) no response packet - AssertionError: bool(buff)
    in uint64_t ctrl_iface_impl<_endianness>::wait_for_ack(bool, double) [with uhd::endianness_t _endianness = (uhd::endianness_t)1; uint64_t = long unsigned int]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:142

  [ERROR] [UHD] Exception caught in safe-call.
    in ctrl_iface_impl<_endianness>::~ctrl_iface_impl() [with uhd::endianness_t _endianness = (uhd::endianness_t)1]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:52
  this->send_cmd_pkt(0, 0, true); -> EnvironmentError: IOError: Block ctrl (CE_03_Port_61) no response packet - AssertionError: bool(buff)
    in uint64_t ctrl_iface_impl<_endianness>::wait_for_ack(bool, double) [with uhd::endianness_t _endianness = (uhd::endianness_t)1; uint64_t = long unsigned int]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:142

  [ERROR] [UHD] Exception caught in safe-call.
    in ctrl_iface_impl<_endianness>::~ctrl_iface_impl() [with uhd::endianness_t _endianness = (uhd::endianness_t)1]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:52
  this->send_cmd_pkt(0, 0, true); -> EnvironmentError: IOError: Block ctrl (CE_03_Port_60) no response packet - AssertionError: bool(buff)
    in uint64_t ctrl_iface_impl<_endianness>::wait_for_ack(bool, double) [with uhd::endianness_t _endianness = (uhd::endianness_t)1; uint64_t = long unsigned int]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:142

  [ERROR] [UHD] Exception caught in safe-call.
    in ctrl_iface_impl<_endianness>::~ctrl_iface_impl() [with uhd::endianness_t _endianness = (uhd::endianness_t)1]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:52
  this->send_cmd_pkt(0, 0, true); -> EnvironmentError: IOError: Block ctrl (CE_04_Port_71) no response packet - AssertionError: bool(buff)
    in uint64_t ctrl_iface_impl<_endianness>::wait_for_ack(bool, double) [with uhd::endianness_t _endianness = (uhd::endianness_t)1; uint64_t = long unsigned int]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:142

  [ERROR] [UHD] Exception caught in safe-call.
    in ctrl_iface_impl<_endianness>::~ctrl_iface_impl() [with uhd::endianness_t _endianness = (uhd::endianness_t)1]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:52
  this->send_cmd_pkt(0, 0, true); -> EnvironmentError: IOError: Block ctrl (CE_04_Port_70) no response packet - AssertionError: bool(buff)
    in uint64_t ctrl_iface_impl<_endianness>::wait_for_ack(bool, double) [with uhd::endianness_t _endianness = (uhd::endianness_t)1; uint64_t = long unsigned int]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:142

  [ERROR] [UHD] Exception caught in safe-call.
    in ctrl_iface_impl<_endianness>::~ctrl_iface_impl() [with uhd::endianness_t _endianness = (uhd::endianness_t)1]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:52
  this->send_cmd_pkt(0, 0, true); -> EnvironmentError: IOError: Block ctrl (CE_05_Port_80) no response packet - AssertionError: bool(buff)
    in uint64_t ctrl_iface_impl<_endianness>::wait_for_ack(bool, double) [with uhd::endianness_t _endianness = (uhd::endianness_t)1; uint64_t = long unsigned int]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:142

  [ERROR] [UHD] Exception caught in safe-call.
    in ctrl_iface_impl<_endianness>::~ctrl_iface_impl() [with uhd::endianness_t _endianness = (uhd::endianness_t)1]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:52
  this->send_cmd_pkt(0, 0, true); -> EnvironmentError: IOError: Block ctrl (CE_06_Port_90) no response packet - AssertionError: bool(buff)
    in uint64_t ctrl_iface_impl<_endianness>::wait_for_ack(bool, double) [with uhd::endianness_t _endianness = (uhd::endianness_t)1; uint64_t = long unsigned int]
    at /home/sdr/nicola/uhd/host/lib/rfnoc/ctrl_iface.cpp:142

  Error: EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error - EnvironmentError: IOError: Expected packet index: 1020 Received index: 1084
------------------------------------------------------------------------------------------------------------------------------------------------------

Any suggestions on what to try next are highly appreciated.

The device works fine in 1GE mode. I do not have the means to test 10GE mode.

Best regards
Nicola
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20190204/78b37bda/attachment.html>


More information about the USRP-users mailing list