当尝试在 GNU Radio 中使用我的 USRP 时,我收到“未找到 -----> 的设备”错误

2024-02-22

当尝试执行使用 USRP 的 GNU Radio 程序时,我收到错误回溯,该错误(在 Python 中)通常以以下内容结尾:

    self.u = uhd.usrp_source(device_addr=args, stream_args=uhd.stream_args('fc32'))
  File "/home/marcus/.usrlocal/lib64/python2.7/site-packages/gnuradio/uhd/__init__.py", line 122, in constructor_interceptor
    return old_constructor(*args)
  File "/home/marcus/.usrlocal/lib64/python2.7/site-packages/gnuradio/uhd/uhd_swig.py", line 2351, in make
    return _uhd_swig.usrp_source_make(*args)
RuntimeError: LookupError: KeyError: No devices found for ----->

USRP 正在运行。


您应该始终首先使用以下命令测试原始 UHD 功能uhd_find_devices首先是工具:

uhd_find_devices

如果它没有找到您的设备,尽管它已启动,我的经验是您很有可能根本无法与设备通信:

  • If you're not using a UHD version from Ettus' own repositories http://files.ettus.com/manual/page_install.html#install_linux_ourbins, especially on not-brand-new Ubuntus, your UHD might simply be older than the device and can't talk to it. The first line of output of uhd_find_devices will contain info on the version. At the time of writing (Oct 2014), 3.9 is the latest release. If possible, always use the latest release.
    • B200/B210 至少需要 3.6.0,但 3.8.4 后功能显着改进
    • X300/X310 至少需要 3.7.0
    • B200mini需要3.9
    • USRP1/2/B100/N200/N210 应该直接支持,但您会在野外找到最旧的版本。并非所有子板都可以与它们一起使用 - 如前所述,请尝试使用最新版本。
  • If you're using an USB connected device (USRP B200, B210, B200mini, B100, USRP1), chances are that you either
    • 在 Linux 上:没有安装了 udev 规则 http://files.ettus.com/manual/page_transport.html#transport_usb_udev允许“普通”用户与 USRP 进行通信所必需的;检查是否/etc/udev/rules.d/包含类似的东西uhd-usrp.rules.
    • 在 Windows 上:您可能没有Windows USB 驱动程序已安装 http://files.ettus.com/manual/page_transport.html#transport_usb_installwin.
    • 如果您自己构建了 UHD(另外,如果您通过安装了 GNU Radio)build-gnuradio.sh or pybombs http://pybombs.info),可能缺少 USB 库。确保您的 UHD cmake 日志包含“启用 USB”。
    • USB3:某些 USB3 主控制器的行为不符合标准,因此无法实现连接。如果您的 USRP 在插入 USB2 端口(通常是非蓝色端口)时被检测到,那么应该没问题。
  • If you're on a networked device (USRP X300/X310 with 1Gbit/10Gbit Ethernet, USRP N200/N210, USRP2)
    • make sure your network interface is
      • 1Gbit 能力(或 10GE,如果适用); “快速以太网”(10/100Mbit) NIC不工作与USRP。
      • 不是 Intel 82579LM 网络控制器(唯一已知偶尔会在不通知操作系统的情况下丢弃数据包的 PCIe 网络控制器 IC)
      • 不是 USB3 至千兆位适配器(这些适配器往往会对数据包进行有趣的重新排序,使它们不适合高速率实时采样)
    • 确保您的计算机位于同一 IP 网络中。默认情况下,USRP 的地址来自192.168.10.XXX range (XXX=2在出厂设置中)。确保您的计算机具有同一范围内的 IP 地址,但是不一样地址。
    • make sure basic communication works (by ping <ip address of USRP>). If not, re-check your own IP address, and try to make sure the USRP is configured to the right address.
      • 要找出 USRP 当前的 IP 地址,通常最简单的方法是正确安装wireshark(这是一个网络数据包嗅探器软件),有一个专用网络接口连接到(关闭USRP),在该接口上开始捕获,然后打开USRP。
      • 如果地址错误,可以重新设置IP地址USRP X300/X310 http://files.ettus.com/manual/page_usrp_x3x0.html#x3x0_setup_change_ip: cd <install-path>/lib/uhd/utils ; ./usrp_burn_mb_eeprom --args=addr=<current IP address> --values="ip-addr0=<new ip address>"
      • 如果地址错误,可以重新设置IP地址USRP N200/N210/USRP2 http://files.ettus.com/manual/page_usrp2.html#usrp2_network_changeip: cd <install-path>/lib/uhd/utils ; ./usrp_burn_mb_eeprom --args=<optional device args> --values="ip-addr=192.168.10.3"
    • 确保你有你的配置为允许流量的防火墙 http://files.ettus.com/manual/page_usrp2.html#usrp2_commprob_firewall来自 USRP 的端口 49152。在 Linux 上,以下内容iptables命令通常可以解决问题:sudo iptables -A INPUT -p udp --sport 49152 -j ACCEPT。请注意,这does在你的防火墙上打个洞。您所在机构的安全策略可能适用。
  • If you're trying to use a USRP E100, E110, E310 or E312 connected to your PC:
    • E系列设备是独立的嵌入式Linux SDR设备;它们不作为外围设备连接到 PC。您必须使用以下命令来编译您的软件(如果适用)交叉编译器 http://files.ettus.com/manual/page_usrp_e3x0.html#e3x0_sdk并在E系列设备上运行该软件itself,不在您的主机上。

