samedi 15 octobre 2016

CubicSDR, une alternative à Gqrx

Pendant longtemps, Gqrx avait un peu le monopole sur le monde du SDR sous Linux. Il existe pourtant d'autres application comme CubicSDR, une application simple et intuitive crée par Charles J. Cliffe qui mérite le détour. Elle est encore en phase de développement mais les premières versions fonctionnent parfaitement bien et consomme peu en ressource par rapport à ses concurrents.
Depuis que je l'utilise sous une xubuntu 16.04, je n'ai relevé aucun bug. Il est possible, à condition d'avoir une machine à jour et tous les packages additionnels, de le faire tourner sous Debian, Mint, Ubuntu et Raspberry. A vous de voir .. 




La méthode d'installation présentée ici est pour un pc en 32bits et un RtlSdr. Pour une version 64bits ou un SDRPlay, il suffira d'enlever les commentaires (#) sur les lignes concernées.
Ouvrez un éditeur de texte et copiez le petit script que je vous ai fait ci-dessous.
Enregistrez le sous CubicSDR-installer.sh
Lancez la commande : 
>sh CubicSDR-installer.sh
Rebootez votre machine ( TRES IMPORTANT :) comme normalement à chaque installation )
Pour lancez CubicSDR, dans le menu de démarrage, dans l'onglet Radio amateur ou en lancant la commande : 
>CubicSDR/build/x86/CubicSDR
Pour les allergiques de linux, sachez qu'il fonctionne aussi sous Windows


#! /bin/sh

cd
apt-get install git build-essential librtlsdr-dev automake libfftw3-dev cmake libgl1-mesa-dev libwxgtk3.0-dev libpulse-dev

#installation de SoapySDR
git clone https://github.com/pothosware/SoapySDR.git

cd SoapySDR
mkdir build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release
make -j4
sudo make install
sudo ldconfig
cd

#installation de liquid-dsp
git clone https://github.com/jgaeddert/liquid-dsp

cd liquid-dsp
./bootstrap.sh
./configure --enable-fftoverride
make -j4
sudo make install
sudo ldconfig
cd

#installation de wxWidgets
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.tar.bz2

tar -xvjf wxWidgets-3.1.0.tar.bz2 
cd wxWidgets-3.1.0/
mkdir -p ~/Develop/wxWidgets-staticlib
./autogen.sh
./configure --with-opengl --disable-shared --enable-monolithic --with-libjpeg --with-libtiff --with-libpng --with-zlib --disable-sdltest --enable-unicode --enable-display --enable-propgrid --disable-webkit --disable-webview --disable-webviewwebkit --prefix=`echo ~/Develop/wxWidgets-staticlib` CXXFLAGS="-std=c++0x" --with-libiconv=/usr

make
sudo make install
sudo ldconfig
cd



#installation et compilation de CubicSDR
git clone https://github.com/cjcliffe/CubicSDR.git

cd CubicSDR
mkdir build
cd build
cmake ../
make
sudo make install
cd


#installation de SoapyRTLSDR
sudo apt-get install librtlsdr-dev

git clone https://github.com/pothosware/SoapyRTLSDR.git

cd SoapyRTLSDR
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
sudo make install
sudo ldconfig

#installation de SoapySDRPlay

#git clone https://github.com/pothosware/SoapySDRPlay.git

#cd SoapySDRPlay
#mkdir build
#cd build
#cmake .. -DCMAKE_BUILD_TYPE=Release
#make
#sudo make install
#sudo ldconfig

Possible erreur de compilation : 
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libGL.so ... 
Regardez dans un premier temps que le lien pointe bien vers un fichier inexistant en lançant cette commande :
> ls -lah /usr/lib/x86_64-linux-gnu/libGL.so
Si vous avez un fichier en retour du style : 
> lrwxrwxrwx 1 root root 13 Oct  9 01:16 /usr/lib/x86_64-linux-gnu/libGL.so -> mesa/libGL.so
Fixez cette erreur en le supprimant : 
> sudo rm /usr/lib/x86_64-linux-gnu/libGL.so
Vérifiez ensuite où libGL.so.1 pointe : 
> ls -lah /usr/lib/x86_64-linux-gnu/libGL.so.1
Il devrait retourner :

> lrwxrwxrwx 1 root root 15 Dec 20 19:03 /usr/lib/x86_64-linux-gnu/libGL.so.1 -> libGL.so.358.16
Créez votre nouveau lien :
> sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.358.16 /usr/lib/x86_64-linux-gnu/libGL.so

Relancez la compilation seulement et tout devrait rentrer dans l'ordre. 


Plus d'infos : http://cubicsdr.com/

dimanche 9 octobre 2016

Nouvelle version de Gqrx

La nouvelle version de Gqrx est sortie, à savoir, la 2.6. Comme la version fournie par le package d'ubuntu est un peu obsolète, voici la petite manip à faire afin de l'installer et de la garder dorénavant à jour. 
Dans un premier temps, il faut supprimer l'ancienne version ainsi que tous les liens et dépendances de celle-ci : 

sudo apt-get purge --auto-remove gqrx
sudo apt-get purge --auto-remove gqrx-sdr
sudo apt-get purge --auto-remove libgnuradio*

Maintenant, il faut ajouter les nouveaux packages qui permettront de garder l'application à jour : 

sudo add-apt-repository -y ppa:bladerf/bladerf        
sudo add-apt-repository -y ppa:ettusresearch/uhd
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo add-apt-repository -y ppa:myriadrf/gnuradio
sudo add-apt-repository -y ppa:gqrx/gqrx-sdr

Bien respecter les suppressions et réinstallations des nouveaux packages sous peine de se retrouver avec des messages d'erreur du genre : libgnuradio-osmosdr.so.0.1.5git: cannot open shared object file: No such file or directory (typique d'un lien non mis à jour ) 

On met à jour l'ensemble des packages :

sudo apt-get update

On installe alors Gqrx

sudo apt-get install gqrx-sdr
 
Si tout s'est déroulé correctement, en lançant gqrx, vous devriez voir le titre de la fenêtre indiquer la nouvelle version : 


 
Un des changements les plus appréciables est le rajout du mode WFM Oirt afin de pouvoir décoder les sat météo NOAA plus facilement.

Afin d'optimiser au mieux les performances, il est possible ( et recommandé ) d'installer Volk ( fourni avec ubuntu dans la plupart des versions ). Si celui-ci n'est pas installé : 

sudo apt-get install libvolk1-bin

Pour le lancer et créer le profil qui sera attribué à votre ordinateur par GNU Radio afin d'accélerer le fonctionnement des applications : 

volk_profile

La configuration prends un peu de temps mais une fois terminée, elle permettra d'utiliser les applis Gnu dans de meilleures conditions.