Добрый всем вечер, день или еще!
Тут как-то понадобилось установить программу GNURadio. Конечно я ее установил через «apt install ....» и даже попробовал как советует автор GNURadio через PyBOMBS, но в первом случае, нет гарантии, что это будет последняя версия, а во втором возникали ошибки при установке.
Но в любом случае, мне хотелось всегда последнюю версию (хотя последнее, не всегда значит лучше!), да и вообще нравится мне этот фетиш с make )
В общем решил поставить из репозитория GitHub и собрать самостоятельно. Но естественно возникли проблемы со сборкой. То одно не хватает, то другое, то версии не те. В общем всё ругается и не компилируется. А в инете нет нормального описания (я не нашел) по установке.
Но потратив денек, я для себя накатал доку (дабы потом не забыть) и решил поделиться с Вами.
И так я расскажу, как установить и собрать GNURadio и модули для DVB-T USB приемника (у меня обычный приемник с али за 500 руб. и AirSpy R2)
Итак, поехали!
Советы по установке:
1. Пишу по шагам, не пропускать ни одного шага, идем сверху вниз
2. Я скачивал всё в домашнюю папку! (cd ~)
3. Где нужен root, там я пишу sudo
4. Проверяйте, что пишется в консоли после каждого шага (вдруг у Вас ошибка)
5. Процесс не быстрый! Нужно терпения и машинку по быстрее. Где-то час у вас уйдет на всё.
Далее
Весь процесс я поделил на 6 частей (установок)
1. Инсталлируем GNURadio — процесс долгий, сборка идет долго. Так, что терпения вам
2. Инсталлируем библиотеку RTL-SDR (DVB-T RTL2832U) для приемника
3. Инсталлируем библиотеку LibRtlSdr (Software to turn the RTL2832U into an SDR)
4. Инсталлируем библиотеку GR-OsmoSdr
5. Инсталлируем библиотеку Liquid DSP
6. Заблокировать загрузку стандартных файлов для нашего DVB-T RTL2832U
Часть 1. Инсталлируем GNURadio
Для начала устанавливаем необходимые пакеты (строка длинная)
и далее строчку за строчкой
после make test посмотрите, чтобы не было ошибок!
если нет, то далее…
сейчас мы установили GNURadio. Его можно уже запустить и пользоваться, но нам надо еще собрать и подключить модули для нашего DVB-T приемника.
Часть 2. Инсталлируем библиотеку RTL-SDR (DVB-T RTL2832U)
Тут не должно быть проблем. И библиотека RTL-SDR установлена.
Часть 3. Инсталлируем библиотеку LibRtlSdr
Сделано. Идем далее.
Часть 4. Инсталлируем библиотеку GR-OsmoSdr
Сделано. Идем далее.
Часть 5. Инсталлируем библиотеку Liquid DSP
Сделано. Идем далее.
Часть 6. Заблокировать загрузку стандартных файлов для нашего DVB-T RTL2832U
Открываем (или создаем) файл "/etc/modprobe.d/blacklist-dvb.conf"
и туда вставляем строчки
blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830
и ПЕРЕЗАПУСКАЕМ систему или проще говоря:
Ну вот, вроде процесс закончен и мы можем запустить и проверить наш GNURadio
для этого набираем в консоли:
Во время установки и проб, были ошибки связанных со звуковой картой (Проблема здесь в использовании программой старой звуковой подсистемы OSS) и второе прописать в блоке «osmosdr_source_0» строку «driver=rtlsdr,rtl=0». В остальном вроде проблем не было. Но у вас не должно быть проблем, т.к. я уже указал нужные вам пакеты в «sudo apt install...»
После установки всех пакетов, клонированные папки (git clone ....) можно удалить:
Я еще дополнительно устанавливал себе блоки-модули для LoRa, GSM и прочее.
Различных модулей под GNURadio много.
Полный список таких плагинов-блоков для GNURadio по ссылкам:
https://github.com/gnuradio/gr-recipes
https://github.com/gnuradio/gr-etcetera
Для примера расскажу как установить модуль gr-gsm
Заходим по ссылке https://github.com/gnuradio/gr-etcetera, там видим архив файлов для установки через PyBOMBS, но мы будем устанавливать и собирать из исходников.
Ищем файл gr-gsm.lwr
и нажимаем на нем
Находим в конце строку github.com/ptrkrysik/gr-gsm.git и копируем в буфер.
Это ссылка на исходы на GITHUB.
(копируем только github.com/ptrkrysik/gr-gsm.git)
Далее все как обычно
Всё, модуль установлен и появился в GNURadio
Все модули, как правило, устанавливаются также, но читайте в readme от автора модуля.
Дополнение для тех, у кого есть AirSpy R2
Тут всё тоже просто как 2х2
Вот и всё. Надеюсь кому-то это интересно, будут вопросы — спрашивайте.
Тут как-то понадобилось установить программу GNURadio. Конечно я ее установил через «apt install ....» и даже попробовал как советует автор GNURadio через PyBOMBS, но в первом случае, нет гарантии, что это будет последняя версия, а во втором возникали ошибки при установке.
Но в любом случае, мне хотелось всегда последнюю версию (хотя последнее, не всегда значит лучше!), да и вообще нравится мне этот фетиш с make )
В общем решил поставить из репозитория GitHub и собрать самостоятельно. Но естественно возникли проблемы со сборкой. То одно не хватает, то другое, то версии не те. В общем всё ругается и не компилируется. А в инете нет нормального описания (я не нашел) по установке.
Но потратив денек, я для себя накатал доку (дабы потом не забыть) и решил поделиться с Вами.
И так я расскажу, как установить и собрать GNURadio и модули для DVB-T USB приемника (у меня обычный приемник с али за 500 руб. и AirSpy R2)
Приемник DVB-T USB RTL2832U
Итак, поехали!
Советы по установке:
1. Пишу по шагам, не пропускать ни одного шага, идем сверху вниз
2. Я скачивал всё в домашнюю папку! (cd ~)
3. Где нужен root, там я пишу sudo
4. Проверяйте, что пишется в консоли после каждого шага (вдруг у Вас ошибка)
5. Процесс не быстрый! Нужно терпения и машинку по быстрее. Где-то час у вас уйдет на всё.
Далее
Весь процесс я поделил на 6 частей (установок)
1. Инсталлируем GNURadio — процесс долгий, сборка идет долго. Так, что терпения вам
2. Инсталлируем библиотеку RTL-SDR (DVB-T RTL2832U) для приемника
3. Инсталлируем библиотеку LibRtlSdr (Software to turn the RTL2832U into an SDR)
4. Инсталлируем библиотеку GR-OsmoSdr
5. Инсталлируем библиотеку Liquid DSP
6. Заблокировать загрузку стандартных файлов для нашего DVB-T RTL2832U
Часть 1. Инсталлируем GNURadio
Для начала устанавливаем необходимые пакеты (строка длинная)
sudo apt-get install git python-pip libboost-all-dev swig libcppunit-dev python-gtk2-dev libfftw3-dev libqwt-dev pyqt4-dev-tools python-wxgtk3.0 python-lxml alsa-utils doxygen cmake libusb-1.0-0-dev libgsl-dev osspd
и далее строчку за строчкой
cd ~
sudo pip install --upgrade pip
sudo pip install mako numpy Cheetah3
git clone https://github.com/gnuradio/gnuradio.git
cd gnuradio
git clone https://github.com/gnuradio/volk.git
mkdir build
cd build
cmake ../
make
make test
после make test посмотрите, чтобы не было ошибок!
если нет, то далее…
sudo make install
sudo ldconfig
сейчас мы установили GNURadio. Его можно уже запустить и пользоваться, но нам надо еще собрать и подключить модули для нашего DVB-T приемника.
Часть 2. Инсталлируем библиотеку RTL-SDR (DVB-T RTL2832U)
cd ~
git clone https://github.com/osmocom/rtl-sdr.git
cd rtl-sdr/
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig
Тут не должно быть проблем. И библиотека RTL-SDR установлена.
Часть 3. Инсталлируем библиотеку LibRtlSdr
sudo apt-get install libusb-1.0-0-dev
cd ~
git clone https://github.com/steve-m/librtlsdr.git
cd librtlsdr
mkdir build
cd build/
cmake ../
make
sudo make install
sudo ldconfig
Сделано. Идем далее.
Часть 4. Инсталлируем библиотеку GR-OsmoSdr
cd ~
git clone git://git.osmocom.org/gr-osmosdr
cd gr-osmosdr/
mkdir build
cd build/
cmake ../
make
sudo make install
sudo ldconfig
Сделано. Идем далее.
Часть 5. Инсталлируем библиотеку Liquid DSP
sudo apt-get install automake
cd ~
git clone https://github.com/jgaeddert/liquid-dsp.git
cd liquid-dsp
./bootstrap.sh
./configure
make
sudo make install
sudo ldconfig
Сделано. Идем далее.
Часть 6. Заблокировать загрузку стандартных файлов для нашего DVB-T RTL2832U
Открываем (или создаем) файл "/etc/modprobe.d/blacklist-dvb.conf"
и туда вставляем строчки
blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830
и ПЕРЕЗАПУСКАЕМ систему или проще говоря:
sudo reboot
Ну вот, вроде процесс закончен и мы можем запустить и проверить наш GNURadio
для этого набираем в консоли:
gnuradio-companion
Запустили GNURadio
Пример FM Radio для GNURadio
Ну и сам ролик установки на Ubuntu 18.04
Во время установки и проб, были ошибки связанных со звуковой картой (Проблема здесь в использовании программой старой звуковой подсистемы OSS) и второе прописать в блоке «osmosdr_source_0» строку «driver=rtlsdr,rtl=0». В остальном вроде проблем не было. Но у вас не должно быть проблем, т.к. я уже указал нужные вам пакеты в «sudo apt install...»
После установки всех пакетов, клонированные папки (git clone ....) можно удалить:
rm -r -f gr-osmosdr
rm -r -f rtl-sdr
rm -r -f librtlsdr
rm -r -f gnuradio
rm -r -f liquid-dsp
Я еще дополнительно устанавливал себе блоки-модули для LoRa, GSM и прочее.
Различных модулей под GNURadio много.
Полный список таких плагинов-блоков для GNURadio по ссылкам:
https://github.com/gnuradio/gr-recipes
https://github.com/gnuradio/gr-etcetera
Для примера расскажу как установить модуль gr-gsm
Заходим по ссылке https://github.com/gnuradio/gr-etcetera, там видим архив файлов для установки через PyBOMBS, но мы будем устанавливать и собирать из исходников.
Ищем файл gr-gsm.lwr
gr-gsm.lwr
и нажимаем на нем
gr-gsm.lwr
Находим в конце строку github.com/ptrkrysik/gr-gsm.git и копируем в буфер.
Это ссылка на исходы на GITHUB.
(копируем только github.com/ptrkrysik/gr-gsm.git)
Далее все как обычно
cd ~
git clone https://github.com/ptrkrysik/gr-gsm.git
cd gr-gsm/
mkdir build/
cd build
cmake ../
make
sudo make install
sudo ldconfig
Всё, модуль установлен и появился в GNURadio
GSM модуль в GNURadio
Все модули, как правило, устанавливаются также, но читайте в readme от автора модуля.
Дополнение для тех, у кого есть AirSpy R2
Тут всё тоже просто как 2х2
cd ~
git clone https://github.com/airspy/airspyone_host.git
cd airspyone_host
mkdir build
cd build/
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig
Вот и всё. Надеюсь кому-то это интересно, будут вопросы — спрашивайте.
Комментарии (4)
axilirator
04.05.2018 12:14Часть 3. Инсталлируем библиотеку LibRtlSdr
Зачем устанавливать librtlsdr отдельно, если она идет в составе основного репозитория git.osmocom.org/rtl-sdr/tree/src/librtlsdr.c?
gecube
Предлагаю учиться ставить софт не через make install, а через checkinstall. Это позволяет в конечном счёте контролировать мусор в системе и собирать "православный" deb пакет
Serjaru Автор
Ну наша задача не deb пакеты собирать. А установить программу. Поэтому этот коммент не в тему.
gecube
И да, и нет. Нужно показывать best practices. Иначе никто ими и не овладеет. Сам долгое время так же собирал астериск из исходников, но в какой-то момент это надоело и стал делать правильно + скрипты ansible для раскатки.