<br><br>On 25/11/2007, Mike McKay <<a href="mailto:mike.mckay@dsl.pipex.com">mike.mckay@dsl.pipex.com</a>> wrote:<br>> I receive DVB-T ("Freeview") in the UK using mythTV 0.20.2 running on<br>> Ubuntu
7.04. I have used various versions of mythTV for about 18 months<br>> and normally receive program data from the Radio Times site using<br>> mythfilldatabase which, in turn, uses tv_grab_uk_rt.<br>> <br>> I recently added a Hauppauge Nova-T 500 to my existing Hauppauge Nova-T
<br>> to give me a total of three tuners and, at the same time, had my antenna<br>> re-oriented to a different transmitter.<br>> <br>> To "retune" my channels I used mythTV_setup, deleted all channels and
<br>> transports, entered the transport details for the new transmitter and<br>> then did a "full scan of existing transports". (I did it this way after<br>> multiple problems with the simpler, more automated "full scan".)
<br>> <br>> I then ran mythfilldatabase which did not give the desired results: it<br>> added a completely new set of channels which could not be tuned/received.<br>> <br>> Looking at the database channel table, those channels which were derived
<br>> from the transport scan had the following entries in their columns:<br>> channum: correct numerical value<br>> callsign: name as below, truncated (not, I think, the callsign)<br>> name: text name
<br>> sourceid: 1<br>> <br>> Those channels derived from mythfilldatabase had the following entries:<br>> channum: 2nd <displayname> in xmltv entry from ~/.xmltv/channels-list<br>> callsign: five-digit caps+numeric value (I think this is the callsign)
<br>> name: 1st <displayname> in xmltv entry from ~/.xmltv/channels-list<br>> sourceid: 1<br>> <br>> My initial conclusions are:<br>> 1. The mythfilldatabase channels cannot be tuned because they have an
<br>> alphanumeric value in the channum column.<br>> 2. The callsign column for the mythfilldatabase channels is a credible<br>> callsign but that from the transport scan channels is not.<br>> 3. From what I see in the channel table I cannot see how mythTV can
<br>> perform an unambiguous correlation between those channels derived from<br>> the transport scan and already in the table, and the channel information<br>> it receives from the Radio Times web site.<br>> <br>
> I've now spent considerable time on this but am completely stuck. As a<br>> work-around I'm now using the EIT programme data but it's not as good as<br>> the Radio Times.<br>> <br>> Can anyone shed any light on this ? Even if you don't know what's
<br>> causing the screw-up, it would be useful to know what the channel table<br>> is supposed to contain when everything is working correctly and I am<br>> very interested to know how mythfilldatabase is supposed to work out
<br>> what pre-existing channel corresponds to channel program data obtained<br>> from the RT website.<br>> <br>> Regards,<br>> <br>> Mike<br><br>It's all about xmltvids. The grabber script updates the channel based on matching xmltvids. If it can't find a channel with the same xmltvid as in its list it creates a new one.
<br><br>Here's a little howto I wrote for myself after the last Freeview channel re-ordering:<br><br><br>1) shutdown         mythbackend         <br><br>2) backup         db         <br><br>3) make         copies of tables – channels, program, record, recorded         
<br> (create table pm_channels as select * from channels, etc)<br><br>4) run         mythtv-setup – delete channels and re-scan         <br><br>5) start         mythbackend         <br><br>6) update         channels using SQL/mythweb so xmltvids match         
<br><br>7) make         sure chanids in program, record, recorded match 'new' channels         <br><br>8) run         mythfilldatabase         <br> <br>If chanids match then: <br><br>update channel c,pm_channel p <br><br> set c.xmltvid=p.xmltvid
<br><br> where c.chanid=p.chanid <br><br> and c.chanid != 1019; <br><br>update channel c,pm_channel p <br><br> set c.icon=p.icon <br><br> where c.chanid=p.chanid <br><br> and c.chanid != 1019;
<br><br>update channel c,pm_channel p <br><br> set c.callsign=p.callsign <br><br> where c.chanid=p.chanid <br><br> and c.chanid != 1019; <br><br><br> where 1019 is a channel that has changed <br><br>HTH<br>
-- <br>Paul Mason