[mythtv-users] DVB-S2: How to decrypt a channel with card TBS6590

Alain mythuser at abrossard.ch
Thu Jan 8 13:07:46 UTC 2026


Hi,

     Any hints on how to proceed with this issue ?

Regards,
Alain
On 1/3/26 15:31, Alain via mythtv-users wrote:
> On 1/2/26 20:54, Klaas de Waal wrote:
>>
>>     I'm resurrecting this old thread as now that I have upgraded from
>>     myth-0.31 to Ubuntu 24.04 with myth-0.35, I can no longer use my
>>     TBS card with the CAM card (un-encrypted channel do work). On
>>     myth-0.31, I would always run dvblast as per below to get the
>>     TBS6590 to correctly decode the Swiss channels. But with
>>     myth-0.35, this trick no longer works.  Now Mythtv is supposed to
>>     try to use the CAM card to decode by itself, but this hasn't
>>     worked so far. I've been able to connect to the Myth setup web
>>     site and reconfigure from scratch the TBS6590 card. Channel scans
>>     works and I'm getting the EIT, but no further.
>>
>>     /soft/sources/Unix/dvblast-3.4/dvblast -f 10971000 -s 29700000 -a
>>     `ls -l /dev/dvb/TBS6590-*/frontend1 | head -1 | perl -pe
>>     's/.*adapter(\d+).*/\$1/;'` -n 1 -y 0 -5 DVBS2
>>
>>     Capture card seen (TurboSight TBS 6590
>>     DVB-S/S2/S2X/T/T2/C/C2/ISDB-T +), DVB-S2, Signal timeout 7000ms,
>>     Tuning timeout doubled to 20'000ms. Wait for SEQ start header,
>>     Open DVB card on demand. DVB tuning delay, 1ms.
>>     LNB preset to Universal (Europe)
>>
>> Possibly there is interesting log output if you start mythbackend 
>> with "-v dvbcam --loglevel=debug"
>>
>> Groetjes,
>> Klaas.
>
>   So I restarted mythbackend with the suggested options, this is the 
> output I got :
>
> ...
>
> 2026-01-03 15:08:44.425127 D [92620/92620] CoreContext 
> cardutil.cpp:1866:GetStartChannel  CardUtil[25]: Start channel 4 on 
> inputid 25
> 2026-01-03 15:08:45.124374 I [92620/92620] CoreContext 
> cardutil.cpp:1208:SetDeliverySystem  CardUtil[25]: Set delivery 
> system: DVB-S2
> 2026-01-03 15:08:46.298308 D [92620/92620] CoreContext 
> dtvmultiplex.cpp:375:ParseDVB_S2  DTVMux: ParseDVB_S2 
> frequency:10971000 inversion:a symbol_rate:29700000 fec_inner:auto 
> modulation:qpsk polarity:h mod_sys:DVB-S2 rolloff:0.35
> 2026-01-03 15:08:46.298327 D [92620/92620] CoreContext 
> dtvchannel.cpp:296:SetChannelByString 
> DTVChan[25](/dev/dvb/TBS6590-0/frontend1): SetChannelByString(4): 
> Initialize multiplex options m_tunerType:32 mplexid:33
> 2026-01-03 15:08:46.374207 D [92620/92639] TVRecEvent 
> portchecker.cpp:75:checkPort  PortChecker::checkPort(): host localhost 
> port 3306 timeLimit 30000 linkLocalOnly 1
> 2026-01-03 15:08:46.377106 D [92620/92620] CoreContext 
> cardutil.cpp:1866:GetStartChannel  CardUtil[29]: Start channel 4 on 
> inputid 29
> ...
>
> 2026-01-03 15:08:51.906958 I [92620/92620] CoreContext 
> channelgroup.cpp:589:UpdateChannelGroups  Update channelgroup Antenne 
> Terrestre
> 2026-01-03 15:08:51.915660 I [92620/92620] CoreContext 
> channelgroup.cpp:589:UpdateChannelGroups  Update channelgroup Eutelsat 
> Hot Bird 13B
> 2026-01-03 15:08:51.921349 I [92620/92620] CoreContext 
> channelgroup.cpp:589:UpdateChannelGroups  Update channelgroup Eutelsat 
> non encrypté
> 2026-01-03 15:08:51.925127 I [92620/92620] CoreContext 
> channelgroup.cpp:636:UpdateChannelGroups  Found 6 priority channels
> 2026-01-03 15:08:51.925293 I [92620/92620] CoreContext 
> channelgroup.cpp:643:UpdateChannelGroups  Update channelgroup Priority
> ...
>
> 2026-01-03 15:15:21.041629 I [92620/92802] ProcessRequest 
> mainserver.cpp:1785:HandleAnnounce  MainServer: adding: 
> alinux(64997a287c40) as a client (events: 0)
> 2026-01-03 15:15:21.048953 D [92620/92802] ProcessRequest 
> livetvchain.cpp:32:LiveTVChain  LiveTVChain(): ctor
> 2026-01-03 15:15:21.060946 I [92620/92639] TVRecEvent 
> tv_rec.cpp:1141:HandleStateChange  TVRec[25]: Changing from None to 
> WatchingLiveTV
> 2026-01-03 15:15:21.063636 I [92620/92639] TVRecEvent 
> tv_rec.cpp:3720:TuningFrequency  TVRec[25]: 
> TuningFrequency(Program(NULL) channel(4) input(<empty>) flags(LiveTV,))
> 2026-01-03 15:15:22.472425 D [92620/92639] TVRecEvent 
> dtvmultiplex.cpp:375:ParseDVB_S2  DTVMux: ParseDVB_S2 
> frequency:10971000 inversion:a symbol_rate:29700000 fec_inner:auto 
> modulation:qpsk polarity:h mod_sys:DVB-S2 rolloff:0.35
> 2026-01-03 15:15:22.472444 D [92620/92639] TVRecEvent 
> dtvchannel.cpp:296:SetChannelByString 
> DTVChan[25](/dev/dvb/TBS6590-0/frontend1): SetChannelByString(4): 
> Initialize multiplex options m_tunerType:32 mplexid:33
> 2026-01-03 15:15:22.548747 D [92620/92639] TVRecEvent 
> dtvmultiplex.cpp:375:ParseDVB_S2  DTVMux: ParseDVB_S2 
> frequency:10971000 inversion:a symbol_rate:29700000 fec_inner:auto 
> modulation:qpsk polarity:h mod_sys:DVB-S2 rolloff:0.35
> 2026-01-03 15:15:22.548775 D [92620/92639] TVRecEvent 
> dtvchannel.cpp:296:SetChannelByString 
> DTVChan[25](/dev/dvb/TBS6590-0/frontend1): SetChannelByString(4): 
> Initialize multiplex options m_tunerType:32 mplexid:33
> 2026-01-03 15:15:22.560541 N [92620/92620] CoreContext 
> autoexpire.cpp:247:CalcParams  AutoExpire: CalcParams(): Max required 
> Free Space: 9.0 GB w/freq: 14 min
> 2026-01-03 15:15:22.564016 D [92620/92639] TVRecEvent 
> recordinginfo.cpp:1051:InsertRecording  RecordingInfo(LiveTV): 
> InsertRecording: m_pathname was '/TV/mythtv-video/LiveTV'. This is 
> usually blank.
> 2026-01-03 15:15:22.571754 N [92620/92639] TVRecEvent 
> recordinginfo.cpp:734:ApplyRecordRecGroupChange 
> ApplyRecordRecGroupChange: LiveTV to LiveTV (2)
> 2026-01-03 15:15:22.573230 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue SignalMonitorValue(Signal 
> Lock, slock, 0, 0, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573250 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue SignalMonitorValue(Signal 
> Lock, slock, 0, 1, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573256 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue SignalMonitorValue(Signal 
> Power, signal, 0, 0, 0, 100, 0, 1, false)
> 2026-01-03 15:15:22.573260 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue SignalMonitorValue(Script 
> Status, script, 0, 3, 0, 3, 0, 1, false)
> 2026-01-03 15:15:22.573268 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue SignalMonitorValue(Seen 
> PAT, seen_pat, 0, 1, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573273 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue SignalMonitorValue(Seen 
> PMT, seen_pmt, 0, 1, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573277 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue SignalMonitorValue(Seen 
> MGT, seen_mgt, 0, 1, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573282 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue SignalMonitorValue(Seen 
> VCT, seen_vct, 0, 1, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573286 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue SignalMonitorValue(Seen 
> NIT, seen_nit, 0, 1, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573291 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue SignalMonitorValue(Seen 
> SDT, seen_sdt, 0, 1, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573295 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue SignalMonitorValue(Seen 
> Crypt, seen_crypt, 0, 1, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573301 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue 
> SignalMonitorValue(Matching PAT, matching_pat, 0, 1, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573306 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue 
> SignalMonitorValue(Matching PMT, matching_pmt, 0, 1, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573310 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue 
> SignalMonitorValue(Matching MGT, matching_mgt, 0, 1, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573315 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue 
> SignalMonitorValue(Matching VCT, matching_vct, 0, 1, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573319 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue 
> SignalMonitorValue(Matching NIT, matching_nit, 0, 1, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573323 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue 
> SignalMonitorValue(Matching SDT, matching_sdt, 0, 1, 0, 1, 0, 1, false)
> 2026-01-03 15:15:22.573328 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue 
> SignalMonitorValue(Matching Crypt, matching_crypt, 0, 1, 0, 1, 0, 1, 
> false)
> 2026-01-03 15:15:22.573333 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue SignalMonitorValue(Signal 
> To Noise, snr, 0, 0, 0, 65535, 0, 1, false)
> 2026-01-03 15:15:22.573338 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue SignalMonitorValue(Bit 
> Error Rate, ber, 0, 65535, 0, 65535, 0, 0, false)
> 2026-01-03 15:15:22.573342 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue 
> SignalMonitorValue(Uncorrected Blocks, ucb, 0, 65535, 0, 65535, 0, 0, 
> false)
> 2026-01-03 15:15:22.573347 D [92620/92639] TVRecEvent 
> signalmonitorvalue.cpp:51:SignalMonitorValue SignalMonitorValue(Rotor 
> Progress, pos, 0, 100, 0, 100, 0, 1, false)
> 2026-01-03 15:15:22.874117 D [92620/92639] TVRecEvent 
> standardsettings.cpp:189:haveChanged  Setting 'Lossless transcoding' 
> changed to 0
> 2026-01-03 15:15:22.874130 D [92620/92639] TVRecEvent 
> standardsettings.cpp:189:haveChanged  Setting 'Resize video while 
> transcoding' changed to 0
> 2026-01-03 15:15:22.874136 D [92620/92639] TVRecEvent 
> standardsettings.cpp:189:haveChanged  Setting 'Enable auto-transcode 
> after recording' changed to 0
> 2026-01-03 15:15:22.877229 D [92620/92639] TVRecEvent 
> standardsettings.cpp:189:haveChanged  Setting 'Enable auto-transcode 
> after recording' changed to 0
> 2026-01-03 15:15:23.135749 N [92620/92973] DVBRead 
> dtvsignalmonitor.cpp:382:HandlePMT  DTVSigMon[25]: PMT says program 
> 17203 is encrypted
> 2026-01-03 15:15:23.136020 I [92620/92974] DVBCam dvbcam.cpp:315:run  
> DVBCam(/dev/dvb/TBS6590-0/frontend1): CI handler thread running
> 2026-01-03 15:15:24.135992 I [92620/92973] DVBRead 
> dvbcam.cpp:115:Start  DVBCam(/dev/dvb/TBS6590-0/frontend1): CI handler 
> successfully initialized!
> 2026-01-03 15:15:26.734698 D [92620/92973] DVBRead 
> mpegstreamdata.cpp:1933:ProcessEncryptedPacket 
> MPEGStream[25](0x755098023bb8): PID 0x214 status: Encrypted
> 2026-01-03 15:15:27.593639 I [92620/92974] DVBCam 
> dvbci.cpp:1000:Process  CAM: MODULE RETAIL, 01, 4A60, 0001
> 2026-01-03 15:15:28.121851 I [92620/92974] DVBCam 
> dvbcam.cpp:261:HandlePMT  DVBCam(/dev/dvb/TBS6590-0/frontend1): 
> CiHandler needs CA_PMT
> 2026-01-03 15:15:28.121859 D [92620/92974] DVBCam 
> dvbcam.cpp:230:RemoveDuplicateServices 
> DVBCam(/dev/dvb/TBS6590-0/frontend1): Service [25]17203 stays in pmtList
> 2026-01-03 15:15:28.121868 I [92620/92974] DVBCam 
> dvbcam.cpp:413:SendPMT  DVBCam(/dev/dvb/TBS6590-0/frontend1): Creating 
> CA_PMT, ServiceID = 17203
> 2026-01-03 15:15:28.121918 I [92620/92974] DVBCam 
> dvbcam.cpp:475:CreateCAPMT  DVBCam: Adding elementary stream: 
> video-h264, pid(0x214)
> 2026-01-03 15:15:28.121923 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x500), ECM PID(0x2ed)
> 2026-01-03 15:15:28.121925 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x4afc), ECM PID(0x31f)
> 2026-01-03 15:15:28.121928 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x500), ECM PID(0x2e3)
> 2026-01-03 15:15:28.121934 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x500), ECM PID(0x2f7)
> 2026-01-03 15:15:28.121950 I [92620/92974] DVBCam 
> dvbcam.cpp:475:CreateCAPMT  DVBCam: Adding elementary stream: 
> audio-ac3 (fre), pid(0x215)
> 2026-01-03 15:15:28.121953 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x500), ECM PID(0x2ed)
> 2026-01-03 15:15:28.121955 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x4afc), ECM PID(0x31f)
> 2026-01-03 15:15:28.121957 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x500), ECM PID(0x2e3)
> 2026-01-03 15:15:28.121959 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x500), ECM PID(0x2f7)
> 2026-01-03 15:15:28.121966 I [92620/92974] DVBCam 
> dvbcam.cpp:475:CreateCAPMT  DVBCam: Adding elementary stream: 
> audio-ac3 (eng), pid(0x216)
> 2026-01-03 15:15:28.121972 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x500), ECM PID(0x2ed)
> 2026-01-03 15:15:28.121974 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x4afc), ECM PID(0x31f)
> 2026-01-03 15:15:28.121976 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x500), ECM PID(0x2e3)
> 2026-01-03 15:15:28.121978 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x500), ECM PID(0x2f7)
> 2026-01-03 15:15:28.121984 I [92620/92974] DVBCam 
> dvbcam.cpp:475:CreateCAPMT  DVBCam: Adding elementary stream: 
> audio-ac3 (nar), pid(0x217)
> 2026-01-03 15:15:28.121987 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x500), ECM PID(0x2ed)
> 2026-01-03 15:15:28.121989 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x4afc), ECM PID(0x31f)
> 2026-01-03 15:15:28.121994 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x500), ECM PID(0x2e3)
> 2026-01-03 15:15:28.121996 I [92620/92974] DVBCam 
> dvbcam.cpp:448:process_desc  DVBCam: Adding CA descriptor: 
> CASID(0x500), ECM PID(0x2f7)
> 2026-01-03 15:15:28.122000 I [92620/92974] DVBCam 
> dvbcam.cpp:475:CreateCAPMT  DVBCam: Adding elementary stream: 
> private-data, pid(0x219)
> 2026-01-03 15:15:28.122004 I [92620/92974] DVBCam 
> dvbcam.cpp:475:CreateCAPMT  DVBCam: Adding elementary stream: dsmcc-c 
> NPD data, pid(0x1505)
> 2026-01-03 15:15:28.122009 I [92620/92974] DVBCam 
> dvbcam.cpp:475:CreateCAPMT  DVBCam: Adding elementary stream: dsmcc-b 
> std data, pid(0x1504)
> 2026-01-03 15:15:28.122013 I [92620/92974] DVBCam 
> dvbcam.cpp:475:CreateCAPMT  DVBCam: Adding elementary stream: 
> private-sec, pid(0x21a)
> 2026-01-03 15:15:28.122016 I [92620/92974] DVBCam 
> dvbcam.cpp:419:SendPMT  DVBCam(/dev/dvb/TBS6590-0/frontend1): Sending 
> CA_PMT with CPLM_ONLY to CI slot #0
> 2026-01-03 15:15:36.969263 E [92620/92639] TVRecEvent 
> tv_rec.cpp:4024:TuningSignalCheck  TVRec[25]: TuningSignalCheck: Hit 
> pre-fail timeout
> 2026-01-03 15:15:42.972276 W [92620/92639] TVRecEvent 
> tv_rec.cpp:4052:TuningSignalCheck  TVRec[25]: TuningSignalCheck: 
> taking more than 20000 ms to get a lock. marking this recording as 
> '*Failing*'.
> 2026-01-03 15:15:42.972281 W [92620/92639] TVRecEvent 
> tv_rec.cpp:4057:TuningSignalCheck  TVRec[25]: See 'Tuning timeout' in 
> mythtv-setup for this input
> ...
>
> 2026-01-03 15:16:10.648687 I [92620/92639] TVRecEvent 
> tv_rec.cpp:1141:HandleStateChange  TVRec[25]: Changing from 
> WatchingLiveTV to None
> 2026-01-03 15:16:10.775050 I [92620/92974] DVBCam dvbcam.cpp:339:run  
> DVBCam(/dev/dvb/TBS6590-0/frontend1): CiHandler thread stopped
> 2026-01-03 15:16:10.775260 D [92620/92961] ProcessRequest 
> livetvchain.cpp:37:~LiveTVChain 
> LiveTVChain(live-alinux-2026-01-03T14:15:21Z): dtor
> 2026-01-03 15:16:10.780303 I [92620/92962] MythSocketThread(79) 
> mainserver.cpp:7907:connectionClosed  Playback sock(64997a287c40) 
> 'alinux' disconnected
>
>    For reference, I'm re-adding the output from dvblast when used to 
> set up the TBS card + CAM + CI, should you need it to compare.
>
> debug: frequency 10971000 is in Ku-band (lower) debug: configuring LNB 
> to v=13 p=0 satnum=0 uncommitted=0 lnb-type=universal 
> bis_frequency=1221000 debug: tuning DVB-S frontend to f=10971000 
> srate=29700000 inversion=-1 fec=999 rolloff=35 modulation=legacy 
> pilot=-1 mis=0 /pls-mode: ROOT (0) pls-code: 0 is-id: 0 / debug: CA 
> interface with 1 slot debug:   CI link layer level interface type ...
> info: CAM: MODULE RETAIL, 01, 4A60, 0001 CAM name: MODULE RETAIL type: 
> 1 manufacturer: 19040 product: 1 debug: opening ConditionalAccess 
> session (3) debug: CA system IDs supported by the application : debug: 
> - 0x280 debug: - 0x180 debug: - 0x101 debug: - 0x100 debug: - 0x550 
> debug: - 0x503 debug: - 0x502 debug: - 0x501 debug: - 0x500
>
>  Alain
>
>
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://lists.mythtv.org/mailman/listinfo/mythtv-users
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums:https://forum.mythtv.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-users/attachments/20260108/95018ba8/attachment.htm>


More information about the mythtv-users mailing list