为了快速测试您的 PC、USRP 以及布线和设备 IP 配置是否正确,请下载当前的GNU 广播电台现场 DVD https://gnuradio.org/redmine/projects/gnuradio/wiki/GNURadioLiveDVD²(顺便说一句,其中还包含大量很酷的示例),启动它并尝试uhd_find_devices there.


¹ 您的情况可能会有所不同,因为每个发行版对于如何管理防火墙都有自己的想法

² 如果可能,请使用 torrent 文件 - Amazon AWS 流量对于 GNU Radio 项目的维护者来说不是免费的。 torrent 文件也使用 AWS 服务器作为源,但尝试从其他用户获取部分图像。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当尝试在 GNU Radio 中使用我的 USRP 时,我收到“未找到 -----> 的设备”错误 的相关文章

随机推荐

  • 使用 extraOptimizations 改造 Spark SQL AST

    我想将 SQL 字符串作为用户输入 然后在执行之前对其进行转换 特别是 我想修改顶级投影 select 子句 注入要由查询检索的附加列 我希望通过使用 Catalyst 来实现这一点sparkSession experimental ext
  • 如何使用 iframe 内的函数从父页面删除 iframe?

    我有一个使用书签放在页面上的 iframe 当我导航到此 iframe 内的某个页面时 我希望此 iframe 自行关闭 如何使用 JavaScript 做到这一点 注意 iframe 和容器页面位于不同的域中 据我所知 您无法从 ifra
  • Python:异步生成器已在运行

    如下例所示 我在使用异步生成器时遇到了异常错误 async def demo async def get data for i in range 5 loop for or while await asyncio sleep 1 some
  • Azure Web 应用程序与 Azure 移动应用程序

    我今天创建了一个Azure Web应用程序 它在设置中有一个移动部分 其中包含推送通知 移动身份验证等 您甚至可以下载移动客户端应用程序的源代码 我知道这曾经是移动应用程序 移动服务 的一部分 我创建了一个 Azure 移动应用程序来与 W
  • 识别活动网络接口

    在 NET 应用程序中 如何识别使用哪个网络接口与给定 IP 地址进行通信 我在具有多个网络接口 IPv4 和 v6 的工作站上运行 并且我需要获取用于流向给定数据库服务器的 正确 接口的地址 最简单的方法是 UdpClient u new
  • Allure Framework:TestNG 适配器错误地将 @AfterMethod 放置在报告中

    我正在使用 allure V1 4 8 TestNG 看起来 TestNG 适配器错误地将 AfterMethod 放置在报告中 基本上它将 AfterMethod 从测试用例放入下一个测试用例中 这是简单的代码 Step a test1
  • 从 .Net 应用程序打开 Windows 7 帮助 (helpPane.exe)

    我正在尝试从 Net 表单应用程序打开 Windows 7 帮助到特定书签 例如在打印机安装时 我尝试以与打开控制面板小程序相同的方式打开它 在下面的示例中返回和恢复 ProcessStartInfo startInfo new Proce
  • 当页面滚动到顶部时,Next.js 链接不会呈现

    我有一个像这样的组件 const Milestone props gt const path disabled index rest props if disabled return
  • 生成一定范围内的唯一随机数

    我需要在一定范围内生成随机的唯一数字 我该怎么做 我可以通过以下方式生成随机数 generator arr x rand min max len count arr flag 0 for i 0 i lt len i if flag 1 g
  • 如何在javascript中打印所有百分比超过70%的学生姓名?

    我在用json rule engine https www npmjs com package json rules engine https www npmjs com package json rules engine我有一份学生名单
  • 在 R 中向量化循环

    必须有一种简单的方法来向量化 R 中的以下循环 但我看不到它 w lt numeric 10 z lt rnorm 20 v lt c sample 1 10 10 sample 1 10 10 Random ordering of c 1
  • jQuery AJAX 提交表单

    我有一张带有姓名的表格orderproductForm以及未定义数量的输入 我想做某种 jQuery get 或 ajax 或类似的东西 通过 Ajax 调用页面 并发送表单的所有输入orderproductForm 我想一种方法是做类似的
  • pyside-uic 在哪里?

    我正在尝试使用 Qt Designer 和 pyside uic mydesign ui gt design py 但是 这个程序不存在 我查看了 python 2 7 下的站点包 我看到 pyside lupdate exe pyside
  • 创建项目后如何将 ndk 设置从默认 C++ 工具链更改为 C++14?

    我使用默认的 C 工具链创建了一个 Android 项目 现在 当我尝试包含双簧管上包含 C 14 功能的示例项目的代码片段时 我不断收到错误 因此 我尝试包含代码来创建模板 但现在它使我的代码变得混乱 并转储了我不希望有的声明 我尝试提及
  • 使用 Meteor.settings 功能

    Meteor 最近添加了一个全新的Meteor 设置 http docs meteor com meteor settings meteor settings对象从 v0 5 4 开始 并且以一种极其烦人的方式 没有在他们的文档中正确解释如
  • 如何将一些 XML 元素包含在边界框中?

    我想在此处附上一对复选框和单选按钮 在矩形或 边界框 中 使其看起来像这样 当然 但不那么难看 如何以以下 XML 作为起点来做到这一点
  • GeoViews:具有 matplotlib 后端的 GeoDataFrames 的分类图例

    已安装的软件包 geoviews 1 9 1 matplotlib 3 4 2 我正在尝试做什么 For the Bokeh后端通过添加分类图例GeoViews是通过代理艺术家完成的 如中所述卡特里娜飓风路径示例 https geoview
  • UITableViewCell 的 NSTextAttachment 异步加载图像

    在异步线程或图像缓存库 如 SDwebimage 中动态加载图像 下面的代码是我尝试过的 从网络获取图像后它不会重新绘制 let mutableAttributedString NSMutableAttributedString if le
  • C 库的 C++/CLI 类包装器 - 回调

    我正在使用 C CLI 包装 C 库 C 库设计为从非托管 C 类中使用 这意味着库函数接受 C 对象指针 然后在回调中提供该指针 这使得回调代码能够将请求重定向到调用 C 对象中的适当事件函数 实际功能相当复杂 因此我将问题空间简化为几个
  • 当尝试在 GNU Radio 中使用我的 USRP 时,我收到“未找到 -----> 的设备”错误

    当尝试执行使用 USRP 的 GNU Radio 程序时 我收到错误回溯 该错误 在 Python 中 通常以以下内容结尾 self u uhd usrp source device addr args stream args uhd st