samedi 25 août 2018

SDR# sous linux



Un ancien adpete de windows, habitué à SDR Sharp et n'arrivant pas à utiliser correctement Gqrx m'a demandé comment installer ce "gros" soft SDR pour son linux. La manipulation n'est guère compliqué mais pour ma part, je vous conseille quand même l'utilisation de Gqrx car avec Sdr#, j'ai remarqué pas mal de latence et les plugins tetra ou dsd ne fonctionnent pas vraiment comme il devraient. Mais vouloir faire travailler un soft sous un OS qui ne lui soit pas dédié ne promet pas toujours de bons résultats ..


Donc, SDR# fonctionnera avec mono 4.6 UNIQUEMENT ( la 4.2 générant pas mal de petits bugs désagréables à l'utilisation : freeze, latence +++, fermeture lors d'une action ....etc ... ) , il faudra alors bien veiller à installer les prérequis à jour :

> sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
> echo "deb https://download.mono-project.com/repo/ubuntu preview-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-preview.list
> sudo apt-get update
> sudo apt-get install mono-devel mono-complete libportaudio2 librtlsdr0 librtlsdr-dev 

Maintenant, on récupère les source et on les compile  :

> git clone https://github.com/cgommel/sdrsharp && cd sdrsharp
> xbuild /p:TargetFrameworkVersion="v4.5" /p:Configuration=Release

On crée enfin les liens qui vont permettre à SDR# de trouver les bonnes librairies : 

> cd Release
> ln -s /usr/lib/x86_64-linux-gnu/libportaudio.so.2 libportaudio.so && ln -s /usr/lib/x86_64-linux-gnu/librtlsdr.so.0 librtlsdr.dll  
> sudo ldconfig

SDR# est maintenant prêt à être excécuter. Pour le lancer ( depuis le répertoire Release ):

>mono SDRSharp.exe 

Vous devriez alors retrouver l'écran suivant : 


Cette version ne fonctionne pas avec les HackRF et les SdrIQ pour le moment. Pensez bien à configurer votre clé dans l'écran "configuration"  et pour un soucis de fluidité, évitez de mettre un 'SampleRate' supérieur à 2.048Mhz ainsi que le buffer audio à 200ms maximum.

*edit du 11/08/2019*

Pour ceux qui ont besoin du  fichier Plugins.xml, vous pouvez le créer avec un editeur de texte ( mousepad, vim ...) contenant le texte suivant : 

<?xml version="1.0" encoding="uft-8" ?>
<sharpPlugins>
    * vos lignes add key à rajouter ici sous la forme de <add key ..... />
</sharpPlugins>


