[mythtv] [mythtv-commits] Ticket #9566: Mythbackend reports "multiplex is not available" and afterwards the specified DVB tuner is busy for ever

Tomi Orava tomimo+mythtv-dev at ncircle.nullnet.fi
Sat Feb 12 17:36:23 UTC 2011


> On 02/10/2011 12:51 PM, MythTV wrote:
>> #9566: Mythbackend reports "multiplex is not available" and afterwards the
>> specified DVB tuner is busy for ever
>> Comment (by Tomi Orava<tomi.orava@…>):
>> Update: Based on a days worth of testing, I think I might actually have
>> two different problems in these two systems.
>> 1) I haven't seen any of the "Multiplex is not available" errors and/or
>> DVB-tuner hangs after I made sure to reset to zero all the channel-tables
>> 'useonairguide' values on encrypted channels (I don't have dvbcam
>> installed --->  only free to air channels can be watched with these
>> systems).
>> 2) I still seem to get missing recordings ie. metadata exists but no file
>> seems to get opened ever, even though the backend thinks it really is
>> recording something. This I have to try digg some more ...
> Tomi,
> AIUI, some DVB cards/drivers cause failures with certain usage  
> patterns--such as those used by >EIT collection--especially when you  
> have multiple cards in use at the same time.  So, please try  
> >disabling "Use DVB card for active EIT scan" on all but one of your  
> capture cards.  That may fix >both of the above problems for you  
> (and will still allow EIT collection when not recording, but >using  
> one card instead of 3).  If not, please test whether disabling "Use  
> DVB card for active EIT >scan" on /all/ your capture cards "fixes"  
> the hangs for you.  If so, it means that your >hardware/drivers  
> don't like doing the EIT thing--and although not ideal for you (as  
> you would >only get passive EIT collection), would give us a better  
> idea of what's happening (at which time >we can present options).

I've been using these very same cards for ~4 years now without any
problems. I'll however test your suggestions and check if they change
the current behaviour somehow.

I think it was some earlier problem case where I saw your suggestion to
enable only one card for EIT scanning and that's exactly the setup I've been
running for quite a long time.

What comes to the test of enabling the EIT scanning on all of the  
three DVB-cards,
the result was a failed/missing recording in a couple of hours with  
the setup of
three physical tuner cards with 5 virtual tuners each and *a lot of*  
recordings taking place at the same time. This test did produce again the
"Multiplex is not available" errors, where a EIT scanning was started  
but it failed
because the card was already tuned to one of the available 4 multiplexes and
therefore couldn't be tuned to another multiplex at the same time.
(the log below contains some added/invalid debug lines but might still  
be useful):
(only valid free to air channels have the useonairguide value enabled)

