REDHAWK的UHD错误

时间:2016-02-01 22:32:59

标签: usrp uhd

我创建了一个包含USRP_UHD和GPP的节点(并确保ip_address对于USRP_UHD是正确的)。我基于此节点启动了域。但是,我收到以下错误:

UHD Error:
    Device discovery error: AssertionError: libusb_init(&_context) == 0
      in libusb_session_impl::libusb_session_impl()
      at /builddir/build/BUILD/uhd-release_003_005_003/host/lib/transport/libusb1_base.cpp:37

UHD Error:
    Device discovery error: AssertionError: libusb_init(&_context) == 0
      in libusb_session_impl::libusb_session_impl()
      at /builddir/build/BUILD/uhd-release_003_005_003/host/lib/transport/libusb1_base.cpp:37
...
-- Opening a USRP2/N-Series device...
-- Current recv frame size: 1472 bytes
-- Current send frame size: 1472 bytes

UHD Warning:
    Unable to set the thread priority. Performance may be negatively affected.
    Please see the general application notes in the manual for instructions.
    EnvironmentError: OSError: error in pthread_setschedparam

我确实得到了两个未分配(每个TX / RX)调谐器,但要分配这两个调谐器以用于任何参数并不容易。

此外,如果我只是启动域并启动单个设备USRP_UHD,或者只是通过命令行窗口运行discover USRP_UHD命令,我得到了同样的错误:

UHD Error:
    Device discovery error: AssertionError: libusb_init(&_context) == 0
      in libusb_session_impl::libusb_session_impl()
      at /builddir/build/BUILD/uhd-release_003_005_003/host/lib/transport/libusb1_base.cpp:37
2016-02-01 16:59:20 WARN  USRP_UHD_i:943 - WARNING: NO UHD (USRP) DEVICES FOUND!

有人能找出问题所在吗?提前致谢!

2 个答案:

答案 0 :(得分:0)

所以,首先,好消息是在自动检测USB设备期间会发生这种情况,因此您的N2xx本身并未受到影响,但是:

UHD 3.5.3不仅陈旧,而且古老。你应该真的卸载它(如果你有Debian或派生的[Ubuntu],它是sudo apt-get remove uhd-host libuhd003 libuhd-dev),直接从Ettus安装新版本(可以帮助你,如果必要的)并根据该版本重建Redhawk。

真的,真的那样做。在故障处理方面已经如此多的改进,在没有更新的情况下解决此问题并不值得。

现在,如果您明确指定允许您完全取消基于USB的USRP检测的设备地址,那么您应该没问题。作为设备地址,使用type=usrp2表示USRP2,N200和N210。

答案 1 :(得分:0)

我试图在CentOS 7 Docker容器中安装UHD v3.9.3时遇到此问题 - 错误消息指向usb问题,与Redhawk无关。 Redhawk设备,USRP_UHD,只是Ettus UHD驱动程序之上的一个抽象层,因此判断问题是Redhawk还是其他问题的最简单方法是直接从终端尝试其中一个UHD命令来生成相同的错误,如uhd_usrp_probe

要检查问题是否与usb驱动程序直接相关,请尝试使用命令lsusb。这应该列出连接到您的操作系统的所有USB设备。这些是很好的调试技巧,可以隔离问题所在。

如果您正在使用Linux容器或Docker执行此操作,则必须提供适当的权限,请参阅docker-any-way-to-give-access-to-host-usb-or-serial-device。否则,假设您从源代码构建了UHD,请检查make test步骤的输出 - 如果所有测试都通过,那么UHD库应该没有任何问题。

编辑:此外,如果您在VM中运行此操作,则必须确保您的主机在安装期间已向管理程序(例如VirtualBox)提供网络/ USB /等权限,或者您已连接正确的虚拟机VM配置中的硬件。