RTL2832 донгл и GnuRadio

Для того чтобы иметь возможность использовать в GnuRadio RTL2832 донгл в качестве источника сигнала, нужно установить кое-какие недостающие вещи.
Для тех кто владеет английским, ничего интересного тут написано не будет. Все достаточно подробно описано на странице rtl-sdr проекта.
Итак, приступим.

Итак, у нас есть система с уже установленым GnuRadio. Приступим к установке rtl-sdr библиотек.

  1. Открываем терминал и обновляем список доступного ПО командой
    sudo apt-get update
  2. Устанавливаем требуемое для сборки rtl-sdr ПО
    sudo apt-get install git cmake libusb-1.0-0-dev libboost-all-dev gnuradio-dev liblog4cpp5-dev swig
  3. Переходим в домашний каталог
    cd ~
    И получаем свежую версию исходных кодов rtl-sdr
    git clone git://git.osmocom.org/rtl-sdr.git
  4. Переходим в каталог с исходным кодом
    cd rtl-sdr/
  5. Компилируем и устанавливаем:
    Создаем внутри каталога папку build
    mkdir build
    Заходим в нее
    cd build/
    Компилируем командами
    cmake -DINSTALL_UDEV_RULES=ON ../
    и
    make
    Затем устранавливаем библиотеку rtl-sdr
    sudo make install
    и
    sudo ldconfig

Итак, библиотеку rtl-sdr мы установили. Теперь установим gr-osmosdr — блок для GnuRadio осуществляющий контроль за различными типами оборудования такого как RTL2832 донглы, FunCube донгл, HackRF, и прочими железками.

  1. Переходим в домашний каталог
    cd ~
  2. Получаем свежую версию gr-osmosdr
    git clone git://git.osmocom.org/gr-osmosdr
  3. Переходим в каталог
    cd gr-osmosdr/
  4. А теперь, грязная шуточка. Так как я устанавливал GnuRadio не через компиляцию (официально рекомендованный метод) самой последней свежей версии, а установкой через пакетный менеджер, и получаетс так, что версия моя немного младше чем требуется, и при попытке компиляции gr-osmosdr вылезет ошибка
    CMake Error at CMakeLists.txt:151 (find_package):
      Could not find a configuration file for package «Gnuradio» that is
      compatible with requested version «3.7.3».  The following configuration files were considered but not accepted:    /usr/lib/i386-linux-gnu/cmake/gnuradio/GnuradioConfig.cmake, version: 3.7.2.1
    Для того чтобы избежать этого, мы подправим конфигурационный файл для cmake.
    Откройте файл CMakeLists.txt и найдите строку
    find_package(Gnuradio 3.7.3 REQUIRED)
    и поправьте ее на
    find_package(Gnuradio 3.7.2 REQUIRED)
    Сохраняем, закрываем файл.Так же поправим место, куда будет копироваться xml файлы блока.
    Откроем в каталоге grc файл CMakeLists.txt и изменим строку
    DESTINATION share/gnuradio/grc/blocks
    на
    DESTINATION /usr/share/gnuradio/grc/blocks
  5. Компилируем и устанавливаем:
    mkdir build
    cd build/
    cmake ../
    make
    sudo make install
    sudo ldconfig
  6. Теперь нам надо заблокировать загрузку стандартных драйверов для донгла.
    Откройте файл /etc/modprobe.d/blacklist.conf и добавьте в его конец
    blacklist dvb_usb_rtl28xxu

Вот впринципе и все.
Запускаем GnuRadio, втыкаем наш донгл, и проверяем.
Блок для нашего донгла находится в разделе Sources.
rtlsdr1rtlsdr2