12 commentaires:

  1. bonjour .qui peut me donner un coup de main pour le reglage de ma clé bleu sdrsharp pour le decodage de tetra ..avec teamviewer..73..merci

    RépondreSupprimer
  2. Bonsoir, étant sous Linux Mint 19.1, j'ai suivi votre tuto à la lettre, et je n'ai obtenu ok message d'erreur, mis à part lorsque je lance SDRSharp.exe depuis le répertoire release, j'ai le message d'erreur suivant "Error loading 'SDRSharp.SDRIQ.SdrIqIO, SDRSharp.SDRIQ' -Exception has been thrown by the target of an invocation." Pourriez-vous svp me dire comment corriger cette erreur. Merci mille fois !
    Rick

    RépondreSupprimer
    Réponses
    1. Bonjour
      C'est un problème lié au fait que votre rtlsdr n'est pas reconnu. Il faut aller dans le fichier SDRSharp.exe.config et vérifier que les 2 lignes concernant le rtlsdr commençant par add key="RTL-SDR soit bien valides et non pas placées en commentaire ( < !-- au début et -- > à la fin
      Jeff

      Supprimer
  3. Merci cher OM Jeff pour votre réponse. En fait j'ai vérifié et il n'y a pas de "!", voilà ce que j'ai: (), ce qui me semble correct. L'affichage est aussi minimaliste, lorsque je lance le : mono SDRSharp.exe, car certains chiffres sont illisibles comme ceux du squelch par exemple, ils apparaissent trop à droite et on n'aperçoit que le tout premier chiffre. De loin le GQRX paraît nettement plus agréable graphiquement parlant. En résumé, le sdrsharp marche sous linux mint 19.1, mais j'ai un gros problème de graphisme là-dessus et un petit message d'erreur décrit plus haut. Auriez-vous une autre piste à explorer.
    Merci bien d'avoir répondu:
    73's qro de Rick CN8ST

    RépondreSupprimer
  4. Voici le message Crash.txt que j'ai très précisément:

    The type initializer for 'PortAudioSharp.PortAudioAPI' threw an exception.
    at SDRSharp.Radio.PortAudio.AudioDevice.GetDevices (SDRSharp.Radio.PortAudio.DeviceDirection direction) [0x00006] in :0
    at SDRSharp.MainForm.InitializeGUI () [0x000f5] in <6ef8969d945c4f158b49cb0a6263e3c3>:0
    at SDRSharp.MainForm..ctor () [0x000c6] in <6ef8969d945c4f158b49cb0a6263e3c3>:0
    at (wrapper remoting-invoke-with-check) SDRSharp.MainForm:.ctor ()
    at SDRSharp.Program.Main () [0x0005d] in <6ef8969d945c4f158b49cb0a6263e3c3>:0

    Merci encore pour votre aide !

    RépondreSupprimer
    Réponses
    1. Bonsoir Rick
      Il semblerait que ce soit mono qui provoque ce crash. Il faut bien la version 4.6, les autres versions rencontrant pas mal de bugs. Je pense ici que le problème vient des librairies libportaudio. As tu bien fait cette commande :

      ln -s /usr/lib/x86_64-linux-gnu/libportaudio.so.2 libportaudio.so && ln -s /usr/lib/x86_64-linux-gnu/librtlsdr.so.0 librtlsdr.dll



      Il est vrai que Gqrx est l'un des meilleurs Sdr sous linux mais il commence doucement à se faire voler la vedette par SdrAngel ( la nouvelle version d'ailleurs est sortie corrigeant quelques bugs mineurs ); Il est toujours préférables d'installer des soft prévus pour un système précis que d'essayer de faire fonctionner un soft en émulant son système propriétaire ;)

      Jeff

      Supprimer
  5. Hello all.
    I want the plugin: http://rtl-sdr.ru/page/skaner-poisk-novyh-chastot
    install in sdrsharp.
    but I can't find where to put the plugin presies.
    can someone tell me in which folder to put the plugin and where can I find the plugin folder?

    RépondreSupprimer
    Réponses
    1. Hi
      When u download the files, you nedd to extract and in the extrat files, choose the one that u need ( the version of the microsoft net lib 3.5 or 4.6 ). In each folder, there is a dll that u need to copy in the directory where is the sdrsharp exe. After that, you nedd open in the extract folder, the file magicline.txt and copy the line in the text file 'plugins' ..
      Normally, it's will be ok

      Jeff - F0FYF

      Supprimer
  6. bonjour avec cette commande :
    xbuild /p:TargetFrameworkVersion="v4.5" /p:Configuration=Release
    j'obtiens ça :

    >>>> xbuild tool is deprecated and will be removed in future updates, use msbuild instead <<<<

    MSBUILD: error MSBUILD0003: Please specify the project or solution file to build, as none was found in the current directory.


    j'avoue ne pas trop savoir ce que c'est.

    RépondreSupprimer
    Réponses
    1. Bonjour
      Quelle est votre version de mono ?
      $ mono --version

      Jeff

      Supprimer
    2. Bonjour Jeff,

      Mono JIT compiler version 6.8.0.96 (tarball Wed Jan 15 10:08:18 UTC 2020)
      Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
      TLS: __thread
      SIGSEGV: altstack
      Notifications: epoll
      Architecture: amd64
      Disabled: none
      Misc: softdebug
      Interpreter: yes
      LLVM: yes(610)
      Suspend: hybrid
      GC: sgen (concurrent by default)

      Supprimer
  7. Ça fonctionne, par contre il n'aime pas les plugins. tant pis...

    merci.

    RépondreSupprimer