2011-02-12 18:41:01.235 EITScanner (1): StartActiveScan called with 4  
2011-02-12 18:41:01.321 TVRec(1): SetFlags(EITScannerRunning,) ->  
2011-02-12 18:41:01.545 TVRec(1): SetChannel(10) -- begin
2011-02-12 18:41:01.580 TVRec(1): ClearFlags(RingBufferReady,) ->  
2011-02-12 18:41:01.642 TVRec(1): HandleTuning Request: Program(no)  
channel(10) input() flags(EITScan,)
2011-02-12 18:41:01.731 TVRec(1): ClearFlags(PENDINGACTIONS,) ->  
2011-02-12 18:41:01.789 TVRec(1): No recorder yet, calling TuningFrequency
2011-02-12 18:41:01.856 DVBChan(1:/dev/dvb/adapter0/frontend0):  
Opening DVB channel
2011-02-12 18:41:01.914 ChannelBase(1): SelectChannel 10
2011-02-12 18:41:01.973 TVRec(1): Starting Signal Monitor
2011-02-12 18:41:01.973 ChannelThread::run
2011-02-12 18:41:02.032 TVRec(1): SetupSignalMonitor(1, 0)
2011-02-12 18:41:02.074 DVBChan(1:/dev/dvb/adapter0/frontend0):  
2011-02-12 18:41:02.166 DVBChan(1:/dev/dvb/adapter0/frontend0):  
Opening DVB channel
2011-02-12 18:41:02.265 is_input_group_busy() Called!
2011-02-12 18:41:02.327 DVBSM(/dev/dvb/adapter0/frontend0): Can  
measure Signal Strength
2011-02-12 18:41:02.392 is_input_group_busy() cardid=1 is excluded!
2011-02-12 18:41:02.444 DVBSM(/dev/dvb/adapter0/frontend0): Can measure S/N
2011-02-12 18:41:02.474 Cardid 2: max bitrate 162597 KB/min
2011-02-12 18:41:02.540 is_input_group_busy()digitally tuned channels!  
mplex restriction=2
2011-02-12 18:41:02.634 DVBSM(/dev/dvb/adapter0/frontend0): Can  
measure Bit Error Rate
QString::arg: Argument missing: "Multiplex (%s) is not available  
(current multiplex=%s" , 3
2011-02-12 18:41:02.702 Cardid 3: max bitrate 162597 KB/min
2011-02-12 18:41:02.811 DVBSM(/dev/dvb/adapter0/frontend0): Can count  
Uncorrected Blocks
QString::arg: Argument missing: "Multiplex (%s) is not available  
(current multiplex=%s" , 2
2011-02-12 18:41:02.768 DVBChan(1:/dev/dvb/adapter0/frontend0) Error:  
SetChannelByString(10): Multiplex (%s) is not available (current  
2011-02-12 18:41:02.887 Cardid 7: max bitrate 162597 KB/min
2011-02-12 18:41:02.935 SM(/dev/dvb/adapter0/frontend0)::RemoveFlags:  
Seen() Match() Wait()
2011-02-12 18:41:03.072 Cardid 11: max bitrate 162597 KB/min
2011-02-12 18:41:03.138 DVBSM(/dev/dvb/adapter0/frontend0):  
DVBSignalMonitor::ctor initial flags Seen() Match()  
2011-02-12 18:41:03.169 Maximal bitrate of busy encoders is 650388 KB/min
2011-02-12 18:41:03.235 TVRec(1): Signal monitor successfully created
2011-02-12 18:41:03.337 SM(/dev/dvb/adapter0/frontend0)::Start: begin
2011-02-12 18:41:03.378 SignalMonitor: channel change failed
2011-02-12 18:41:03.379 SM(/dev/dvb/adapter0/frontend0)::Start: end
2011-02-12 18:41:03.479 SignalMonitor: channel change failed
2011-02-12 18:41:03.479 TVRec(1): SetFlags(SignalMonitorRunning,) ->  
2011-02-12 18:41:03.571 TVRec(1): ClearFlags(WaitingForSignal,) ->  
2011-02-12 18:41:03.562 SignalMonitor: channel change failed
2011-02-12 18:41:03.621 TVRec(1): SetFlags(WaitingForSignal,) ->  
2011-02-12 18:41:03.721 TVRec(1): ClearFlags(NeedToStartRecorder,) ->  
2011-02-12 18:41:03.722 SignalMonitor: channel change failed
2011-02-12 18:41:03.822 TVRec(1) Error: SignalMonitor failed
2011-02-12 18:41:03.872 SignalMonitor: channel change failed
2011-02-12 18:41:03.872 TVRec(1): ClearFlags(NeedToStartRecorder,) ->  
2011-02-12 18:41:03.964 SignalMonitor: channel change failed
2011-02-12 18:41:04.009 TVRec(1): ClearFlags(EITScannerRunning,) ->  
2011-02-12 18:41:04.056 SignalMonitor: channel change failed
2011-02-12 18:41:04.064 TVRec(1): TeardownSignalMonitor() -- begin
2011-02-12 18:41:04.148 DVBSM(/dev/dvb/adapter0/frontend0): Stop() -- begin
2011-02-12 18:41:04.190 SM(/dev/dvb/adapter0/frontend0)::Stop: begin

If I run the system with the same 15 virtual tuners, but only with one  
card enabled
for EIT scanning I haven't seen the "Multiplex is not available"  
errors in a few days
after I figured out that I have to disable "useonairguide" on all  
encrypted channels
that I don't have access to. This last one seems to apply to my  
parents stable-fixes-0.23
based system as well.

Tomi Orava

More information about the mythtv-dev mailing list