RTL2832 донгл и GnuRadio: 8 комментариев

  1. w31

    sdr@sdr-Aspire-ES1-111:~/gr-osmosdr/build$ cmake ../
    — Build type not specified: defaulting to release.
    — Extracting version information from git describe…
    — Configuring Boost C++ Libraries…
    CMake Error at CMakeLists.txt:122 (find_package):
    By not providing «FindGnuradio.cmake» in CMAKE_MODULE_PATH this project has
    asked CMake to find a package configuration file provided by «Gnuradio»,
    but CMake did not find one.

    Could not find a package configuration file provided by «Gnuradio»
    (requested version 3.7.2) with any of the following names:

    GnuradioConfig.cmake
    gnuradio-config.cmake

    Add the installation prefix of «Gnuradio» to CMAKE_PREFIX_PATH or set
    «Gnuradio_DIR» to a directory containing one of the above files. If
    «Gnuradio» provides a separate development package or SDK, be sure it has
    been installed.

    — Configuring incomplete, errors occurred!
    See also «/home/sdr/gr-osmosdr/build/CMakeFiles/CMakeOutput.log».
    sdr@sdr-Aspire-ES1-111:~/gr-osmosdr/build$

    что с этим делать?

  2. Уведомление: Русский туториал по установке! — Первый опыт с GNURadio

      1. Vasiliy

        hi!
        проблема такая Generating: ‘/home/zva/top_block.py’

        Executing: /usr/bin/python -u /home/zva/top_block.py

        linux; GNU C++ version 7.3.0; Boost_106501; UHD_003.010.003.000-0-unknown

        Traceback (most recent call last):
        File «/home/zva/top_block.py», line 99, in
        main()
        File «/home/zva/top_block.py», line 93, in main
        tb = top_block_cls()
        File «/home/zva/top_block.py», line 69, in __init__
        channels=range(1),
        File «/usr/lib/python2.7/dist-packages/gnuradio/uhd/__init__.py», line 122, in constructor_interceptor
        return old_constructor(*args)
        File «/usr/lib/python2.7/dist-packages/gnuradio/uhd/uhd_swig.py», line 2683, in make
        return _uhd_swig.usrp_source_make(*args)
        RuntimeError: LookupError: KeyError: No devices found for ——>
        Empty Device Address

        >>> Done
        Помогите если сталкивались

  3. Раис

    Добрый день!

    Устанавливал по вашей инструкции и вылезает ошибка после команды make:

    make[2]: *** Нет правила для сборки цели «/usr/lib/x86_64-linux-gnu/liborc-0.4.so», требуемой для «lib/libgnuradio-osmosdr.so.0.2.0.0». Останов.
    make[1]: *** [CMakeFiles/Makefile2:379: lib/CMakeFiles/gnuradio-osmosdr.dir/all] Ошибка 2
    make: *** [Makefile:141: all] Ошибка 2

  4. Igor


    — Configuring Python support support…
    — Dependency PYTHONLIBS_FOUND = TRUE
    — Dependency pybind11_FOUND = 0
    CMake Error at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrComponent.cmake:75 (message):
    user force-enabled Python support but configuration checked failed
    Call Stack (most recent call first):
    CMakeLists.txt:194 (GR_REGISTER_COMPONENT)

    — Configuring incomplete, errors occurred!
    See also «/home/router/storage/Temp/gr-osmosdr/build/CMakeFiles/CMakeOutput.log».
    See also «/home/router/storage/Temp/gr-osmosdr/build/CMakeFiles/CMakeError.log».

  5. Igor

    CMake Warning at CMakeLists.txt:192 (find_package):
    By not providing «Findpybind11.cmake» in CMAKE_MODULE_PATH this project has
    asked CMake to find a package configuration file provided by «pybind11»,
    but CMake did not find one.

    Could not find a package configuration file provided by «pybind11» with any
    of the following names:

    pybind11Config.cmake
    pybind11-config.cmake

    Add the installation prefix of «pybind11» to CMAKE_PREFIX_PATH or set
    «pybind11_DIR» to a directory containing one of the above files. If
    «pybind11» provides a separate development package or SDK, be sure it has
    been installed.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *