RF-MARKET BLOG
Utiliser un SDR sur Windows, Linux et macOS
Installer puis diagnostiquer un SDR : chaîne USB, pilotes, bibliothèques, architecture Intel/ARM64, débit I/Q et audio. Des vérifications concrètes pour RTL-SDR V3/V4, Airspy, SDRplay et HackRF sur les trois systèmes.
Compatibilité : vérifier trois couches avant d’installer
Une installation SDR réunit un périphérique USB, un pilote ou une bibliothèque d’accès au matériel et une application de réception. Ces trois couches doivent être compatibles. Voir le boîtier dans la liste USB ne garantit pas qu’il puisse être ouvert par le logiciel, et installer une bibliothèque ne garantit pas que l’application la charge.
Notez le modèle exact, le système et son architecture : Windows x64, Linux x64 ou ARM64, Mac Intel ou Apple Silicon. Ajoutez la version de l’application. Une explication trouvée pour le même nom de logiciel mais une autre architecture peut mener à une mauvaise DLL ou à un paquet qui ne contient pas la source attendue.
La chaîne complète : USB, bibliothèque, source et démodulateur
Le périphérique USB transporte les échantillons. Le pilote du système autorise leur transfert ; une bibliothèque connaît les commandes spécifiques du récepteur. Le module source de l’application utilise cette bibliothèque, puis fournit les I/Q au démodulateur. Enfin, le système audio envoie le son au haut-parleur ou à un décodeur. Une panne dans une couche ne se corrige pas nécessairement dans la suivante.
Par exemple, un RTL-SDR visible dans la liste USB peut être occupé par le pilote DVB ; un RTL-SDR ouvert par rtl_test peut rester absent de SDR++ si le module source n’est pas chargé ; une cascade qui défile normalement peut rester silencieuse si le squelch ferme le canal ou si la sortie audio est incorrecte. Ces trois symptômes justifient trois actions différentes, pas une réinstallation générale.
Une couche SoapySDR, lorsqu’elle est utilisée, ajoute un module d’adaptation. Installer SoapySDR sans le module du matériel ne rend pas celui-ci disponible. Inversement, une source native Airspy ou RTL-SDR peut fonctionner sans SoapySDR. Choisissez la voie réellement prévue par l’application et gardez une seule chaîne de référence pour le premier test.
Références : Source 1
Compatibilité par modèle : une matrice pour s’orienter
Cette matrice décrit des voies d’installation à vérifier dans les paquets actuels, et non une promesse que chaque combinaison fonctionne avec chaque version d’OS. Les points spécifiques d’Apple Silicon et de Windows sur ARM doivent être traités séparément des versions Intel/x64.
| Matériel | Windows x64 | Linux | macOS | Point à contrôler |
|---|---|---|---|---|
| RTL-SDR Blog V3 | WinUSB + source RTL-SDR | librtlsdr + droits USB | Source RTL-SDR et architecture cohérente | HF : chemin direct sampling, automatique ou branche Q selon pilote |
| RTL-SDR Blog V4 | WinUSB + logiciel avec pilote V4 | librtlsdr compatible V4 + accès USB | Paquet compatible V4 ; architecture à vérifier | Bibliothèque réellement utilisée par l’application |
| Airspy Mini/R2 | Pilote Airspy + source Airspy | libairspy + source disponible | libairspy + application compatible | Ne pas choisir la source Airspy HF+ |
| Airspy HF+ Discovery | Source HF+ et pilote adapté | libairspyhf + source HF+ | libairspyhf + application compatible | Bibliothèque distincte de Mini/R2 |
| SDRplay RSP1B/RSPdx | SDRconnect ou SDRuno adapté | SDRconnect, Ubuntu LTS supporté | SDRconnect x64 ou ARM64 | API et fonctions prises en charge pour le modèle |
| HackRF One | WinUSB/libhackrf + application | libhackrf et droits USB | libhackrf + application compatible | Diagnostic hackrf_info avant le logiciel graphique |








Références : Source 1 · Source 2 · Source 3 · Source 4 · Source 5 · Source 6 · Source 7
Quel logiciel choisir pour débuter ?
Si votre matériel est SDRplay, SDRconnect constitue une voie directe sur les trois plateformes. Pour RTL-SDR et Airspy, choisissez d’abord une application dont le paquet annonce la source nécessaire. SDR++ convient à une approche commune entre systèmes ; Gqrx est une option de réception dans l’écosystème GNU Radio, notamment sous Linux et macOS.
Sous Windows, SDR# est une autre voie pour RTL-SDR et Airspy. Pour les expérimentations et certains décodages, SDRangel propose des fonctions plus nombreuses, avec une prise en main plus technique. Les paquets macOS de SDRangel sont construits en x64 et ARM64. Cette disponibilité ne remplace pas la vérification des plugins nécessaires au matériel.
Installez une seule chaîne fonctionnelle pour commencer. Empiler trois applications et plusieurs versions de pilotes rend plus difficile l’identification d’un fichier obsolète. Gardez les liens et versions installées dans une note ; cela permettra de revenir à une configuration connue.
Références : Source 1 · Source 2 · Source 3 · Source 4 · Source 5
Windows : distinguer WinUSB, DLL et application 32 ou 64 bits
WinUSB gère l’accès USB ; rtlsdr.dll traduit les commandes du matériel pour le logiciel. Remplacer l’un ne met pas automatiquement l’autre à jour. Pour un V4 vu en USB mais incapable de recevoir correctement la HF, commencez par identifier la bibliothèque chargée par le paquet : une ancienne DLL peut reconnaître une clé RTL2832 sans comprendre le chemin de conversion du V4.
Après extraction du paquet officiel, gardez ensemble son exécutable et ses bibliothèques. Une DLL 64 bits ne se charge pas dans un processus 32 bits, même si Windows est 64 bits. Un message de module introuvable peut aussi concerner une dépendance de cette DLL. Copier au hasard des bibliothèques dans les dossiers système rend ensuite le diagnostic difficile ; utilisez d’abord le paquet prévu pour l’application.
Dans Zadig, affichez Options → List All Devices, identifiez votre RTL-SDR puis sélectionnez l’interface 0 prévue par le guide du fabricant. Vérifiez le nom et l’identifiant USB avant de choisir WinUSB comme pilote cible et de lancer Install Driver ou Replace Driver. Débrancher puis rebrancher la clé aide à confirmer son identité dans la liste. Cette procédure est celle du RTL-SDR ; elle ne remplace pas l’installation officielle d’un SDRplay.
Pour vérifier l’USB, ouvrez le Gestionnaire de périphériques et repérez la clé exacte avant et après débranchement. Pour le RTL-SDR, appliquez ensuite la procédure Zadig propre au modèle. Fermez les autres récepteurs logiciels, sélectionnez la source correspondante et démarrez à débit modéré. Si l’outil constructeur ouvre le SDR mais pas le logiciel graphique, cherchez du côté du module source et de ses dépendances.
Pour SDRplay, installez la solution officielle correspondant au modèle ; pour Airspy, distinguez Mini/R2 et HF+ ; pour HackRF, vérifiez libhackrf et la compatibilité des versions hôte/firmware. Un périphérique qui marche dans son application de référence fournit un point de comparaison utile avant d’ajouter une autre couche logicielle.


Références : Source 1 · Source 2 · Source 3
Linux : un diagnostic en quatre commandes avant de changer les pilotes
Les commandes du tableau sont des vérifications à lancer dans un terminal, une à la fois. Elles supposent que les outils correspondants sont installés ; elles ne nécessitent pas de modifier le micrologiciel. lsusb vérifie l’énumération, lsusb -t aide à voir le pilote lié et le chemin USB. L’outil de test vérifie ensuite l’ouverture et la continuité du flux ; arrêtez-le avec Ctrl+C avant d’ouvrir le logiciel graphique.
Si lsusb ne voit rien, cherchez d’abord câble de données, port et alimentation. Si le périphérique est présent mais que l’accès est refusé, contrôlez les règles udev fournies par le paquet, puis rebranchez. Si l’erreur indique un périphérique occupé, fermez les autres applications et examinez le pilote DVB. Ne désactivez ce pilote que si l’usage SDR de cette clé l’exige : d’autres tuners TV peuvent en dépendre.
Pour un RTL-SDR, rtl_test -s 2400000 lance un essai de flux à 2,4 Méch/s. Laissez-le fonctionner au moins une trentaine de secondes et observez les pertes d’échantillons. Une perte isolée au démarrage n’a pas la même portée que des pertes régulières. Diminuez le débit, retirez le concentrateur puis recommencez avec les mêmes conditions. Ce test vérifie le transport ; il ne mesure ni l’antenne ni la sensibilité RF.
Si la ligne de commande fonctionne mais pas l’application, comparez leurs bibliothèques. Une installation manuelle sous /usr/local peut coexister avec des paquets sous /usr ; un logiciel distribué en paquet autonome peut en embarquer d’autres. Le chemin trouvé par command -v et la sortie de ldd donnent des indices. Corrigez la chaîne identifiée plutôt que supprimer en bloc toutes les bibliothèques SDR.
| Commande | Ce qu’elle vérifie | Ce qu’elle ne prouve pas |
|---|---|---|
| lsusb | Présence du SDR sur le bus USB | Accès autorisé au programme |
| lsusb -t | Topologie USB et pilotes associés | Compatibilité de la bibliothèque du logiciel |
| rtl_test -s 2400000 | Accès et continuité du flux RTL-SDR | Qualité de réception de l’antenne |
| ldd "$(command -v rtl_test)" | Bibliothèques liées à cet exécutable Linux | Bibliothèques embarquées par une autre application |
Références : Source 1
macOS : vérifier le processeur et les dépendances réellement utilisées
Sur un Mac Apple Silicon, uname -m lancé dans un terminal natif indique généralement arm64 ; un terminal sous traduction peut indiquer x86_64. Vérifiez donc aussi la puce dans « À propos de ce Mac ». Un ensemble Intel peut parfois fonctionner sous Rosetta, mais une extension ARM64 ne peut pas être chargée dans un processus Intel. L’application et ses modules doivent être compatibles entre eux.
Pour confirmer la présence du SDR, ouvrez Informations système → USB, ou utilisez system_profiler SPUSBDataType. Si le matériel est absent, le problème précède le logiciel de réception. S’il est présent et que l’outil de la famille le voit, examinez le paquet de l’application : une bibliothèque installée par Homebrew ne remplace pas nécessairement celle incluse dans le dossier de l’application.
Les installations Homebrew utilisent habituellement /opt/homebrew sur Apple Silicon et /usr/local sur Intel ; brew --prefix indique la racine de l’installation effectivement appelée. file /chemin/vers/executable renseigne l’architecture d’un exécutable, et otool -L /chemin/vers/executable liste ses dépendances liées. Remplacez le chemin par celui du binaire concerné. Ces informations expliquent souvent pourquoi deux applications du même Mac ne détectent pas le SDR de la même façon.
SDRconnect fournit des paquets macOS distincts x64 et ARM64. Pour les autres logiciels, vérifiez les fichiers de la version retenue et leurs modules : « disponible sur Mac » ne garantit pas toute combinaison de processeur, version de macOS et matériel. Conservez un paquet fonctionnel et ses réglages avant de changer plusieurs composants.
Références : Source 1 · Source 2
Dimensionner débit I/Q, USB, disque et réseau avant les captures longues
Un flux complexe contient deux composantes, I et Q. À 2,4 Méch/s avec 8 bits pour chacune, le débit utile brut est de 4,8 Mo/s, soit 38,4 Mbit/s. À 10 Méch/s avec 16 bits par composante, il atteint 40 Mo/s, soit 320 Mbit/s. Les protocoles, tampons et en-têtes ajoutent une charge ; un débit nominal de liaison ne garantit donc pas un flux continu dans ces conditions.
Une clé qui fonctionne à faible débit puis perd des échantillons à fort débit peut être limitée par le contrôleur USB, un concentrateur partagé, le processeur ou le disque. Testez d’abord sans enregistrement, puis avec enregistrement sur un disque local suffisamment rapide. Si seul le second cas échoue, la chaîne RF n’est probablement pas le premier suspect. Une FFT trop lourde ou plusieurs décodeurs peuvent aussi saturer un cœur du processeur même si la charge globale semble modérée.
La décimation doit être précédée d’un filtrage adapté. Diviser simplement les échantillons sans filtrer replie des signaux dans la bande conservée. Selon l’endroit où la décimation est faite, elle peut réduire la charge du traitement ou du réseau sans réduire le trafic USB initial. Sur HackRF, la documentation recommande d’acquérir au moins à 8 Méch/s dans l’usage général puis de filtrer/décimer, compte tenu des filtres analogiques disponibles.
Pour un serveur SDR, distinguez flux I/Q brut, canal I/Q réduit et audio. À titre de comparaison, un audio mono PCM de 48 kHz sur 16 bits ne représente que 0,768 Mbit/s avant protocole. Le bon mode distant dépend de ce que le client doit faire : simple écoute ou liberté de retuner et de redémoduler. Commencez en réseau local et vérifiez les pertes avant une liaison distante.
Références : Source 1
Un premier test reproductible en dix minutes
Avant le premier démarrage, fermez les autres applications susceptibles d’utiliser le SDR. Connectez une antenne adaptée et choisissez explicitement la source du matériel. Réduisez le débit I/Q à une valeur raisonnable : la capture maximale met davantage de pression sur l’USB et le processeur, sans aider à écouter un seul signal étroit.
Pour un modèle couvrant la radiodiffusion FM, une station locale connue permet de tester fréquence, antenne et audio en WFM. Avec un récepteur ou une installation dédiée HF, prenez une station identifiable et le mode AM approprié. Le but est de valider une chaîne simple avant d’ajouter décodeur, routage audio ou accès réseau.
Réglez progressivement le gain et conservez une capture d’écran ou une note avec source, débit, fréquence, mode et filtre. Vérifiez séparément que le waterfall avance et que le son sort sur le périphérique audio choisi. Une capture I/Q en mouvement avec silence audio indique une autre famille de problèmes qu’un périphérique impossible à ouvrir.


Les outils qui séparent panne matérielle et configuration
Sous une installation qui dispose des outils correspondants, rtl_test permet de vérifier l’accès à un RTL-SDR ; airspy_info vise Mini/R2, airspyhf_info vise HF+, et hackrf_info interroge HackRF. Leurs informations doivent être interprétées selon la version installée. Arrêtez l’outil avant d’ouvrir une application graphique qui voudrait accéder au même boîtier.
Un outil qui voit le périphérique confirme une partie de la chaîne USB ; il ne garantit pas que l’antenne reçoit correctement. Un test de débit peut révéler des pertes d’échantillons sans démontrer une mauvaise sensibilité RF. Si tous les outils échouent, comparez câble, port, droits et pilote avant de modifier les filtres ou les modes audio.
Références : Source 1 · Source 2 · Source 3 · Source 4
Dépannage : choisir une action à partir du symptôme
Ne changez qu’un paramètre à la fois. Le tableau propose un ordre de vérification pour éviter les réinstallations inutiles. Il faut noter le message d’erreur exact, car plusieurs causes peuvent produire un même symptôme.
| Symptôme | Vérification prioritaire | Prochaine action |
|---|---|---|
| Aucun périphérique USB visible | Câble de données, port et alimentation | Essayer un câble et un port connus |
| Visible en USB, absent du logiciel | Source, architecture, pilote et droits | Tester avec l’outil du fabricant |
| Device busy / périphérique occupé | Autre application ou pilote DVB | Fermer le programme concurrent ; diagnostic du pilote |
| V4 : fréquences incohérentes ou HF absente | Bibliothèque compatible Blog V4 | Mettre à jour le paquet avant les réglages RF |
| Mac : module introuvable | x64/ARM64 et dépendances embarquées | Installer un ensemble de même architecture |
| Coupures à fort débit | USB, charge CPU, concentrateur | Réduire le débit et brancher directement |
| Cascade active mais pas de son | Mode, filtre, squelch et sortie audio | Tester une station connue sans décodeur |
| Signaux fantômes avec beaucoup de gain | Saturation de la chaîne RF | Réduire le gain et examiner le filtrage |
Cascade active, mais pas de son ou de décodage : suivre le signal après la RF
Une station FM de radiodiffusion demande WFM, tandis qu’un signal BLU demande USB ou LSB et un filtre beaucoup plus étroit. Un filtre de 2,4 kHz posé sur une émission large ne conserve qu’une partie du signal ; un filtre trop large autour d’une conversation étroite ajoute du bruit. Commencez avec le mode correct, un squelch ouvert et la bonne sortie audio, puis ajustez les paramètres un par un.
Le gain RF, l’AGC de démodulation et le volume audio interviennent à des endroits différents. Monter le volume ne compense pas une saturation du convertisseur ; l’AGC audio peut même rendre deux essais très différents aussi forts à l’oreille. Pour comparer un réglage RF, utilisez une mesure de rapport signal/bruit cohérente ou gardez le traitement audio identique.
Pour transmettre le son à un décodeur, vérifiez la fréquence d’échantillonnage attendue et le périphérique d’entrée sélectionné. Désactivez dans ce trajet les traitements de parole qui altèrent le signal : suppression de bruit, annulation d’écho et réglage automatique de niveau lorsque le décodeur ne les prévoit pas. Un décodeur utilisant les I/Q directement suit une autre chaîne ; installer un câble audio virtuel ne l’aide pas.
La stabilité de fréquence et l’heure du PC peuvent compter pour certains modes numériques. Corrigez-les selon les besoins du protocole plutôt que chercher une valeur universelle. Conservez d’abord un enregistrement de référence : si ce même fichier est décodé sur un autre logiciel, la réception était probablement exploitable et le diagnostic se déplace vers le traitement.
Procédure de réception de référence : cinq résultats à obtenir
Premier résultat : le système voit le matériel, identifié par modèle et si possible numéro de série. Deuxième résultat : l’outil de diagnostic propre à la famille ouvre le périphérique après fermeture des autres programmes. Troisième résultat : un flux continu tient au débit choisi sans pertes répétées. Quatrième résultat : une station connue est reçue au bon mode avec une antenne adaptée. Cinquième résultat : le son ou les données atteignent le décodeur prévu.
Consignez chaque résultat séparément. « Le SDR ne marche pas » devient alors « l’USB voit la clé, rtl_test fonctionne, mais le module RTL-SDR est absent du logiciel ». Cette formulation conduit à vérifier le paquet et ses modules plutôt que le coaxial. À l’inverse, si la station n’apparaît dans aucun logiciel alors que le flux est stable, l’antenne, la bande et les réglages RF méritent une vérification.
Avant une mise à jour, notez les versions de l’application et des bibliothèques connues, les réglages et la source utilisée. Après la mise à jour, reprenez la même séquence. Une configuration de référence rend les futures pannes plus faciles à isoler et évite de perdre simultanément un pilote fonctionnel et les paramètres d’une station.
La liste à transmettre pour obtenir une aide efficace
Indiquez le modèle exact du SDR, le système et sa version, l’architecture du processeur, le nom du paquet logiciel et la source sélectionnée. Joignez le message d’erreur et dites si l’outil de diagnostic voit le matériel. Précisez le câble, le port ou le concentrateur utilisé, ainsi que la présence d’autres applications SDR.
Pour un problème de réception, ajoutez fréquence, modulation, filtre, gain et antenne. Un client peut ainsi distinguer une installation incompatible d’un problème de signal, et RF-Market peut vérifier la chaîne sans recommander immédiatement un nouvel appareil. Cette méthode sert aussi à conserver une configuration connue après une mise à jour.