Mythtv DVB-T channel scanning and importing broken

Bug #188473 reported by Florian Hackenberger
6
Affects Status Importance Assigned to Milestone
mythtv (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

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

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

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 | ...

Read more...

Revision history for this message
Florian Hackenberger (f-hackenberger) wrote :

Scanning itself it perfectly fine. IMHO this could (and should) be easily fixed for Gutsy as DVB-T is quite common these days.

Revision history for this message
Mario Limonciello (superm1) wrote :

Well the thing is that the development focus is on Hardy. If this bug persists on trunk in Hardy, it can be fixed there and then backported to gutsy when 0.21 is released. So if you can test using say the weekly trunk builds from mythbuntu.org or using hardy's builds, that would be most ideal.

Particularly, at least one of those bug reports that you referenced has been fixed in trunk already.

Changed in mythtv:
status: New → Invalid
Revision history for this message
Jean-Louis Dupond (dupondje) wrote :

Using hardy, and the bug is still there ...

Revision history for this message
Antti Luoma (anluoma) wrote :

also using Hardy and just fixed the database with couple of sql updates...

Revision history for this message
35mmslr (35mmslr) wrote :

I am also having this problem in Hardy. although I get this in the dtv_multiplex file

29,1,4103,9018,810000000,a,,,,,8,3/4,2,1/32,0,qam_16,n,3/4,dvb,4,2008-06-30 01:12:49
30,1,8193,9018,786166670,a,,,,,8,1/2,2,1/32,0,qam_64,n,2/3,dvb,15,2008-06-30 01:11:42
31,1,12290,9018,730166670,a,,,,,8,1/2,2,1/32,0,qam_64,n,2/3,dvb,9,2008-06-30 01:13:07
32,1,16384,9018,769833330,a,,,,,8,3/4,2,1/32,0,qam_16,n,3/4,dvb,1,2008-06-30 01:13:09
33,1,20480,9018,794000000,a,,,,,8,3/4,2,1/32,0,qam_16,n,3/4,dvb,4,2008-06-30 01:13:20
34,1,24576,9018,818000000,a,,,,,8,3/4,2,1/32,0,qam_16,n,3/4,dvb,4,2008-06-30 01:13:29
35,1,,,754000000,0,0,auto,v,qam_64,8,1/2,2,1/32,0,qam_64,n,2/3,,33,2008-06-30 01:11:42
36,1,,,698166670,0,0,auto,v,qam_16,8,1/2,2,1/32,0,qam_16,n,3/4,,33,2008-06-30 01:12:49
37,1,,,690166670,0,0,auto,v,qam_64,8,1/2,2,1/32,0,qam_64,n,2/3,,33,2008-06-30 01:13:07
38,1,,,618000000,0,0,auto,v,qam_16,8,1/2,2,1/32,0,qam_16,n,3/4,,33,2008-06-30 01:13:09
39,1,,,738000000,0,0,auto,v,qam_16,8,1/2,2,1/32,0,qam_16,n,3/4,,33,2008-06-30 01:13:20
40,1,,,706166670,0,0,auto,v,qam_16,8,1/2,2,1/32,0,qam_16,n,3/4,,33,2008-06-30 01:13:29

the ones with no transport or network id are the correct freq but it is the other ones that are referenced in the channel table
I have deleted all the table entries and tried again and again. I have also changed the mplexid in the channel table but that didnt work either.
i've been 3 days and 4 installs on this and it is still the same.
I am using 2 x Pinnacle Hybrid Pro PCI

Revision history for this message
Davias (davias) wrote :

I always had problem importing channel conf with DVB-T (DVB-S works ok) but also with scanning:
scanning in mythbuntu worked in 7.10 using a mix of GB, Germany & Spain def.conf. to get italian channels.

Now since 8.04, it does not find anymore Mediaset2 network, which is found ok using scan of dvb-utils.
It finds all other network, even data only and DVBH (discarded) but not the Mediaset2 network, with the main channels Rete4, Italia1 e Canale5... annoying.

And also inputing direct freq. does not work.

This is the same with 8.04.1, 8.10 alpha 6 & now Beta1

My config is:
Athlon 2000+ on MSI K7T Turbo 512MB
Nvidia GF5200 AGP
Technosat Skystar2
Hauppauge HVR 1100

Thanks to all for helping

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.