[mythtv-commits] Ticket #4138: DVB channels messed up after scanning or importing from channels.conf

MythTV mythtv at cvs.mythtv.org
Tue Nov 6 12:04:01 UTC 2007


#4138: DVB channels messed up after scanning or importing from channels.conf
-----------------------------------------------+----------------------------
 Reporter:  mc-mythtv at dontcare.sganawa.org  |       Owner:  ijr    
     Type:  defect                             |      Status:  new    
 Priority:  minor                              |   Milestone:  unknown
Component:  mythtv                             |     Version:  0.20.2 
 Severity:  medium                             |     Mlocked:  0      
-----------------------------------------------+----------------------------
 I've been an happy Mythtv user for several months, until I recently
 deleted channels data by accident. To define them with current Mythtv
 version has proven to be impossible.
 I live in Italy, and I'm using a Liveview FlyDVB-T Hybrid card.

 What's happening: I launch dvb-utils's scan with
 {{{
 scan -5 -n -v it-Roma > .tzap/channels.conf
 }}}
 it works flawless; I get a list of channels and I'm able to tune each of
 them by tzap <channel name>, or watch them with mplayer dvb://<channel
 name> or whatever. So I assume there is no problem with DVB kernel modules
 or LinuxTV drivers.

 However Mythtv is unable to get a single working channel, using internal
 scanner, but also by importing channels.conf definitions.
 If I use the internal scanner, for instance by defining a transport then
 scanning it, Mythtv seems to work - tune, signal lock, adding channels,
 adding transports... But when I launch Mythfrontend and I select any
 channel, after a few seconds I get a message "you should be able to get a
 lock by now...". No lock occurs ever.
 So I've checked channels and dtv_multiplex tables; dtv_multiplex contains
 inconsistent transports data. Several - if not all - rows contain non-
 existent or absurd frequencies (like 100000), wrong FEC values, bandwith
 is 7 MHZ instead of 8... Things like that.
 Apparently, my local DVB stations are sending junk informations about
 their own settings. I've also seen these junk data while dvb-utils is
 scannning; but while dvb-util's scan throws them away (probably it double
 checks broadcasted data and remembers settings that have worked), Mythtv
 is believing them blindly: it insert this junk in transport definitions,
 replacing the correct ones!
 Sure, it wouldn't happen if no junk data was sent by broadcaster, but
 since dvb-utils can deal with them, I see no reason why Mythtv couldn't.

 There is no way of getting around this problem. If I try to import
 channels.conf in Mythtv, a check occurs that corrupts all transports data
 same way. Moreover, since there is no "ignore timeout" in import
 channels.conf (there is, on other scanning options), some of them are
 skipped after a too small delay.
 I've also tried to fix each transport data, then scan it one at a time
 with "Hierarchy=None" option, which should prevent getting other
 transports data; but it doesn't work: other existing transports are still
 updated with bad data, and final setup doesn't work either. I've also
 noticed that some transports are defined with sistandard="dvbt"
 (lowercase), an unselectable setting that I don't know where it comes
 from. All of this effectively renders Mythtv useless, as even if you try
 to manually define each channel, you can't still enter some necessary
 detail (namely serviceid).

 To have back a working configuration, I finally had to write myself a
 script to convert channels.conf to SQL statements, then import them with
 mysql client. But it's not a viable solution for most of the users.

 Considerations:
 - I think it's conceptually wrong that "import channels.conf" scanner
 option rescans each channel; it should simply integrate them with missing
 informations - channel number, xmltv id... This option should be a "safety
 net", in case internal scanner doesn't work, or simply the user doesn't
 want to use it. I remember that, when I first installed Mythtv several
 versions ago, I concluded that internal scanner was broken either, but
 nontheless I was able to use this option to get an usable configuration.
 With recent upgrades, this is no longer possibile.
 - Possibly, the very same dvb-utils scan logic should be implemented in
 Mythtv, as it seems more foolproof;
 - Even easier, Mythtv could drop internal scanning and rely on dvb-utils
 to do this job, so as to avoid reinventing the wheel.

 My current version of mythtv is 0.20.2-0ubuntu10 on Ubuntu 7.10 (Gutsy). I
 attach channels.conf (working) and the resulting channel and dtv_multiplex
 (broken) tables, after importing.

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/4138>
MythTV <http://svn.mythtv.org/trac>
MythTV


More information about the mythtv-commits mailing list