Opened 7 years ago
Closed 6 years ago
Last modified 6 years ago
#13267 closed Bug Report - General (fixed)
Dual tuners, only one does EIT scan
Reported by: | bib1963 | Owned by: | gigem |
---|---|---|---|
Priority: | minor | Milestone: | 29.2 |
Component: | MythTV - EIT | Version: | Master Head |
Severity: | high | Keywords: | |
Cc: | Ticket locked: | no |
Description
I have a HVR4400, 2 tuners, S2 & T.
Both are set to pick programmes through the EIT scan only.
Up until around February, this worked fine.
However since then, the EIT scan, while working against both tuners at startup, then fails any subsequent scan on the 2nd tuner, the T. The first tuner, the S2 works as expected.
Attachments (4)
Change History (22)
comment:1 Changed 6 years ago by
comment:2 Changed 6 years ago by
Status: | new → infoneeded_new |
---|
Please check your backend logs for any EIT related activity and error messages. If that doesn't identify a problem, please double check your capture card and videosource configurations. If that still doesn't show a problem, please provide the logs and a database dump or screen shots of your capture card and videosource configurations.
comment:3 Changed 6 years ago by
I did check the logs, I started the BE with "-v eit". It show EIT scanning when either watching or recording a program and the scan only happens on that card, no other. This is how I know the periodic scans do not happen.
I've checked the setup multiple times. Both cards are set for active EIT scan, and both videosource's are set for over-the-air guide EIT.
I am guessing that no one sees this as they either watch or record from all cards daily. I don't.
I'll attach the logs and a dump of the db.
But is does look like the periodic scans have been disabled.
Changed 6 years ago by
Attachment: | mythbackend.20180604182815.1968.log.xz added |
---|
Changed 6 years ago by
Attachment: | mythconverg.dbdump.xz.part1 added |
---|
Changed 6 years ago by
Attachment: | mythconverg.dbdump.xz.part2 added |
---|
Changed 6 years ago by
Attachment: | mythconverg.dbdump.xz.part3 added |
---|
comment:4 Changed 6 years ago by
There have only been two EIT related changes since February, {ba4c52b9} in April and {0b11aedd} in February. I don't think either of them should have any ill effect. However, please try building the version before each of them to see if it changes the behavior you are seeing. If that doesn't show anything, I'll create a debug patch to try to shed some more light on the problem.
comment:5 Changed 6 years ago by
Okay... finally managed to get it working under VirtualBox?.
Seems that it has nothing to do with multiple tuners.
I ran it under VB the past few days and it all worked correctly.... until I set some channels to be invisible.
Before I would see the channel updates in the logs, now I get something similar to...
2018-06-17 11:17:58.171008 I TVRec[1]: TuningFrequency? 2018-06-17 11:17:58.641620 I No visible channels for 30 2018-06-17 11:17:58.641626 E GetChannelData?() failed because it could not find channel number '30' in DB for source '1'. 2018-06-17 11:17:58.641636 E DTVChan[1](/dev/dvb/adapter0/frontend0): SetChannelByString?(30): Unable to find channel in database. 2018-06-17 11:17:58.641639 E TVRec[1]: Failed to set channel to 30. Reverting to kState_None
I think this may also go all the way back to March 2017 and the changes to channelutil.cpp.
Trying to find where when when the problem started could take a while...
comment:6 Changed 6 years ago by
Okay. The EIT scanner doesn't honor the visible setting when scanning channels. I think the simplest and safest fix for that is to honor the visisble flag in the EIT scanner. I realize there could be cases where we want a channel to be invisible but still scanned, but that will have to wait for a later day when/if we rweork channel visibility. Do you believe that is the main issue with your original report? If so, I like to close this ticket when I make the change.
comment:7 Changed 6 years ago by
Give me a few days. I'll set all visible to true tomorrow then check again in a couple of days later.
comment:9 Changed 6 years ago by
Yup, it's setting a channel to invisible that does it.
I think this problem may also relate to #13269.
With M up and running with all channels visible, EIT scan works as expected.
During a scan, if you set a single channel to be invisible, the scan stops dead and never happens again.
If you then set that channel back to being visible, the EIT does not run again. You have to restart M.
It's as if there is a global var which is being tested and once set, is never unset. Hence why I also think it may be related to #13269.
By the looks the EIT scan needs some serious work.
comment:10 Changed 6 years ago by
Owner: | changed from Karl Egly to gigem |
---|
Okay. I'm going to make the visibility change and then close this ticket. As you noted, the scan stoppping is a separate issue that is being addressed. Actually, the scan doesn't stop, it just pauses for 1 year. I don't know why such a ridiculous delay was used.
comment:11 Changed 6 years ago by
Milestone: | unknown → 29.2 |
---|---|
Resolution: | → Fixed |
Status: | infoneeded_new → closed |
Fixed in master with commit [a1466c3c] and in fixes/29 with commit [8bbe329e].
Now I get it....
The EIT scanning ONLY happens when viewing or recording a programme.
That is, how many tuners you have does not matter... EIT scanning ONLY happens if you record or watch a program or at startup of the backend. EIT scanning ONLY happens on the card which is being recorded from or being watch. If you do not watch or record anything from a particular card, then the EIT program data is NEVER scanned for. If you watch or record nothing for a week, then the program listings will revert to empty.
It used to be that overnight, an EIT scan would be scheduled against ALL cards, this appears now to have been removed.