Please read the Ticket HowTo before creating or commenting on a ticket. Failure to do so may cause your ticket to be rejected or result in a slower response.
Opened 2 years ago
Last modified 5 months ago
#9592 assigned Bug Report - General
No updates via eit
| Reported by: | lugiber@… | Owned by: | dekarl |
|---|---|---|---|
| Priority: | minor | Milestone: | 0.26.1 |
| Component: | MythTV - EIT | Version: | 0.24-fixes |
| Severity: | medium | Keywords: | eit |
| Cc: | Ticket locked: | no |
Description
I'm running ubuntu maverick with myth 0.24-fixes but the epg doesn't get updated.
I have (of course) followed the wiki and enabled eit scans on all appropriate places in mythtv-setup. All channel scanning is done via mythtv-setup, but still no network id was provided so i entered it manually into the database.
I live in sweden and use the "comhem" dvb-c network. The network id i entered was 40999.
I have also started mythbackend with the options "siparser,eit,channel" to verify that it searches for program schedules. And the backend does search, the problem is that it doesn't seem to find any.
My television set finds the epg just fine.
If you need any more info or help debugging/testing please let me know. I am willing to spend a lot of time for this to work again.
Thanks for a great peice of software, i've been using it daily since 0.16.
/Peter
Attachments (2)
Change History (19)
comment:1 in reply to: ↑ description Changed 2 years ago by McBlau@…
comment:2 Changed 2 years ago by wie.ge@…
hello
i have the same problem with kabsi - can you explain in detail what to do
thanks
gerald
comment:3 Changed 2 years ago by mcblau@…
I made a rather primitive hack in 3 files (1 is used by the channelscanner, 2 by actally setup grabbing EIT
Diff :
-
libs/libmythtv/channelscan/channelscan_sm.cpp
diff U3 /root/mythtv-0.24/libs/libmythtv/channelscan/channelscan_sm.cpp /root/mythtv-0.24.rc01/libs/libmythtv/channelscan/channelscan_sm.cpp
old new 999 999 { 1000 1000 // HACK beg -- special exception for this network 1001 1001 // (dbver == "1067") 1002 bool force_guide_present = (sdt->OriginalNetworkID() == 70) ;1002 bool force_guide_present = (sdt->OriginalNetworkID() == 70) || (sdt->OriginalNetworkID() == 222); 1003 1003 // HACK end -- special exception for this network 1004 1004 1005 1005 // Figure out best service name and callsign... -
libs/libmythtv/mpeg/dvbtables.cpp
diff U3 /root/mythtv-0.24/libs/libmythtv/mpeg/dvbtables.cpp /root/mythtv-0.24.rc01/libs/libmythtv/mpeg/dvbtables.cpp
old new 103 103 str.append(QString(" Service #%1 SID(0x%2) ") 104 104 .arg(i, 2, 10).arg(ServiceID(i), 0, 16)); 105 105 str.append(QString("eit_schd(%1) eit_pf(%2) encrypted(%3)\n") 106 .arg(HasEITSchedule(i) ? "t" : " f")107 .arg(HasEITPresentFollowing(i) ? "t" : " f")106 .arg(HasEITSchedule(i) ? "t" : "t") 107 .arg(HasEITPresentFollowing(i) ? "t" : "t") 108 108 .arg(IsEncrypted(i) ? "t" : "f")); 109 109 110 110 if (0 != ServiceDescriptorsLength(i)) -
libs/libmythtv/mpeg/dvbstreamdata.cpp
diff U3 /root/mythtv-0.24/libs/libmythtv/mpeg/dvbstreamdata.cpp /root/mythtv-0.24.rc01/libs/libmythtv/mpeg/dvbstreamdata.cpp
old new 408 408 409 409 for (uint i = 0; i < sdt->ServiceCount(); i++) 410 410 { 411 if (sdt->HasEITSchedule(i) || sdt->HasEITPresentFollowing(i) )411 if (sdt->HasEITSchedule(i) || sdt->HasEITPresentFollowing(i) || true ) 412 412 _dvb_has_eit[sdt->ServiceID(i)] = true; 413 413 } 414 414
comment:4 Changed 2 years ago by McBlau@…
These changes look rather silly, but i wanted to leave the original source intact. regards, R.
Changed 2 years ago by McBlau@…
EIT-Flags always true + Force EIT with NID 222
comment:5 Changed 2 years ago by wagnerrp
- Milestone changed from 0.24.1 to unknown
- Severity changed from high to medium
Resetting milestone/severity to defaults.
comment:6 follow-up: ↓ 16 Changed 16 months ago by stuartm
- Milestone changed from unknown to 0.25
- Status changed from new to infoneeded_new
So in summary, the network indicates no EIT is present even if it's there.
It's always best to try fixing these upstream since most times it's not an intentional on behalf of the broadcaster. Has anyone tried contacting them and reporting the fault?
Has anyone tested again a few months later to see if the broadcast tables are still broken?
I don't think we'll accept a patch that enables EIT regardless, so any 'fix' would have to be along the lines of a fixup, an explicit exception for this and other networks with the same problem.
comment:7 follow-up: ↓ 8 Changed 16 months ago by stuartm
- Type changed from Bug Report to Bug Report - General
comment:8 in reply to: ↑ 7 Changed 16 months ago by mcblau@…
Replying to stuartm:
Yes, your summary is correct and the error is still there, contacting the cable-provider results in: they will not fix it, because almost every cable receiver shows EIT data on the affected channels and there is no need to fix anything. In my opinion it would not hurt to act slightly out of the specifications, a good compromise would be to show the absence of EIT-indication on channel scan (e.g.: not ticked checkbox) but try to pull data when the user wants the software to do so - software shoud always do what the user tells it, not what the programmer thinks what is the best for the user ;-) - especially if it has no bad side effects.
comment:9 Changed 15 months ago by dekarl@…
Lets see, Peter (the OP) was talking about ComHem? in Sweden and seems to see #10217
The text and the PDF referenced at http://www.comhem.se/comhem/kundservice/hjalp-med-v-ra-tjanster/hjalp-med-tv/fr-gor-och-svar/-/698504/613272/-/index.html suggest that he might also need #7486 and the correct network_id from the PDF.
It would be nice to test if using the values from dvbsnoop on PID 0x12 would unbreak EIT reception for Peter. (use original_network_id and transport_id from the transmitted EIT sections to seed the values in the dtv_multiplex table)
McBlau? and Gerald have the same issue (no epg) but on KabelSignal? in AT and caused by something completely different (wrong signaling of EIT presence)
comment:10 Changed 15 months ago by stuarta
- Milestone changed from 0.25 to 0.26
comment:11 Changed 11 months ago by dekarl@…
another round of Sunday code reading inspired by yet another provider messing up their SDT ... (http://www.mythtv.org/pipermail/mythtv-users/2012-July/336884.html DVB-T Greece?)
After digging the standards and MythTV code I actually do like the idea of obeying "useonairguide" even if the signaling is wrong and defaulting "useonairguide" to enabled for known broken providers.
The ServiceDescriptionTable::toString() patch should be left out imho as it makes debugging harder by printing out false data.
comment:12 follow-up: ↓ 15 Changed 10 months ago by flori@…
Hi there,
having a similar issue on DVB-T transports in Austria. For some reason I am missing EIT for 3 out of 10 channels. Network ID is the same for all 3 transports, which these channels are on. The multiplex table seems fine. It seems though that maybe those 3 missing EITs come from the same transport. How can I check this? What are the tools and options to debug this correctly?
Other that that I would also support being able to manually force reading EIT for them if possible.
comment:13 Changed 9 months ago by kenni
- Milestone changed from 0.26 to 0.26.1
comment:14 Changed 6 months ago by dekarl
- Keywords EIT removed
- Owner changed from stuarta to dekarl
- Status changed from infoneeded_new to assigned
comment:15 in reply to: ↑ 12 Changed 5 months ago by dekarl
Replying to flori@…:
It would be best to track each provider/country in its own ticket as it gets quite confusion when everything is mixed into one ticket. (this ticket already is about Sweden, Austria, DVB-C and DVB-T) Please follow up in a new ticket to avoid confusion.
How can I check this? What are the tools and options to debug this correctly?
The issue of EIT presence not being properly being signaled can be verified by looking at
EIT_schedule_flag: 0 (0x00) EIT_present_following_flag: 0 (0x00)
in the SDT by running "dvbsnoop -n 1 -nph 0x11" while tuned to the transport in question, see http://dvbsnoop.sourceforge.net/examples/example-sdt.html
Both should be "1" for services with guide data present.
Changed 5 months ago by dekarl
variant of the patch
comment:16 in reply to: ↑ 6 Changed 5 months ago by dekarl
Replying to stuartm:
any 'fix' would have to be along the lines of a fixup, an explicit exception for this and other networks with the same problem.
The original patch and my variant should
a) forcible enable useonairguide for all channels from the same original_network_id in a fixup style at the time of the channel scan. Its up to the user to manually enable useonairguide for providers that are not fixedup, yet.
b) enable passive EIT collection for all channels. With the optimized negative caching in [374937dd] I value the gain when its needed over the cost when its not needed
c) the active scan will still only steer to transports with at least one channel with useonairguide set
I'm not committing it but posting it here for review instead due to b)
McBlau? / Gerald, can you verify that the SDT still does not signal guide presence after the merger of kabelsignal to kabelplus? I'd appreciate if you can test my variant of the patch if it is still needed.
comment:17 Changed 5 months ago by yiannividalis@…
To Dekarl:
| (sdt->OriginalNetworkID() == 65330)" part for my provider's id. |
I tried the second patch but unfortunately it doesn't work for me. Repatching the first one brought EIT back.
If you decide to commit any patch into myth, could you please add my provider (ERT Greece, 65330) to the list of providers?
Best regards,
Yianni.

Replying to lugiber@…:
Hi, i had the same Problem and did a little research by myself. My Provider (kabelsignal.at, NID 222) changed Channels at the end of January and no EPG was received by MythTv? from Feb. 1. on until now (TV-Set showed EPG). The reason is, that in the SDT the flags EIT* are missing, a Test with dvbsnoop showed this. I downloaded the source, did changes in 3 files (assuming EPG* flags are always true) and compiled - EPG is here again.
I think the best fix for this Problem would be, that if "useonairguide" is set on a channel, MythTv? should try to pull EIT regardless of what the SDT says.