[mythtv-users] LiveTV access was working, somehow I stopped it working

lists at arewethere.net lists at arewethere.net
Fri Jan 3 10:00:21 UTC 2020


On Thu, Jan 02, 2020 at 09:29:34AM +0100, Klaas de Waal wrote:
> OK, thanks, interesting!
>
> The problem is that column mod_sys is either NULL or UNDEFINED. In the
> current mythtv master this field contains the value DVB- T or DVB-T2
> for terrestrial. Your old tuner is only capable of DVB-T and then this
> field is not being looked at. You new tuner is capable of DVB-T2 and
> then this field is being looked at and then it is decided that the
> value is not correct. It is probably a good idea to fix this in mythtv
> master.
>

This is good news. What do we do about ensuring this gets fixed in
master ? Presumably the fix is to force DVB-T only tuners to fill in
that column, or is there a subtler option?

Before I started mucking about I verified the tuner could do a scan
using dvbv5-scan. I found it worked much better with the option -T 2
(to increase the scan lock timeout by 2x), but it found all channels
no problem. The output matched that from a run with the old card.
This also confirmed I had all the available multiplexes in the
dtv_multiplex table, and showed transportid=2 had ceased transmitting.

> I suggest you do a rescan ("Scan of all existing transports") and this
> should then update the values in dtv_multiplex. Please also attach the
> content of dtv_multiplex again. This is a procedure that should result
> in a working system but it might not always do that...

I tried this but it would only do one multiplex with the new tuner,
likely for the underlying reason you posited above.
There were no updates to the dtv_multiplex table
(but I hadn't run mythfilldatabase yet).

I also tried 'scan single existing transport'.
That failed with 'Programmer Error: Failed to handle tune complete'
so I gave up on that path.

I was able to do the rescan with the old card.
This didn't update the dtv_multiplex table either,
even after running mythfilldatabase.

> If your problem is still there then creating a new video source and
> doing a "Full Scan" will  create new dtv_mulitplex table entries that
> will be correct. The problem with this approach is that you will have
> lost recording history; your old recordings are associated with the
> old channels and not with the newly found channels in the new video
> source.
>

I didn't try this as I wanted to keep the recording rules
and the results above didn't suggest it was going to work.

> A brute-force way to fix this is to use a bit of sql. The following
> would probably work:
> mysql> update dtv_multiplex set mod_sys="DVB-T";
>

This worked for me. After I did this, I was able to tune to different
multiplexes in LiveTV, using the new card's tuners.

I had some trouble with some channels. In those cases:
 - I press down-arrow to step through the channels
 - the OSD would show the new channel,
 - so I press OK to select it for watching
 - the playback of the previous channel stops and goes blank
 - I get a popup saying 'Error opening program jump file buffer'
   or similar.

In the backend log I get some errors at that time

 mythbackend[21426]: I TVRecEvent tv_rec.cpp:3665 (TuningFrequency) TVRec[1]: TuningFrequency
 mythbackend[21426]: N CoreContext autoexpire.cpp:251 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 7.0 GB w/freq: 14 min
 mythbackend[21426]: N TVRecEvent recordinginfo.cpp:695 (ApplyRecordRecGroupChange) ApplyRecordRecGroupChange: LiveTV to LiveTV (2)
 mythbackend[21426]: E DVBRead recorders/dtvsignalmonitor.cpp:361 (HandlePMT) DTVSigMon[1](/dev/dvb/adapter0/frontend0): Wrong PMT; pmt->pn(1572) desired(1576)
 mythbackend[21426]: E DVBRead recorders/dtvsignalmonitor.cpp:361 (HandlePMT) DTVSigMon[1](/dev/dvb/adapter0/frontend0): Wrong PMT; pmt->pn(1575) desired(1576)
 mythbackend[21426]: E DVBRead recorders/dtvsignalmonitor.cpp:361 (HandlePMT) DTVSigMon[1](/dev/dvb/adapter0/frontend0): Wrong PMT; pmt->pn(1574) desired(1576)
 mythbackend[21426]: E DVBRead recorders/dtvsignalmonitor.cpp:361 (HandlePMT) DTVSigMon[1](/dev/dvb/adapter0/frontend0): Wrong PMT; pmt->pn(1569) desired(1576)
 mythbackend[21426]: E DVBRead recorders/dtvsignalmonitor.cpp:361 (HandlePMT) DTVSigMon[1](/dev/dvb/adapter0/frontend0): Wrong PMT; pmt->pn(1577) desired(1576)
 mythbackend[21426]: E DVBRead recorders/dtvsignalmonitor.cpp:361 (HandlePMT) DTVSigMon[1](/dev/dvb/adapter0/frontend0): Wrong PMT; pmt->pn(1573) desired(1576)
 mythbackend[21426]: E TVRecEvent tv_rec.cpp:3962 (TuningSignalCheck) TVRec[1]: TuningSignalCheck: Hit pre-fail timeout

but I see the same HandlePMT complaints when I tune to a channel that
does LiveTV playback correctly.

Not sure where this is coming from, I should retest to make sure it's
not just a one-off and perhaps turn on -v playback for the frontend log.

I've attached the current state of dtv_multiplex.
I assume that if I did a full scan with the new tuner and
ran mythfilldatabase then some things will change.

I tried to 'edit transports' to get rid of transportid 2 but
kept getting complaints about the "channels connected to the source
are incompatible", which I don't understand.

Thanks for your guidance


More information about the mythtv-users mailing list