On 06/20/2018 01:46 PM, Torres Figueroa, Luis Angel via USRP-users wrote:
Hi fellows,

I am running an application in Ubuntu 16.04 with a lowlatency kernel that uses a USRP B210 configured with continuous Rx streamer. After some minutes of normal operation, my application crashes with the following error:

terminate called after throwing an instance of 'uhd::usb_error'
what(): RuntimeError: USBError -1: usb rx6 submit failed: LIBUSB_ERROR_IO

or also

terminate called after throwing an instance of 'uhd::usb_error'
what(): RuntimeError: USBError -1: usb tx2 submit failed: LIBUSB_ERROR_IO

Could you please let me know whether this scenario may happen if the priority of my receiver thread is higher than that of the USB 3.0 driver? This is the suspicion that I have at the moment, since the thread that reads samples from UHD's Rx buffer runs with RealTime priority (priority -100), while my USB 3.0 driver xhci_hc has a priority of -50. Attached you can find the output of htop while running the application.

After receiving the aforementioned error, I get the following error twice before being able to read the FPGA image of the USRP:

torresf@wodan:~/src/openairinterface5g/cmake_targets/lte_build_oai/build$ uhd_usrp_probe --args "serial=312AC55" [INFO] [UHD] linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_3.11.0.1-3-g8bb15ee1
[INFO] [B200] Detected Device: B210
[INFO] [B200] Operating over USB 3.
[ERROR] [UHD] Exception caught in safe-call.
  in virtual radio_ctrl_core_3000_impl::~radio_ctrl_core_3000_impl()
at /home/ltorresf/src/uhd/host/lib/usrp/cores/radio_ctrl_core_3000.cpp:63 this->peek32(0); _async_task.reset(); -> AssertionError: accum_timeout < _timeout
  in uint64_t radio_ctrl_core_3000_impl::wait_for_ack(bool)
at /home/ltorresf/src/uhd/host/lib/usrp/cores/radio_ctrl_core_3000.cpp:220

Error: AssertionError: accum_timeout < _timeout
  in uint64_t radio_ctrl_core_3000_impl::wait_for_ack(bool)
at /home/ltorresf/src/uhd/host/lib/usrp/cores/radio_ctrl_core_3000.cpp:220

ltorresf@wodan:~/src/openairinterface5g/cmake_targets/lte_build_oai/build$ uhd_usrp_probe --args "serial=312ACA9" [INFO] [UHD] linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_3.11.0.1-3-g8bb15ee1
[INFO] [B200] Detected Device: B210
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...

Please let me know if anyone has dealt with this problem before.

Best regards,
Luis


Is this on a VM, or actual hardware?

What type of USB3 controller do you have?

Does changing the cable help?

Does adding num_recv_frames=128 or 256   in the device arguments help?

What sample-rate are you running?   Single or dual channel?
_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to