Ошибка Unable to create IIO context ip://192.168.1.10: No such device or address (6)

Что я пытаюсь сделать: на виртуалке Ubuntu пытаюсь через прибор ANTSDR E310 воспроизвести файл gps-координат с помощью plutoplayer. При этом виртуалка, прибор(трансивер), виндозный хост - всё находится в одной подсети, всё пингует друг друга во все стороны. Мало того, с помощью ioo-утилиты TX-контекст создаётся iio_info -u ip:192.168.1.10 и в консоль отвечает :

iio_info version: 0.25 (git tag:v0.25)
Libiio version: 0.25 (git tag: v0.25) backends: local xml ip usb
IIO context created with network backend.
Backend version: 0.25 (git tag: v0.25)
Backend description string: 192.168.1.10 Linux (none) 5.15.0-175882-ge14e351533f9-dirty #1 SMP PREEMPT Wed Jun 5 14:52:15 CST 2024 armv7l
IIO context has 9 attributes:
  hw_model: Analog Devices ANTSDR Rev.C (Z7020-AD9361)
  hw_model_variant: 1
  hw_serial: db61bc8807173726
  fw_version: v0.38-dirty
  ad9361-phy,xo_correction: 40000000
  ad9361-phy,model: ad9361      

и т.д. 9 страниц.

Казалось бы, что ещё может быть не так? Может, какие-то дрова на ADALM Plutoplayer надо? Или настройки каких-либо файлов/прав?


Ответы (1 шт):

Автор решения: Евгений.

Задача решена. Проблема заключалась в том, что разработчик исходного кода не указал в документации то обстоятельство, что при работе кода под Linux (в Windows эта проблема не возникает) библиотека iio не находит устройство "pluto.local" внутри ANT SDRE310. Вот фрагмент исходного кода:

ctx = iio_create_default_context();
if (ctx == NULL) {
    if (ip != NULL) {
        ctx = iio_create_network_context(ip);
    }
    else if (uri != NULL) {
        ctx = iio_create_context_from_uri(uri);
    }
    else {
        ctx = iio_create_network_context("pluto.local");
    }
}

Заменяем в строке ctx = iio_create_network_context("pluto.local"); "pluto.local" на ip устройства, например так ctx = iio_create_network_context("192.168.1.10");

После этого все контексты создаются и всё работает нормально.

→ Ссылка