[mythtv-commits] Ticket #13407: HDHomeRun ERROR: lock no longer held
MythTV
noreply at mythtv.org
Fri Feb 15 16:20:36 UTC 2019
#13407: HDHomeRun ERROR: lock no longer held
-------------------------+-------------------------------------------------
Reporter: Klaas | Owner: (none)
de Waal |
Type: Patch - | Status: new
Bug Fix |
Priority: minor | Milestone: needs_triage
Component: MythTV | Version: Master Head
- DVB | Keywords: HDHomeRun DVB zero-byte recording
Severity: medium | EIT lock
Ticket locked: 0 |
-------------------------+-------------------------------------------------
Environment:
- Cable signal Dutch Ziggo DVB-C
- One system with Fedora 29 on i7-7700 running MythTV master
- One system with Fedora 29 on i5-650 running MythTV v30.
- Each system has its own HDHomeRun HDHR3-4DC tuner plus one or more KNC-
One PCIbus card tuners.
The problem described here is present on both systems.
The following error messages appear in the mythbackend log:
{{{
2019-02-12 14:30:10.424948 I HDHRSH[1](1410F45C): Tuning channel
a8qam256-6900:706750000 (was a8qam256-6900:578750000)
2019-02-12 14:30:10.425339 E HDHRSH[1](1410F45C): DeviceSet(channel
a8qam256-6900:706750000): ERROR: lock no longer held
}}}
This error appears when the HDHomeRun channel is used for active EIT
scanning, selected with option "Use DVB card for active EIT scan" in
mythtv-setup. The error message typically appears after a few hours of
succesful active EIT scanning.
The error indicates a failure to get EIT/EPG data; also the first
recording after a failed active EIT scan fails.
After a failed recording the next recording or active EIT scan is always
OK.
Then, after a while, the error appears again.
The active EIT scanning is only done on the first HDHomeRun channel.
On the other HDHomeRun channels, without active EIT scanning, this error
does not appear and all recordings are OK.
An obvious solution which does not require any code change is to disable
active EIT scanning on the HDHomeRun.
This is however only acceptable if the system has also other, correctly
working, tuners which can be used for active EIT scanning.\\
Examining the mythbackend log files shows that for the active EIT scanning
there is an "Opening HDHR channel" message but that
the "Closing HDHR channel" message is missing. This is caused by the "if"
condition in TVRec::CloseChannel() :
{{{
void TVRec::CloseChannel(void)
{
if (channel &&
((genOpt.inputtype == "DVB" && dvbOpt.dvb_on_demand) ||
genOpt.inputtype == "FREEBOX" || genOpt.inputtype == "VBOX" ||
CardUtil::IsV4L(genOpt.inputtype)))
{
channel->Close();
}
}
}}}
The HDHomeRun tuners have type HDHOMERUN and for this tuner type the
channel is not closed.\\
The solution is to add the type HDHOMERUN to the "if" condition, as shown
here:
{{{
void TVRec::CloseChannel(void)
{
if (channel &&
((genOpt.inputtype == "DVB" && dvbOpt.dvb_on_demand) ||
genOpt.inputtype == "FREEBOX" || genOpt.inputtype == "VBOX" ||
genOpt.inputtype == "HDHOMERUN" ||
// KdW fix this line added
CardUtil::IsV4L(genOpt.inputtype)))
{
channel->Close();
}
}
}}}
The attached patch has been tested on both systems.
Note: on both systems the patches of ticket #13371 are applied.
--
Ticket URL: <https://code.mythtv.org/trac/ticket/13407>
MythTV <http://www.mythtv.org>
MythTV Media Center
More information about the mythtv-commits
mailing list