Для того чтобы иметь возможность использовать в GnuRadio RTL2832 донгл в качестве источника сигнала, нужно установить кое-какие недостающие вещи.
Для тех кто владеет английским, ничего интересного тут написано не будет. Все достаточно подробно описано на странице rtl-sdr проекта.
Итак, приступим.
Итак, у нас есть система с уже установленым GnuRadio. Приступим к установке rtl-sdr библиотек.
- Открываем терминал и обновляем список доступного ПО командой
sudo apt-get update - Устанавливаем требуемое для сборки rtl-sdr ПО
sudo apt-get install git cmake libusb-1.0-0-dev libboost-all-dev gnuradio-dev liblog4cpp5-dev swig
- Переходим в домашний каталог
cd ~
И получаем свежую версию исходных кодов rtl-sdr
git clone git://git.osmocom.org/rtl-sdr.git - Переходим в каталог с исходным кодом
cd rtl-sdr/ - Компилируем и устанавливаем:
Создаем внутри каталога папку 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, и прочими железками.
- Переходим в домашний каталог
cd ~ - Получаем свежую версию gr-osmosdr
git clone git://git.osmocom.org/gr-osmosdr - Переходим в каталог
cd gr-osmosdr/ - А теперь, грязная шуточка. Так как я устанавливал 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 - Компилируем и устанавливаем:
mkdir build
cd build/
cmake ../
make
sudo make install
sudo ldconfig - Теперь нам надо заблокировать загрузку стандартных драйверов для донгла.
Откройте файл /etc/modprobe.d/blacklist.conf и добавьте в его конец
blacklist dvb_usb_rtl28xxu
Вот впринципе и все.
Запускаем GnuRadio, втыкаем наш донгл, и проверяем.
Блок для нашего донгла находится в разделе Sources.
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$
что с этим делать?
Столкнулся с той же ошибкой. На GitHUB в похожей ситуации нашлось решение: https://github.com/balint256/gr-rds/issues/3
Чтобы не читать весь текст разбора ошибки, вот такая команда помогла:
sudo apt-get install gnuradio-dev
Уведомление: Русский туториал по установке! — Первый опыт с GNURadio
Больше инфы хорошей и разной 🙂
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
Помогите если сталкивались
Добрый день!
Устанавливал по вашей инструкции и вылезает ошибка после команды 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
—
— 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».
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.