Comment 1 for bug 188473

Revision history for this message
Mario Limonciello (superm1) wrote : Re: [Bug 188473] [NEW] Mythtv DVB-T channel scanning and importing broken

Florian Hackenberger wrote:
> Public bug reported:
>
> Binary package hint: mythtv
>
> Scanning for channels, and importing previously scanned channels from a channels.conf file is buggy. Mythtv sucessfully creates the transponders and channels (it detects the channels, obtains a lock and stores them in the database), but the mythfrontend cannot tune them (no lock). Upon further investigation I noticed that the mplexid column of the channel table points to the wrong entry in the dtv_multiplex table. This seems to be related to the following upstream bugs:
> http://svn.mythtv.org/trac/ticket/4138
> http://svn.mythtv.org/trac/ticket/4163
> http://svn.mythtv.org/trac/ticket/4154
>
> This bug unfortunately breaks mythtv for DVB-T in (at least) Austria.
>
> Here is the output from the database before fixing the mess caused by the bug:
> mysql> select * from channel;
> +--------+---------+--------+----------+----------------+----------------+------+----------+--------------+---------+-------------+----------+------------+--------+-------+----------+----------+---------+---------------+---------------+---------+-----------+-----------+----------+-----------------+-----------------+
> | chanid | channum | freqid | sourceid | callsign | name | icon | finetune | videofilters | xmltvid | recpriority | contrast | brightness | colour | hue | tvformat | commfree | visible | outputfilters | useonairguide | mplexid | serviceid | atscsrcid | tmoffset | atsc_major_chan | atsc_minor_chan |
> +--------+---------+--------+----------+----------------+----------------+------+----------+--------------+---------+-------------+----------+------------+--------+-------+----------+----------+---------+---------------+---------------+---------+-----------+-----------+----------+-----------------+-----------------+
> | 11121 | 10121 | NULL | 1 | PULS 4 | PULS 4 | | NULL | | | 0 | 32768 | 32768 | 32768 | 32768 | Default | 0 | 1 | | 0 | 3 | 10121 | NULL | 0 | 0 | 0 |
> | 12302 | 11302 | NULL | 1 | 3SAT | 3SAT | | NULL | | | 0 | 32768 | 32768 | 32768 | 32768 | Default | 0 | 1 | | 1 | 3 | 11302 | NULL | 0 | 0 | 0 |
> | 12303 | 11303 | NULL | 1 | ORF Sport Plus | ORF Sport Plus | | NULL | | | 0 | 32768 | 32768 | 32768 | 32768 | Default | 0 | 1 | | 1 | 3 | 11303 | NULL | 0 | 0 | 0 |
> | 11101 | 10101 | NULL | 1 | ORF1 | ORF1 | | NULL | | | 0 | 32768 | 32768 | 32768 | 32768 | Default | 0 | 1 | | 1 | 1 | 10101 | NULL | 0 | 0 | 0 |
> | 11112 | 10112 | NULL | 1 | ORF2 St | ORF2 St | | NULL | | | 0 | 32768 | 32768 | 32768 | 32768 | Default | 0 | 1 | | 1 | 1 | 10112 | NULL | 0 | 0 | 0 |
> | 11120 | 10120 | NULL | 1 | ATV+ | ATV+ | | NULL | | | 0 | 32768 | 32768 | 32768 | 32768 | Default | 0 | 1 | | 1 | 1 | 10120 | NULL | 0 | 0 | 0 |
> | 11132 | 10132 | NULL | 1 | ORF2 B | ORF2 B | | NULL | | | 0 | 32768 | 32768 | 32768 | 32768 | Default | 0 | 1 | | 1 | 1 | 10132 | NULL | 0 | 0 | 0 |
> +--------+---------+--------+----------+----------------+----------------+------+----------+--------------+---------+-------------+----------+------------+--------+-------+----------+----------+---------+---------------+---------------+---------+-----------+-----------+----------+-----------------+-----------------+
> 7 rows in set (0.00 sec)
>
> mysql> select * from dtv_multiplex;
> +---------+----------+-------------+-----------+-----------+-----------+------------+------+----------+------------+-----------+--------------+-------------------+----------------+---------+---------------+-----------+--------------+------------+----------------+---------------------+
> | mplexid | sourceid | transportid | networkid | frequency | inversion | symbolrate | fec | polarity | modulation | bandwidth | lp_code_rate | transmission_mode | guard_interval | visible | constellation | hierarchy | hp_code_rate | sistandard | serviceversion | updatetimestamp |
> +---------+----------+-------------+-----------+-----------+-----------+------------+------+----------+------------+-----------+--------------+-------------------+----------------+---------+---------------+-----------+--------------+------------+----------------+---------------------+
> | 1 | 1 | 500 | 8232 | 858000000 | a | NULL | NULL | NULL | NULL | 8 | 3/4 | 8 | 1/4 | 0 | qam_16 | n | 3/4 | dvb | 2 | 2008-02-02 20:16:03 |
> | 2 | 1 | 500 | 8232 | 514000000 | a | NULL | NULL | NULL | qpsk | 8 | auto | a | auto | 0 | auto | a | auto | dvbt | 33 | 2008-02-02 20:16:03 |
> | 3 | 1 | 330 | 8232 | 474000000 | a | NULL | NULL | NULL | NULL | 8 | 3/4 | 8 | 1/4 | 0 | qam_16 | n | 3/4 | dvb | 1 | 2008-02-02 20:16:09 |
> | 4 | 1 | 330 | 8232 | 490000000 | a | NULL | NULL | NULL | qpsk | 8 | auto | a | auto | 0 | auto | a | auto | dvbt | 33 | 2008-02-02 20:16:09 |
> +---------+----------+-------------+-----------+-----------+-----------+------------+------+----------+------------+-----------+--------------+-------------------+----------------+---------+---------------+-----------+--------------+------------+----------------+---------------------+
> 4 rows in set (0.00 sec)
>
>
> The following statements correct the problem:
>
> mysql> update channel set mplexid=2 where mplexid=1;
> Query OK, 4 rows affected (0.00 sec)
> Rows matched: 4 Changed: 4 Warnings: 0
>
> mysql> update channel set mplexid=4 where mplexid=3;
> Query OK, 3 rows affected (0.00 sec)
> Rows matched: 3 Changed: 3 Warnings: 0
>
> The data within the database is the result from importing the following channel.conf file:
> # Filename: channels.conf-AT-graz
> # Purpose: channel configuration file for DVB-T in Graz/Austria.
> # Authors: grml-team (grml.org), (c) Michael Prokop <email address hidden>
> # Bug-Reports: see http://grml.org/bugs/
> # License: This file is licensed under the GPL v2.
> # Latest change: Mon Okt 22 22:06:02 CEST 2007 [mika]
> ################################################################################
> # Usage example: 'ln -s ~/.channels/channels.conf-AT-graz ~/.mplayer/channels.conf'
> ################################################################################
> ORF1:514000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO:FEC_AUTO:QAM_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_AUTO:5010:5011:10101
> ORF2 St:514000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO:FEC_AUTO:QAM_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_AUTO:5020:5021:10112
> ATV+:514000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO:FEC_AUTO:QAM_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_AUTO:5040:5041:10120
> ORF2 B:514000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO:FEC_AUTO:QAM_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_AUTO:5020:5021:10132
> ORF1:802000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5010:5011:10101
> ORF2 St:802000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5020:5021:10112
> ATV+:802000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5040:5041:10120
> ORF2 B:802000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5020:5021:10132
> PULS TV AUSTRIA:490000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO:FEC_AUTO:QAM_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_AUTO:3050:3051:10121
> 3SAT:490000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO:FEC_AUTO:QAM_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_AUTO:3055:3056:11302
> ORF Sport Plus:490000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_AUTO:FEC_AUTO:QAM_AUTO:TRANSMISSION_MODE_AUTO:GUARD_INTERVAL_AUTO:HIERARCHY_AUTO:3060:3061:11303
> ## END OF FILE #################################################################
>
> BTW: I'm using a Pinnacle PCTV Hybrid DVB-T stick with the em2880_dvb
> driver from http://mcentral.de/wiki/index.php5/Em2880
>
> Cheers
>
> ** Affects: mythtv (Ubuntu)
> Importance: Undecided
> Status: New
>
My understanding is that scanning is much better in trunk. It will be entering
the archive in a few days. Please test with that after it does and report back.

--
Mario Limonciello
<email address hidden>