При попытке использовать мой USRP в GNU Radio я получаю" нет устройств, найденных для - - - - - > " ошибка

при попытке выполнить радиопрограмму GNU, использующую USRP, я получаю обратную трассировку ошибки ,которая (в 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 работает.

2 ответов


вы всегда должны сначала протестировать функциональность raw UHD с помощью uhd_find_devices инструмент:

uhd_find_devices

если он не находит ваше устройство, хотя оно загружается, мой опыт заключается в том, что у вас есть высокий шанс просто не иметь возможности общаться с устройством:

  • если вы не используете UHD версия от Ettus' собственные репозитории, особенно на не-Новом Ubuntus, ваш UHD может быть просто старше устройства и не может поговорить с ним. Первая строка вывода uhd_find_devices будет содержать информацию о версии. На момент написания (октябрь 2014), 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 необходимо разрешить "нормальным" пользователям общаться с USRPs; проверьте, есть ли /etc/udev/rules.d/ содержится что-то вроде uhd-usrp.rules.
    • в Windows: возможно, у вас нет установлены драйверы USB для Windows.
    • если вы сами создали UHD (также, если вы установили GNU Radio через build-gnuradio.sh или pybombs), возможно, отсутствовали библиотеки USB. Убедитесь, что ваши журналы UHD cmake содержат "включение USB".
    • USB3: некоторые хост-контроллеры USB3 не ведут себя в соответствии со стандартами, и подключение не может быть достигнуто. Если ваш USRP обнаружен, когда подключенный к порту USB2 (любой, кто обычно не Синий), Вы должны быть в порядке.
  • если у вас networked устройства (платы USRP Х300/X310 с 1Гбит/10Гбит сети Ethernet, платы USRP П200части/N210, USRP2)
    • убедитесь, что ваш сетевой интерфейс
      • 1Gbit-способный (или 10GE, если применяется); "быстрый Ethernet" (10/100Mbit) NICs не работают С USRPs.
      • не сетевой контроллер Intel 82579LM (только Сетевой контроллер PCIe IC известен тем, что иногда сбрасывает пакеты, не сообщая операционной системе
      • не адаптер USB3-Gigabit (они, как правило, делают интересный переупорядочивание пакетов, что делает их непригодными для высокоскоростных образцов реального времени)
    • убедитесь, что ваш компьютер находится в той же IP-сети. По умолчанию USRPs имеют адреса из , а не на вашем ПК.

как быстрый тест ли ваши ПК, УСРП и конфигурация ИП привязывать и прибора правильны, загружают течение GNU Radio Live DVD2 (который, кстати, также содержит обильное количество классных примеров), загрузите его, и попробовать uhd_find_devices там.


1 ваш пробег может отличаться, так как каждый дистрибутив имеет свое представление о том, как управление брандмауэром

2 пожалуйста, используйте торрент-файлы , если это возможно-трафик Amazon AWS не является бесплатным для сопровождающих проекта GNU Radio. Торрент-файл также использует серверы AWS в качестве источника, но пытается получить часть изображения от других пользователей.


Выполнить Следующую Команду :

sudo gedit /usr/lib/python2.7/dist-packages/gnuradio/uhd/uhd_swig.py 

в строке containig device_addr добавить B210 как его значение.

Args:
device_addr : B210