我创建了一个包含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!
有人能找出问题所在吗?提前致谢!
答案 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配置中的硬件。