Carte tuner TBS5530 (DVB/T+S) sous Linux
J'ai fait l'acquisition d'une parabole, une LNB universelle et une carte tuner DVB/S USB. Voyons comment recevoir nos premiers signaux satellite FTA sous Linux.
La documentation officielle de chez TBS
indique de 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
D'installer les dépendances
1dnf install perl-Proc-ProcessTable patchutils
Puis 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 sous le kernel v5 fourni avec AlmaLinux 9.5. On installe un kernel v6 de la façon suivante :
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-ml kernel-ml-devel
C'est bon maintenant ça compile.
Après reboot, vérifier la bonne détection de la carte avec ces commandes :
1$ lsusb | grep TBS
2Bus 002 Device 006: ID 734c:5530 TBS Technologies China TBS 5530
Le périphérique USB est bien détecté
1$ ll /dev/dvb/adapter*
2/dev/dvb/adapter0:
3total 0
4crw-rw----. 1 root video 212, 0 1 mars 00:08 demux0
5crw-rw----. 1 root video 212, 1 1 mars 00:08 dvr0
6crw-rw----. 1 root video 212, 3 1 mars 00:08 frontend0
7crw-rw----. 1 root video 212, 2 1 mars 00:08 net0
8
9/dev/dvb/adapter1:
10total 0
11crw-rw----. 1 root video 212, 4 1 mars 00:08 demux0
12crw-rw----. 1 root video 212, 5 1 mars 00:08 dvr0
13crw-rw----. 1 root video 212, 7 1 mars 00:08 frontend0
14crw-rw----. 1 root video 212, 8 1 mars 00:08 frontend1
15crw-rw----. 1 root video 212, 6 1 mars 00:08 net0
Il y a 2 adapters car il y a un tuner DVB-T et un DVB-S.
Vous noterez que 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
dvb-apps
est legacy, tout est dans v4l-utils
(sur RedHat like) ou dvb-tools
(sur Debian like)
1dnf install almalinux-release-devel
2dnf install v4l-utils
Outils utiles :
dvbv5-scan
:dvbv5-zap
:dvb-fe-tool
: affiche les propriétésdvb-format-convert
: conversion de format de dvbv3 à dvbv5
Infos sur la carte
adapter 0
= clé RTL-SDRadapter 1
= TBS5530frontend 0
= tuner DVB-Tfrontend 1
= tuner DVB-S
1$ dvb-fe-tool -a 1 -f 1 # version courte
2$ dvb-fe-tool --adapter 1 --frontend 1 # version longue
3Device TurboSight TBS 5530 DVB-S/S2/S2X (/dev/dvb/adapter1/frontend1) capabilities:
4 CAN_2G_MODULATION
5 CAN_FEC_AUTO
6 CAN_INVERSION_AUTO
7 CAN_MULTISTREAM
8 CAN_QPSK
9 CAN_RECOVER
10DVB API Version 5.12, Current v5 delivery system: DVBS
11Supported delivery systems:
12 [DVBS]
13 DVBS2
14Frequency range for the current standard:
15From: 950 MHz
16To: 2,15 GHz
17Symbol rate ranges for the current standard:
18From: 1,00 MBauds
19To: 45,0 MBauds
20SEC: set voltage to OFF
21ERROR FE_SET_VOLTAGE: Opération non permise
Quels sont maintenant les outils pour :
- alimenter la LNB ?
- passer le 22kHz ?
- alterner 13V/18V ?
- choisir la fréquence ?
Création du fichier de chaînes :
1# Channel table for Eutelsat 5 West B
2# Source: https://www.lyngsat.com/Eutelsat-5-West-B.html
3
4# Source: https://www.lyngsat.com/muxes/Eutelsat-5-West-B_Transalpine_12732-V.html
5[CHANNEL]
6 DELIVERY_SYSTEM = DVBS2
7 FREQUENCY = 12732000
8 POLARIZATION = VERTICAL
9 SYMBOL_RATE = 29500000
10 MODULATION = PSK/8
11 INNER_FEC = AUTO
12 INVERSION = AUTO
13
14# Source: https://www.lyngsat.com/muxes/Eutelsat-5-West-B_Transalpine_12732-V.html
15[RADIOS]
16 DELIVERY_SYSTEM = DVBS2
17 FREQUENCY = 11471500
18 POLARIZATION = HORIZONTAL
19 SYMBOL_RATE = 9900000
20 MODULATION = QPSK
21 INNER_FEC = 4/5
22 INVERSION = AUTO
dvbv5-scan
1$ dvbv5-scan eutelsat-5W -l EXTENDED -a 1 -f 1 # version courte
2$ dvbv5-scan eutelsat-5W --lnbf EXTENDED --adapter 1 --frontend 1 # version longue
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
7ERROR command BANDWIDTH_HZ (5) not found during retrieve
8Cannot calc frequency shift. Either bandwidth/symbol-rate is unavailable (yet).
9Scanning frequency #1 12732000
10 (0x00) Signal= -43,39dBm
11 Layer A: Signal= 57,06%
dvbv5-zap
1$ dvbv5-zap -c eutelsat-5W 12732000 -m -a 1 -f 1 -l EXTENDED -v # version courte
2$ dvbv5-zap --channels eutelsat-5W 12732000 --monitor --adapter 1 --frontend 1 --lnbf EXTENDED --verbose # version longue
3
4Using LNBf EXTENDED
5 Astra 19.2E, European Universal Ku (extended)
6 Freqs : 10700 to 11700 MHz, LO: 9750 MHz
7 Freqs : 11700 to 12750 MHz, LO: 10600 MHz
8using demux 'dvb1.demux0'
9reading channels from file 'eutelsat-5W'
10Device TurboSight TBS 5530 DVB-S/S2/S2X (/dev/dvb/adapter1/frontend1) capabilities:
11 CAN_2G_MODULATION
12 CAN_FEC_AUTO
13 CAN_INVERSION_AUTO
14 CAN_MULTISTREAM
15 CAN_QPSK
16 CAN_RECOVER
17DVB API Version 5.12, Current v5 delivery system: DVBS2
18Supported delivery systems:
19 DVBS
20 [DVBS2]
21Frequency range for the current standard:
22From: 950 MHz
23To: 2,15 GHz
24Symbol rate ranges for the current standard:
25From: 1,00 MBauds
26To: 45,0 MBauds
27Assuming you're in FR.
28
29tuning to 12732000 Hz
30frequency: 12732,00 MHz, high_band: 1
31SEC: set voltage to 13V
32DiSEqC TONE: OFF
33DiSEqC TONE: ON
34L-Band frequency: 2132,00 MHz (offset = 10600,00 MHz)
35 (0x00) Signal= -43,39dBm
36 (0x00) Signal= -43,16dBm
37 (0x00) Signal= -43,34dBm
38 (0x00) Signal= -43,16dBm
39 (0x00) Signal= -43,44dBm
40 (0x00) Signal= -43,34dBm
41 Layer A: Signal= 57,06%
42
43dvb_dev_set_bufsize: buffer set to 6160384
44 dvb_set_pesfilter to 0x2000
4559312,74s: Starting capture
4659312,74s: Stopping capture
47SEC: set voltage to OFF
dvsv5-zap
allume le 13V
et l'éteint à la fin (le satfinder
reçoit du jus)
dvblast
1dvblast -a 1 -n 1 -5 DVBS2 -m psk_8 -F 45 -f 11472000 # version courte
2dvblast --adapter 1 --frontend-number 1 --delsys DVBS2 --modulation qps_8 --fec-inner 45 --frequency 11472000 # version longue
1$ dvblast -a 1 -n 1 -5 DVBS2 -f 11472000 -m psk_8
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 11472000 is in Ku-band (lower)
20debug: configuring LNB to v=13 p=0 satnum=0 uncommitted=0 lnb-type=universal bis_frequency=1722000
21debug: tuning DVB-S frontend to f=11472000 srate=27500000 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)
dvblast
allume le 13V mais ne l'éteint pas
TSduck
1wget https://github.com/tsduck/tsduck/releases/download/v3.40-4165/tsduck-3.40-4165.el9.x86_64.rpm
2dnf install ./tsduck-3.40-4165.el9.x86_64.rpm
1$ tslsdvb
2tslsdvb: error opening /dev/dvb/adapter1/frontend1: Device or resource busy
1# adapter:frontend:demux:dvr
2$ tsp -I dvb --device-name "/dev/dvb/adapter1:1:0:0" --lnb extended --delivery-system DVB-S2 --frequency 11472000000 --polarity horizontal --symbol-rate 9900000
3* Error: dvb: no input signal lock after 5000 milliseconds
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
La suite
- Il faut maintenant sortir la parabole sur la terasse et la faire pointer vers un sat !
- En attente de réception d'une LNB avec PLL pour explorer les signaux à bande étroite
- l'article sera complété au fur et à mesure ...
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