Carte tuner TBS5530 (DVB/T+S) sous Linux, écoute de la radio par satellite
Voyons comment recevoir des signaux satellite FTA sous Linux à l'aide d'une parabole, d'une LNB universelle et d'un tuner DVB-S USB.
Matériel utilisé
En fibre composite plutôt qu'en acier. 80cm étant un bon compromis car plus la parabole est grande meilleur sera le signal, mais aussi plus grande devra être la précision de pointage.
C'est optionnel. Cette LNB est plus stable et plus précise que celle fournie d'origine avec la parabole. Pour les diffuseurs à large bande ça ne changera rien, mais pour la réception de satellite radioamateur comme QO-100 ce gain de stabilité sera appréciable.
La marque TBS est reconnue dans le monde pro et elle possède des drivers Linux.
Installation logicielle
J'ai utilisé comme OS AlmaLinux 9 sur un mac-mini 2012 intel (et pas AlmaLinux 10 car architecture x86_64-v2).
La documentation officielle de chez TBS indique de tout d'abord clôner ces dépôts :
1git clone https://github.com/tbsdtv/media_build.git
2git clone --depth=1 https://github.com/tbsdtv/linux_media.git -b latest ./media
Puis d'installer les dépendances
1dnf install kernel-devel perl-Proc-ProcessTable perl-Digest-SHA patchutils
Et enfin compiler le tout
1cd media_build
2make dir DIR=../media
3make allyesconfig
4sed -i -r 's/(^CONFIG.*_RC.*=)./\1n/g' v4l/.config
5sed -i -r 's/(^CONFIG.*_IR.*=)./\1n/g' v4l/.config
6make -j4
7sudo make install
Première déconvenue: ça ne compile pas avec le kernel (v5) fourni avec AlmaLinux 9.8. Je remercie Adrien LinuxTricks qui avait passé du temps pour aussi arriver à la conclusion : il n'y a pas le module DVB dans le kernel AlmaLinux. Par chance, le dépôt elrepo propose des kernels personnalisés avec un meilleur support matériel. Il y a deux branches, la Main Line et la Long Term. La branche ML propose un kernel 7.2, c'est trop récent pour le support de la carte, prenons la branche LT (6.1).
Activation de elrepo et installation du kernel Long Term (6.1) :
1rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2dnf install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
3dnf --enablerepo=elrepo-kernel install kernel-lt kernel-lt-devel
Si vous désirez utiliser Almalinux 10, le kernel par défaut ne proposera pas non plus de module DVB et le dépôt elrepo ne propose plus la branche LT. La branche ML nous cantonne en v7.
1rpm --import https://www.elrepo.org/RPM-GPG-KEY-v2-elrepo.org
2dnf install https://www.elrepo.org/elrepo-release-10.el10.elrepo.noarch.rpm
3dnf --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel
Impossible de compiler les drivers / d'utiliser la carte TBS sous AlmaLinux 10 et/ou kernel v7.
La constructeur parle bien d'un driver alternatif dans sa doc mais je n'ai pas réussi à le faire marcher. https://github.com/tbsdtv/linux_media/wiki
Restons sous AlmaLinux 9 + kernel elrepo LT : c'est bon maintenant ça compile.
Rebootez pour la prise en compte du nouveau kernel et vérifier la bonne détection de la carte.
Le périphérique USB est bien détecté :
1$ lsusb | grep TBS
2Bus 002 Device 006: ID 734c:5530 TBS Technologies China TBS 5530
Le driver est bien chargé (j'ai aussi une clé rtl-sdr de branchée):
1$ lsmod|grep dvb
2dvb_usb_tbs5530 20480 0
3dvb_usb_rtl28xxu 45056 0
4dvb_usb 40960 1 dvb_usb_tbs5530
5dvb_usb_v2 49152 1 dvb_usb_rtl28xxu
6rc_core 65536 1 dvb_usb
7dvb_core 167936 3 dvb_usb_v2,dvb_usb,rtl2832
8mc 81920 5 videodev,dvb_usb_v2,videobuf2_v4l2,dvb_core,videobuf2_common
On a bien une entrée sous /dev/dvb
1$ ls -al /dev/dvb/adapter*
2
3/dev/dvb/adapter1:
4total 0
5crw-rw----. 1 root video 212, 4 1 mars 00:08 demux0
6crw-rw----. 1 root video 212, 5 1 mars 00:08 dvr0
7crw-rw----. 1 root video 212, 7 1 mars 00:08 frontend0
8crw-rw----. 1 root video 212, 8 1 mars 00:08 frontend1
9crw-rw----. 1 root video 212, 6 1 mars 00:08 net0
À noter que cette carte dispose de 2 tuners, un DVB-T (frontend0) et un DVB-S (frontend1).
Votre user unix doit appartenir au groupe video pour accéder à la ressource. Si ce n'est pas encore le cas, on peut l'ajouter de cette façon (en root) :
1usermod -a -G video <login>
Il faudra se deloguer/reloguer pour que le changement soit appliqué.
Au branchement USB, dmesg indique bien le chargement du module et du firmware :
1$ dmesg
2[44063.016671] usb 2-4: new high-speed USB device number 5 using xhci_hcd
3[44063.139855] usb 2-4: New USB device found, idVendor=734c, idProduct=5530, bcdDevice= 0.01
4[44063.139869] usb 2-4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
5[44063.140407] dvb-usb: found a 'TurboSight TBS 5530' in cold state, will try to load a firmware
6[44063.140426] dvb-usb: downloading firmware from file 'dvb-usb-id5530.fw'
7[44063.140431] tbs5530: start downloading tbs5530 firmware
8[44063.250664] dvb-usb: found a 'TurboSight TBS 5530' in warm state.
9[44063.250776] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
10[44063.250786] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
11[44063.251115] dvbdev: DVB: registering new adapter (TurboSight TBS 5530)
12[44063.251346] tbs5530: read eeprom failed.
13[44063.251350] dvb-usb: MAC address reading failed.
14[44063.252371] i2c i2c-12: cxd2878:Can not detect the chip.
15[44063.252378] i2c i2c-12: cxd2878:error attaching frontend.
16[44063.252387] dvb-usb: no frontend was attached by 'TurboSight TBS 5530'
17[44063.252611] dvb-usb: TurboSight TBS 5530 successfully initialized and connected.
18[44063.252720] usb 2-4: USB disconnect, device number 5
19[44063.253046] dvb-usb: TurboSight TBS 5530 successfully deinitialized and disconnected.
20[44064.877683] usb 2-4: new high-speed USB device number 6 using xhci_hcd
21[44065.001378] usb 2-4: New USB device found, idVendor=734c, idProduct=5530, bcdDevice= 0.01
22[44065.001391] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
23[44065.001395] usb 2-4: Product: TBS 5530
24[44065.001398] usb 2-4: Manufacturer: TBS-Tech
25[44065.002048] dvb-usb: found a 'TurboSight TBS 5530' in cold state, will try to load a firmware
26[44065.002062] dvb-usb: downloading firmware from file 'dvb-usb-id5530.fw'
27[44065.002069] tbs5530: start downloading tbs5530 firmware
28[44065.114738] dvb-usb: found a 'TurboSight TBS 5530' in warm state.
29[44065.114842] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
30[44065.114852] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
31[44065.115186] dvbdev: DVB: registering new adapter (TurboSight TBS 5530)
32[44065.345102] dvb-usb: MAC address: 00:22:ab:c0:79:a4
33[44065.347749] i2c i2c-12: Detect CXD2878/CXD6802(SiP) chip.
34[44065.347777] usb 2-4: DVB: registering adapter 1 frontend 0 (TurboSight TBS 5530 DVB-T/T2/C/C2,ISDB-T/C,ATSC,J83B)...
35[44065.405226] i2c i2c-12: found a 'Montage m88rs6060' in cold state
36[44065.405358] i2c i2c-12: downloading firmware from file 'dvb-demod-m88rs6060.fw'
37[44066.922801] i2c i2c-12: found a 'Montage m88rs6060' in warm state
38[44066.922830] i2c i2c-12: firmware version:30
39[44067.009728] usb 2-4: DVB: registering adapter 1 frontend 1 (TurboSight TBS 5530 DVB-S/S2/S2X)...
40[44067.010131] dvb-usb: TurboSight TBS 5530 successfully initialized and connected.
Exploitation du tuner
On a un driver compilé et fonctionnel, commençons à exploiter les différents outils DVB disponibles fournis parle paquet v4l-utils.
1dnf config-manager --set-enabled crb
2dnf install v4l-utils
3# ou apt install dvb-tools sous Debian
À l'aide de DVB FrondEnd Tool, On reconnait le tuner DVB-T :
1$ dvb-fe-tool --adapter 1 --frontend 0
2Device TurboSight TBS 5530 DVB-T/T2/C/C2,ISDB-T/C,ATSC,J83B (/dev/dvb/adapter1/frontend0) capabilities:
3 CAN_2G_MODULATION
4 CAN_FEC_1_2
5 CAN_FEC_2_3
6 CAN_FEC_3_4
7 CAN_FEC_4_5
8 CAN_FEC_5_6
9 CAN_FEC_7_8
10 CAN_FEC_AUTO
11 CAN_GUARD_INTERVAL_AUTO
12 CAN_INVERSION_AUTO
13 CAN_MUTE_TS
14 CAN_QAM_16
15 CAN_QAM_32
16 CAN_QAM_64
17 CAN_QAM_128
18 CAN_QAM_256
19 CAN_QAM_AUTO
20 CAN_RECOVER
21 CAN_TRANSMISSION_MODE_AUTO
22DVB API Version 5.12, Current v5 delivery system: DVBT
23Supported delivery systems:
24 [DVBT]
25 DVBT2
26 ISDBT
27 DVBC/ANNEX_A
28 DVBC/ANNEX_B
29 DVBC/ANNEX_C
30 ATSC
31Frequency range for the current standard:
32From: 45,0 MHz
33To: 868 MHz
34Step: 1,00 kHz
Et ici le tuner DVB-S qui nous intéresse :
1$ dvb-fe-tool --adapter 1 --frontend 1
2Device TurboSight TBS 5530 DVB-S/S2/S2X (/dev/dvb/adapter0/frontend1) capabilities:
3 CAN_2G_MODULATION
4 CAN_FEC_AUTO
5 CAN_INVERSION_AUTO
6 CAN_MULTISTREAM
7 CAN_QPSK
8 CAN_RECOVER
9DVB API Version 5.12, Current v5 delivery system: DVBS
10Supported delivery systems:
11 [DVBS]
12 DVBS2
13Frequency range for the current standard:
14From: 950 MHz
15To: 2,15 GHz
16Symbol rate ranges for the current standard:
17From: 1,00 MBauds
18To: 45,0 MBauds
19SEC: set voltage to OFF
20ERROR FE_SET_VOLTAGE: Opération non permise
On doit maintenant créer un fichier qui référence les fréquences et multiplex qu'on veut scanner. Je vais pointer ma parabole sur Eutelsat 5WBcar elle propose des radios et télévisions en FTA (free to air), sans chiffrement donc pas besoin de carte de décodage.
Pour récupérer ces infos je me suis basé sur digitalbitrate : https://www.digitalbitrate.com/dtv.php?mux=&liste=2&live=62&lang=en
Les informations à connaitre sont sont :
- la fréquence du multiplex, en Hertz. La bande Ku va de 10.7 Ghz à 12.75 GHz. Elle est divisée en 2. La bande basse de 10.7 GHz à 11.7 GHz et la bande haute de 11.7 GHz à 12.75 GHz. La tête de la parabole dispose de deux ocillateurs, un pour chaque bande. La sélection se fait par l'injection d'un signal à 22kHz dans le câble. Signal à 22kHz = sélection de la bande haute, pas de signal = sélection de la bande basse.
- la polarisation. Elle peut être verticale ou horizontale. La tête de la parabole dispose de 2 antennes perpendiculaires, une pour chaque polarisation. Le choix d'une antenne ou d'une autre se fait par l'injection d'un certain voltage dans le câble du LNB. Si voltage = 13V : polarisation verticale, si voltage = 18V : polarisation horizontale.
- la modulation : 8PSK, QPSK, c'est le langage utilisé
- le symbole rate : 9900, 95500, c'est la vitesse de transmission
- le FEC (forward error correction) : 2/3, 3/4, 8/9 : c'est la tolérance aux erreurs, ou le nombre d'info utiles transmises sur le nombre d'info envoyées. Plus il est élevé, moins il y a de redondance et plus le signal doit être bon. À l'inverse avec nn FEC bas (ex 2/3), un signal sera reçu plus facilement.
Extrait du fichier eutelsat-W5B :
1# cf. https://www.digitalbitrate.com/dtv.php?mux=11471&liste=1&live=62&lang=en
2# Eutelsat 5WB - 11471 V
3# Radio France + divers radios française en FTA
4[CHANNEL]
5 DELIVERY_SYSTEM = DVBS2
6 FREQUENCY = 11471000
7 POLARIZATION = VERTICAL
8 SYMBOL_RATE = 29950000
9 MODULATION = PSK/8
10 INNER_FEC = 3/4
11 INVERSION = AUTO
Le pointage de la parabole doit avoir été fait précisement à ce stade !
Maintenant lançons un scan :
1dvbv5-scan eutelsat-5WB --lnbf EXTENDED --adapter 0 --frontend 1
2Using LNBf EXTENDED
3 Astra 19.2E, European Universal Ku (extended)
4 Freqs : 10700 to 11700 MHz, LO: 9750 MHz
5 Freqs : 11700 to 12750 MHz, LO: 10600 MHz
6ERROR command BANDWIDTH_HZ (5) not found during retrieve
7Cannot calc frequency shift. Either bandwidth/symbol-rate is unavailable (yet).
8Scanning frequency #3 11471000
9Lock (0x1f) Signal= -24,38dBm C/N= 16,34dB
10 Layer A: Signal= 93,09% C/N= 81,58%
11Service EUROPE 1, provider EUTELSAT: digital radio
12Service EUROPE 2, provider EUTELSAT: digital radio
13Service RFM, provider EUTELSAT: digital radio
14Service RADIO AFRICA N01, provider EUTELSAT: digital radio
15Service NOVA, provider EUTELSAT: digital radio
16Service TF1 SERIES FILMS, provider EUTELSAT: reserved
17Service L'EQUIPE, provider EUTELSAT: reserved
18Service RMC STORY, provider EUTELSAT: reserved
19Service RMC DECOUVERTE, provider EUTELSAT: reserved
20Service RMC LIFE, provider EUTELSAT: reserved
21Service NOVO 19, provider EUTELSAT: reserved
22Service CNEWS, provider EUTELSAT: reserved
23Service BFM TV, provider EUTELSAT: reserved
24Service T18, provider EUTELSAT: reserved
25Service CSTAR, provider EUTELSAT: reserved
26Service GULLI, provider EUTELSAT: reserved
27Service CANAL SAV, provider EUTELSAT: reserved
28Service ICI PARIS ILE-DE-FRANCE, provider EUTELSAT: digital radio
29Service ICI ALSACE, provider EUTELSAT: digital radio
30Service ICI ARMORIQUE, provider EUTELSAT: digital radio
31Service ICI AUXERRE, provider EUTELSAT: digital radio
32Service ICI AZUR, provider EUTELSAT: digital radio
33Service ICI NORMANDIE CAEN, provider EUTELSAT: digital radio
34Service ICI BEARN BIGORRE, provider EUTELSAT: digital radio
35Service ICI BELFORT-MONTBELIARD, provider EUTELSAT: digital radio
36Service ICI BERRY, provider EUTELSAT: digital radio
37Service ICI BESANCON, provider EUTELSAT: digital radio
38Service ICI BOURGOGNE, provider EUTELSAT: digital radio
39Service ICI BREIZH IZEL, provider EUTELSAT: digital radio
40Service ICI CHAMPAGNE-ARDENNE, provider EUTELSAT: digital radio
41Service ICI COTENTIN, provider EUTELSAT: digital radio
42Service ICI CREUSE, provider EUTELSAT: digital radio
43Service ICI DROME ARDECHE, provider EUTELSAT: digital radio
44Service ICI RCFM, provider EUTELSAT: digital radio
45Service ICI GARD LOZERE, provider EUTELSAT: digital radio
46Service ICI GASCOGNE, provider EUTELSAT: digital radio
47Service ICI GIRONDE, provider EUTELSAT: digital radio
48Service ICI NORMANDIE ROUEN, provider EUTELSAT: digital radio
49Service ICI HERAULT, provider EUTELSAT: digital radio
50Service ICI ISERE, provider EUTELSAT: digital radio
51Service ICI LA ROCHELLE, provider EUTELSAT: digital radio
52Service ICI LIMOUSIN, provider EUTELSAT: digital radio
53Service ICI LOIRE OCEAN, provider EUTELSAT: digital radio
54Service ICI LORRAINE NORD, provider EUTELSAT: digital radio
55Service ICI MAINE, provider EUTELSAT: digital radio
56Service ICI MAYENNE, provider EUTELSAT: digital radio
57Service ICI NORD, provider EUTELSAT: digital radio
58Service ICI ORLEANS, provider EUTELSAT: digital radio
59Service ICI PAYS BASQUE, provider EUTELSAT: digital radio
60Service ICI PAYS D'AUVERGNE, provider EUTELSAT: digital radio
61Service ICI PAYS DE SAVOIE, provider EUTELSAT: digital radio
62Service ICI PERIGORD, provider EUTELSAT: digital radio
63Service ICI PICARDIE, provider EUTELSAT: digital radio
64Service ICI POITOU, provider EUTELSAT: digital radio
65Service ICI PROVENCE, provider EUTELSAT: digital radio
66Service ICI ROUSSILLON, provider EUTELSAT: digital radio
67Service ICI SAINT-ETIENNE LOIRE, provider EUTELSAT: digital radio
68Service ICI SUD LORRAINE, provider EUTELSAT: digital radio
69Service ICI OCCITANIE, provider EUTELSAT: digital radio
70Service ICI TOURAINE, provider EUTELSAT: digital radio
71Service ICI VAUCLUSE, provider EUTELSAT: digital radio
72Service FRANCE INTER, provider EUTELSAT: digital radio
73Service FRANCE CULTURE, provider EUTELSAT: digital radio
74Service FRANCE MUSIQUE, provider EUTELSAT: digital radio
75Service FIP, provider EUTELSAT: digital radio
76Service FRANCE INFO, provider EUTELSAT: digital radio
77Service ..., provider EUTELSAT: digital radio
78WARNING Channel ... (service ID 3069) not found on PMT. Skipping it.
79Service NOSTALGIE, provider EUTELSAT: digital radio
80Service NRJ, provider EUTELSAT: digital radio
81Service RIRE ET CHANSONS, provider EUTELSAT: digital radio
82Service CHERIE FM, provider EUTELSAT: digital radio
Bonne nouvelle, le scan a réussi et les différents services attendus ont été trouvés : ça confirme qu'on pointe sur le bon satellite et qu'on a les bonnes caractéristiques techniques du transpondeur.
D'autre part un fichier dvb_channel.conf a été créé, il reprend les caractéristiques générales du transpondeur et les informations spécifiques aux flux (pids) :
1[FIP]
2 SERVICE_ID = 3067
3 NETWORK_ID = 1375
4 TRANSPORT_ID = 20100
5 AUDIO_PID = 2672
6 PID_0b = 8188
7 PID_05 = 2677
8 LNB = EXTENDED
9 FREQUENCY = 11471000
10 INVERSION = OFF
11 SYMBOL_RATE = 29950000
12 INNER_FEC = 3/4
13 MODULATION = PSK/8
14 PILOT = ON
15 ROLLOFF = 20
16 POLARIZATION = VERTICAL
17 STREAM_ID = 0
18 DELIVERY_SYSTEM = DVBS2
Outil de monitoring dvbv5-zap
Il m'a aidé au pointage de la parabole avec son affichage en temps réel de la valeur de réception.
1$ dvbv5-zap --channels eutelsat-5W 11471000 --monitor --adapter 1 --frontend 1 --lnbf EXTENDED --verbose
2
3Using LNBf EXTENDED
4 Astra 19.2E, European Universal Ku (extended)
5 Freqs : 10700 to 11700 MHz, LO: 9750 MHz
6 Freqs : 11700 to 12750 MHz, LO: 10600 MHz
7using demux 'dvb1.demux0'
8reading channels from file 'eutelsat-5W'
9Device TurboSight TBS 5530 DVB-S/S2/S2X (/dev/dvb/adapter1/frontend1) capabilities:
10 CAN_2G_MODULATION
11 CAN_FEC_AUTO
12 CAN_INVERSION_AUTO
13 CAN_MULTISTREAM
14 CAN_QPSK
15 CAN_RECOVER
16DVB API Version 5.12, Current v5 delivery system: DVBS2
17Supported delivery systems:
18 DVBS
19 [DVBS2]
20Frequency range for the current standard:
21From: 950 MHz
22To: 2,15 GHz
23Symbol rate ranges for the current standard:
24From: 1,00 MBauds
25To: 45,0 MBauds
26Assuming you're in FR.
27
28tuning to 12732000 Hz
29frequency: 12732,00 MHz, high_band: 1
30SEC: set voltage to 13V
31DiSEqC TONE: OFF
32DiSEqC TONE: ON
33L-Band frequency: 2132,00 MHz (offset = 10600,00 MHz)
34 (0x00) Signal= -43,39dBm
35 (0x00) Signal= -43,16dBm
36 (0x00) Signal= -43,34dBm
37 (0x00) Signal= -43,16dBm
38 (0x00) Signal= -43,44dBm
39 (0x00) Signal= -43,34dBm
40 Layer A: Signal= 57,06%
41
42dvb_dev_set_bufsize: buffer set to 6160384
43 dvb_set_pesfilter to 0x2000
4459312,74s: Starting capture
4559312,74s: Stopping capture
46SEC: set voltage to OFF
dvsv5-zap allume le 13V et l'éteint à la fin (le satfinder reçoit du jus)
Signal -29dBm a réussi à lock le transpondeur.
dvblast
On va maintenant utiliser dvblast (qu'on aura compilé à la main) pour demultiplexer le flux, et le multicaster sur le réseau local.
Pour cela on créé le fichier 11471V.conf suivant :
1# Multiplex 11471 V
2
3239.10.10.1:1234 1 3020 # ICI Paris Ile-de-France
4239.10.10.2:1234 1 3064 # France INTER
5239.10.10.3:1234 1 3065 # France CULTURE
6239.10.10.4:1234 1 3066 # France MUSIQUE
7239.10.10.5:1234 1 3067 # FIP
8239.10.10.6:1234 1 3068 # France INFO
Et on lance la diffusion :
1$ dvblast --adapter 1 --frontend-number 1 --delsys DVBS2 --frequency 11472000 --modulation psk_8 -s 29950000 -v 13 -c 11471.conf
2DVBlast 3.4 (release)
3warning: restarting
4debug: compiled with DVB API version 5.11
5debug: using DVB API version 5.12
6debug: Frontend "TurboSight TBS 5530 DVB-S/S2/S2X" supports:
7debug: frequency min: 950000, max: 2150000, stepsize: 0, tolerance: 0
8debug: symbolrate min: 1000000, max: 45000000, tolerance: 0
9debug: capabilities:
10debug: INVERSION_AUTO
11debug: FEC_AUTO
12debug: QPSK
13debug: 2G_MODULATION
14debug: MULTISTREAM
15debug: FE_CAN_RECOVER
16debug: delivery systems:
17debug: DVBS
18debug: DVBS2
19debug: frequency 11471000 is in Ku-band (lower)
20debug: configuring LNB to v=13 p=0 satnum=0 uncommitted=0 lnb-type=universal bis_frequency=1721000
21debug: tuning DVB-S frontend to f=11471000 srate=29950000 inversion=-1 fec=999 rolloff=35 modulation=psk_8 pilot=-1 mis=0 /pls-mode: ROOT (0) pls-code: 0 is-id: 0 /
22error: opening device /dev/dvb/adapter1/dvr1 failed (No such file or directory)
Oups, il manque quelques liens :
1cd /dev/dvb/adapter1 && ln -s dvr1 dvr0 && ln -s demux1 demux0
Essai 2 (je n'ai laissé que les ligne pertinentes)
1debug: configuring LNB to v=13 p=0 satnum=0 uncommitted=0 lnb-type=universal bis_frequency=1721000
2debug: tuning DVB-S frontend to f=11471000 srate=29950000 inversion=-1 fec=999 rolloff=35 modulation=psk_8 pilot=-1 mis=0 /pls-mode: ROOT (0) pls-code: 0 is-id: 0 /
3debug: conf: 239.10.10.1:1234 config=0x1 sid=3020 pids[0]
4debug: conf: 239.10.10.2:1234 config=0x1 sid=3064 pids[0]
5debug: conf: 239.10.10.3:1234 config=0x1 sid=3065 pids[0]
6debug: conf: 239.10.10.4:1234 config=0x1 sid=3066 pids[0]
7debug: conf: 239.10.10.5:1234 config=0x1 sid=3067 pids[0]
8debug: conf: 239.10.10.6:1234 config=0x1 sid=3068 pids[0]
9debug: frontend has acquired signal
10debug: frontend has acquired carrier
11debug: frontend has acquired stable FEC
12debug: frontend has acquired sync
13info: frontend has acquired lock
14lock status: 1
15debug: - Bit error rate: 0
16debug: - Signal strength: 60352
17debug: - SNR: 52480
18debug: * service sid=3064 running=4
19debug: - desc 48 service type=0x2 provider="EUTELSAT" service="FRANCE INTER"
20debug: * service sid=3065 running=4
21debug: - desc 48 service type=0x2 provider="EUTELSAT" service="FRANCE CULTURE"
22debug: * service sid=3066 running=4
23debug: - desc 48 service type=0x2 provider="EUTELSAT" service="FRANCE MUSIQUE"
24debug: * service sid=3067 running=4
25debug: - desc 48 service type=0x2 provider="EUTELSAT" service="FIP"
26debug: * service sid=3068 running=4
27debug: - desc 48 service type=0x2 provider="EUTELSAT" service="FRANCE INFO"
28debug: * service sid=3069 running=4
À ce stade, le programme démultiplexe et diffuse en rtp multicast les programmes demandés, dans un conteneur MPEG-TS. Pour ces flux là, le codec est MPEG 1 Audio Layer II.
On peut lancer un lecteur multimédia :
1$ mpv udp://239.10.10.4:1234 # France Musique
2● Audio --aid=1 (mp2 2ch 48000 Hz 256 kbps)
3AO: [coreaudio] 48000Hz fr-fl (stereo) 2ch s16p
4A: 00:00:11 / 00:00:11 (96%) Cache: 0.3s/14KB
À nous France Musique en 256kbps !
Enregister tout le transpondeur
Avec dvbv5-zap j'ai réussi à enregistrer tout le transpondeur (attention au débit important de 64Mbit/s), sans démultiplexage, même si un nom de programme est passé.
1$ dvbv5-zap -c dvb_channel.conf -a 1 -f 1 -l EXTENDED -m "FRANCE MUSIQUE" -t 10 -o mux.ts
Utilisons la suite tsduck pour analyser le fichier MPEG-TS (et le tuner).
1wget https://github.com/tsduck/tsduck/releases/download/v3.44-4676/tsduck-3.44-4676.el9.x86_64.rpm
2dnf install ./tsduck-3.44-4676.el9.x86_64.rpm
1$ tsanalyze mux.ts
2===============================================================================
3| TRANSPORT STREAM ANALYSIS REPORT |
4|=============================================================================|
5| Transport Stream Id: ...... 0x4E84 (20100) | Services: ............. 71 |
6| Bytes: ........................ 81,528,832 | PID's: Total: ........ 274 |
7| TS packets: ...................... 433,664 | Clear: ........ 243 |
8| With invalid sync: .................. 0 | Scrambled: ..... 31 |
9| With transport error: ............... 0 | With PCR's: .... 75 |
10| Suspect and ignored: ................ 0 | Unreferenced: ... 8 |
11|-----------------------------------------------------------------------------|
12| Transport stream bitrate, based on ....... 188 bytes/pkt 204 bytes/pkt |
13| User-specified: ................................... None None |
14| Estimated based on PCR's: ............... 65,216,846 b/s 70,767,215 b/s |
15| Selected reference bitrate: ............. 65,216,846 b/s 70,767,215 b/s |
16|-----------------------------------------------------------------------------|
17| Broadcast time: ................................... 10 sec (0 min 10 sec) |
18| First TDT UTC time stamp: ........................... 2026/09/06 16:01:14 |
19| Last TDT UTC time stamp: ............................ 2026/09/06 16:01:20 |
20| First TOT local time stamp: ......................... 2026/09/06 18:01:13 |
21| Last TOT local time stamp: .......................... 2026/09/06 18:01:19 |
22| TOT country code: ................................................... FRA |
23|-----------------------------------------------------------------------------|
24| Srv Id Service Name Access Bitrate |
25| 0x0BB8 TF1 SERIES FILMS ............................. S 3,356,909 b/s |
26| 0x0BB9 L'EQUIPE ..................................... S 5,828,798 b/s |
27| 0x0BBB RMC STORY .................................... S 5,051,755 b/s |
28| 0x0BBC RMC DECOUVERTE ............................... S 3,823,856 b/s |
29| 0x0BBD RMC LIFE ..................................... S 6,048,662 b/s |
30| 0x0BC2 NOVO 19 ...................................... S 7,703,956 b/s |
31| 0x0BC3 CNEWS ........................................ S 2,454,745 b/s |
32| 0x0BC4 BFM TV ....................................... S 1,710,637 b/s |
33| 0x0BC5 T18 .......................................... S 4,279,825 b/s |
34| 0x0BC6 CSTAR ........................................ S 4,712,184 b/s |
35| 0x0BC7 GULLI ........................................ S 2,969,365 b/s |
36| 0x0BC8 CANAL SAV .................................... S 1,094,056 b/s |
37| 0x0BCC ICI PARIS ILE-DE-FRANCE ...................... C 141,663 b/s |
38| 0x0BCD ICI ALSACE ................................... C 145,724 b/s |
39| 0x0BCE ICI ARMORIQUE ................................ C 145,724 b/s |
40| 0x0BCF ICI AUXERRE .................................. C 145,423 b/s |
41| 0x0BD0 ICI AZUR ..................................... C 145,724 b/s |
42| 0x0BD1 ICI NORMANDIE CAEN ........................... C 145,724 b/s |
43| 0x0BD2 ICI BEARN BIGORRE ............................ C 145,724 b/s |
44| 0x0BD3 ICI BELFORT-MONTBELIARD ...................... C 145,724 b/s |
45| 0x0BD4 ICI BERRY .................................... C 145,724 b/s |
46(...)
tslsdvb donne aussi des infos sur le tuner :
1$ tslsdvb -d /dev/dvb/adapter1:1:0:0 -e
2/dev/dvb/adapter1:1:0:0 ("TurboSight TBS 5530 DVB-S/S2/S2X, TBS-Tech TBS 5530 2.00", DVB-S, DVB-S2)
3Device: /dev/dvb/adapter1/frontend1
4
5 Signal: locked: no, strength: -91.03 dB
6
7 Delivery system ........................... DVB-S2
8 Frequencies:
9 Min ................................ 950,000,000 Hz
10 Max .............................. 2,150,000,000 Hz
11 Step ......................................... 0 Hz
12 Tolerance .................................... 0 Hz
13 Symbol rates:
14 Current ............................. 29,950,000 sym/s
15 Min .................................. 1,000,000 sym/s
16 Max ................................. 45,000,000 sym/s
17 Tolerance .................................... 0 sym/s
18 Spectral inversion ........................... off
19 FEC(inner) .................................... 16
20 Modulation .................................... 19
21
22 Capabilities: inversion auto, FEC auto, QPSK, multistream, 2nd generation,
23 recover
On peut aussi enregistrer le multiplex avec l'outil tsp de la suite tsduck.
1tsp -I dvb --device-name "/dev/dvb/adapter1:1:0:0" --lnb extended --delivery-system DVB-S2 --frequency 11471000000 --polarity vertical --symbol-rate 29950000 > muxxx.ts
Tvheadend
1$ dnf install snapd
2$ systemctl enable --now snapd.socket
3$ snap install tvheadend
42025-03-01T17:59:48+01:00 INFO Waiting for automatic snapd restart...
5Warning: /var/lib/snapd/snap/bin was not found in your $PATH. If you've not restarted your session
6 since you installed snapd, try doing that. Please see https://forum.snapcraft.io/t/9469
7 for more details.
8
9tvheadend 4.2.8 from Lucy Llewellyn (lucyllewy✪) installed
La carte est bien reconnue par Tvheadend
Conclusion
On a vu comment recevoir les gros signaux audiovisuels commerciaux. Il sont en majorité soumis à un abonnement mais il y en a encore quelques "FTA" en France.Les radios publiques (les natio de Radio France, le réseau ICI), des radios nationales comme NRJ, Nostalogie, Skyrock (en 384kbit/s !), ainsi que quelques chaines de télévisions françaises comme Vosges Télévision ou KTO, en SD.
Ressources
- https://www.tbsdtv.com/products/tbs5530-multi-standard-universal-tv-tuner-usb-card.html
- https://www.durasat.de/out/media/100527_DUR-line-SF-2500-Pro_Anleitung_FR.pdf
- https://www.groupe-cahors.com/sites/default/files/cahors_cata_ced_2024-pageacpage-bd-6-12.pdf
- https://www.linuxtv.org/docs/libdvbv5/dvbv5-tools.html
- https://www.passion-radio.fr/lnb-pll/lnb-othernet-978.html