At work we’ve got a MythTV (mythbuntu) server with 2x DVB-S and 2x DVB-S2 cards.
For a while I struggled away at trying to get the tv grabber to collect tv lisitings but it required me to configure each channel individually, not a pain if it’s a one off but for some reason I found myself doing it more often than not!
So I decided, a switch to EIT listings would be a better bet.
I imported my channels.conf and scanned existing transports, excitedly I clicked on ‘Listings’ expecting to see a full data guide but all I was greeted with was “NO DATA” for every channel.
After a bit of googling I found a command that let me see what the EIT scanner was up to under the hood so I issued the following:
mythbackend -v siparser,eit,channel
This allowed me to see exactly what was happening under the hood. Alas it looked as if it was scanning for channels fine but there were no informative error messages. Back to google.
After reading some more I found out about this bug which meant when channels were imported via a channels.conf (not detected directly by mythtv) it would lose or not detect it’s network id.
So to see if I was being affected by this bug I opened up phpmyadmin and navigated to the mythconverg database and looked in the dvt_multiplex table. Sure enough under the networkid column all of the values were set to NULL.
So on to fixing it. I noted down the frequency and polarity from the dvt_multiplex table so I could access the values when the mythbackend was down. I opened up mythtv-setup and removed all the channels from the EIT source then under ‘Video Source’ scanned for new channels using a Full tunned scan, substituting in the values from the dvt_multiplex table. I waited for the scan to finish and when it had, I added the channels and ran mythfilldatabase for good luck.
After this I checked the dvt_multiplex table again and instead of a networkid of NULL there was a value of 2! Looking at the listings page confirmed that the EIT scanning was now working and this was also confirmed with the output of mythbackend -v siparser,eit,channel.
In hind sight a better way to have done this would have been to dump the SQL of the database, remove the channels in mythtv-setup, rescan using a full tuned scan using information from the dvt_multiplex table, add the channels, look at the dvt_multiplex table find the value of networkid copy it (I’m assuming it’s the same for all) reimport your database and change the value of networkid, in my case:
mysql > UPDATE set dvt_multiplex.networkid = ‘2’;
Doing it this way means you don’t have to setup your channels a second time, but if you’re well practised at it like me (with a little help from a few scripts ;o)) then it’s probably quicker to do it the first way.
As a side note I have Use DishNet’s long term EIT data set to ON, cross EIT data sources set to OFF and use Quick Tuning set to never. I have no idea if these options make a difference but some of the googling I have done infers that it might!
Anyway I hope this helps someone and saves them some time!