"错误-6ren"> "错误-尝试执行使用 USRP 的 GNU Radio 程序时,我收到错误回溯,(在 Python 中)通常以以下结尾: self.u = uhd.usrp_source(device_addr=ar-6ren">
gpt4 book ai didi

gnuradio - 尝试在 GNU Radio 中使用我的 USRP 时,出现 "No devices found for ----->"错误

转载 作者:行者123 更新时间:2023-12-04 10:24:17 25 4
gpt4 key购买 nike

尝试执行使用 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_find_devices 测试原始 UHD 功能。工具第一:

uhd_find_devices

如果它没有找到你的设备,尽管它已经启动,我的经验是你很可能根本无法与设备通信:
  • 如果您没有使用 超高清版来自 Ettus' own repositories ,尤其是在非全新的 Ubuntu 上,您的 UHD 可能只是比设备更旧并且无法与之交谈。 uhd_find_devices的第一行输出将包含有关版本的信息。在撰写本文时(2014 年 10 月),3.9 是最新版本。如果可能,请始终使用最新版本。
  • B200/B210 至少需要 3.6.0,但功能在 3.8.4 后显着改善
  • X300/X310 至少需要 3.7.0
  • B200mini 需要 3.9
  • USRP1/2/B100/N200/N210 应该被直接支持,但是你会在野外找到最旧的版本。对于可以与它们一起使用的所有子板,并非如此 - 如上所述,请尝试使用最新版本。
  • 如果您使用的是 USB 连接的设备(USRP B200、B210、B200mini、B100、USRP1),您可能
  • 在 Linux 上:没有 udev rules installed允许“普通”用户与 USRP 通信所必需的;检查是否/etc/udev/rules.d/包含类似 uhd-usrp.rules 的内容.
  • 在 Windows 上:您可能没有 Windows USB drivers installed .
  • 如果您自己构建了 UHD(另外,如果您通过 build-gnuradio.sh pybombs 安装了 GNU Radio),则可能缺少 USB 库。确保您的 UHD cmake 日志包含“启用 USB”。
  • USB3:部分 USB3 主机 Controller 不符合标准,无法实现连接。如果您的 USRP 在插入 USB2 端口时被检测到(通常不是蓝色的任何人),您应该没问题。
  • 如果您使用的是 联网设备(带 1Gbit/10Gbit 以太网的 USRP X300/X310、USRP N200/N210、USRP2)
  • 确保您的网络接口(interface)是
  • 支持 1Gbit(或 10GE,如果适用); “快速以太网”(10/100Mbit) NIC 不适用于 USRP。
  • 不是 Intel 82579LM 网络 Controller (已知的唯一 PCIe 网络 Controller IC,偶尔会在不通知操作系统的情况下丢弃数据包
  • 不是 USB3-to-Gigabit 适配器(这些往往会对数据包进行有趣的重新排序,使它们不适合高速实时采样)
  • 确保您的计算机在同一 IP 网络上。默认情况下,USRP 的地址来自 192.168.10.XXX范围( XXX=2 在出厂设置中)。确保您的计算机具有相同范围的 IP 地址,但地址不同。
  • 确保基本通信有效(来自 ping <ip address of USRP>)。如果没有,请重新检查您自己的 IP 地址,并尝试确保将 USRP 配置为正确的地址。
  • 要找出您的 USRP 的当前 IP 地址,通常最简单的方法是正确安装 wireshark (这是一个网络数据包嗅探器软件),将专用网络接口(interface)连接到(关闭 USRP),在该接口(interface)上启动捕获,然后打开 USRP。
  • 如果地址错误,可以重新编程USRP X300/X310的IP地址。 :cd <install-path>/lib/uhd/utils ; ./usrp_burn_mb_eeprom --args=addr=<current IP address> --values="ip-addr0=<new ip address>"
  • 如果地址错误,可以重新编程USRP N200/N210/USRP2的IP地址。 :cd <install-path>/lib/uhd/utils ; ./usrp_burn_mb_eeprom --args=<optional device args> --values="ip-addr=192.168.10.3"
  • 确保您有您的 firewall configured to permit traffic来自 USRP 的端口 49152。在 linux 上,以下 iptables命令通常可以解决问题¹:sudo iptables -A INPUT -p udp --sport 49152 -j ACCEPT .请注意,这确实在您的防火墙上打了一个洞。您机构的安全政策可能适用。
  • 如果您尝试使用 USRP E100、E110、E310 或 E312 连接到您的 PC:
  • E 系列设备是独立的嵌入式 Linux SDR 设备;它们不作为外围设备连接到 PC。您必须使用 cross-compiler 编译您的软件(如果适用)。并在 E 系列设备本身上运行该软件,而不是在您的主机 PC 上运行。

  • 为了快速测试您的 PC、USRP 和布线以及设备 IP 配置是否正确,请下载当前 GNU Radio Live DVD ²(顺便说一下,它还包含大量很酷的示例),启动它,然后尝试 uhd_find_devices那里。

    ¹您的里程可能会有所不同,因为每个发行版都有自己的防火墙管理思路

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

    关于gnuradio - 尝试在 GNU Radio 中使用我的 USRP 时,出现 "No devices found for ----->"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33304828/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com