Installation

Sur raspberry pi, voici les différentes étapes pour installer les drivers et vérifier le bon fonctionnement sur une Debian stretch 9.1.

Installation du nécessaire de compilation

sudo apt-get install git cmake build-essential libusb-1.0-0-dev

Récupération des drivers RTL2832U Osmocom et compilation.

git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr/
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/

Blacklist du driver par défaut chargé lors du branchement de la clé USB (il s'agissait du driver pour décoder la TNT). Editer le fichier /etc/modprobe.d/blacklist-rtl.conf :

/etc/modprobe.d/blacklist-rtl.conf
blacklist rtl8192cu
blacklist rtl8xxxu
blacklist dvb_usb_rtl28xxu

Redémarrer le pi et brancher la clé et vérifier les logs du noyau :

dmesg | tail 
[  209.986572] usb 1-1.5: new high-speed USB device number 6 using dwc_otg
[  210.128484] usb 1-1.5: New USB device found, idVendor=0bda, idProduct=2838
[  210.128500] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  210.128511] usb 1-1.5: Product: RTL2838UHIDIR
[  210.128521] usb 1-1.5: Manufacturer: Realtek
[  210.128531] usb 1-1.5: SerialNumber: 00000001
lsusb | grep -i rtl
Bus 001 Device 004: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T

Vérifier les modules chargés, aucun module 'dvb*' ne doit être listé :

lsmod
Module                  Size  Used by
cfg80211              543091  0
rfkill                 20851  2 cfg80211
binfmt_misc             7988  1
snd_bcm2835            24427  0
snd_pcm                98501  1 snd_bcm2835
snd_timer              23968  1 snd_pcm
snd                    70032  3 snd_timer,snd_bcm2835,snd_pcm
bcm2835_gpiomem         3940  0
uio_pdrv_genirq         3923  0
uio                    10204  1 uio_pdrv_genirq
fixed                   3285  0
ip_tables              13161  0
x_tables               20578  1 ip_tables
ipv6                  409035  44

Lancer l'outil de vérification des caractéristiques de la clé :

rtl_test -t
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001
 
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
[R82XX] PLL not locked!
Sampling at 2048000 S/s.
No E4000 tuner found, aborting.

Tout est parfait, l'erreur de la dernière ligne peut être ignorée.

Une première utilisation est d'écouter la Radio FM :music:, ici je me cale sur 100.9 MHz. Penser à brancher des enceintes sur la sortie audio du pi :

rtl_fm -f 100.9M -M wbfm -s 200000 -r 48000 | aplay -r 48000 -f S16_LE
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001
 
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Tuner gain set to automatic.
Tuned to 101216000 Hz.
Oversampling input by: 6x.
Oversampling output by: 1x.
Buffer size: 6.83ms
Sampling at 1200000 S/s.
Output at 200000 Hz.
Playing raw data 'stdin' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono