[mythtvnz] Odd Problem

Håkon Alstadheim hakon at alstadheim.priv.no
Thu Jul 5 01:53:33 BST 2012


On 04. juli 2012 12:32, James Booth wrote:
> On Wed, 04 Jul 2012 22:06:46 David Moore wrote:
>> On 04/07/12 21:35, James Booth wrote:
>>> Thanks for the suggestion. It doesn't appear that anything has changed in
>>> the channel setup. I just did a restart of mythbackend, then ran
>>> mythfilldatabase, and now everything looks clean, but my recording rules
>>> still will not work.
>>>
>>> I have been playing with mhegepgsnoop for the last few weeks (to fill in
>>> data for channels not coming through with tv_grab_nz.py) and it seemed to
>>> be working fine, but wondering if maybe that could be causing an issue?
>> It would seem unlikely since all it does it generate an xmltv file which
>> mythfilldatabase processes into the EPG. I assume your EPG looks ok now?
>>
> Something is still not right - EPG data looks good and recording rules now
> working, but mythweb EPG is still showing periods and "No Data" for some
> channels.
>
I have experienced gremlins in the programme database screwing up new 
recordings. Long time with no problems now, but I still have the three 
files that are pasted below running. If you run the last one it should 
give you a nice log in /var/log/mythconveg-gremlins.log of what was 
wrong, if it finds anything. If it does find something, you could 
install the three files and see if the problem reoccurs. I was running a 
card that apparently had a dodgy driver wich had some error correction 
disabled. This has apparently been fixt in later kernels and myth is no 
longger giving me corrupt EIT data.

/etc/cron.hourly/fix-gremlins: -------------------------
#!/bin/sh
/usr/local/bin/mythconverg-baddies
if ! cmp /var/log/mythconveg-gremlins.log /root/mythconveg-gremlins.log; 
then
  cat /var/log/mythconveg-gremlins.log
  exit 1
else
  exit 0
#
-------------
/etc/cron.daily/fix-gremlins:------------------------------
#!/bin/sh
/usr/local/bin/mythconverg-baddies
if ! cmp /var/log/mythconveg-gremlins.log /root/mythconveg-gremlins.log; 
then
  cat /var/log/mythconveg-gremlins.log
  cp /var/log/mythconveg-gremlins.log /root/mythconveg-gremlins.log
  exit 1
else
  exit 0
-----------
/usr/local/bin/mythconverg-baddies:-------------------
#!/bin/bash
exec > /var/log/mythconveg-gremlins.log
## program.programid
echo before, program.programid:
echo 'select chanid,starttime,programid  from program;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])'

echo 'select chanid,starttime,programid  from program;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])' \
| perl -ane '{print "update program set programid = " . chr(39) . 
chr(39). " where chanid =  " . chr(39). "$F[0]" . chr(39). " and 
starttime = " . chr(39). "$F[1] $F[2]" . chr(39).  "; \n"}'

echo 'select chanid,starttime,programid  from program;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])' \
| perl -ane '{print "update program set programid = " . chr(39) . 
chr(39). " where chanid =  " . chr(39). "$F[0]" . chr(39). " and 
starttime = " . chr(39). "$F[1] $F[2]" . chr(39).  "; \n"}' |mysql -h 
garbo -umythtv -pmythtv mythconverg

echo after:
echo 'select chanid,starttime,programid  from program;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])'

## recorded.programid
echo before, recorded.programid:
echo 'select chanid,starttime,programid  from recorded;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])'

echo 'select chanid,starttime,programid  from recorded;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])' \
| perl -ane '{print "update recorded set programid = " . chr(39) . 
chr(39). " where chanid =  " . chr(39). "$F[0]" . chr(39). " and 
starttime = " . chr(39). "$F[1] $F[2]" . chr(39).  "; \n"}'

echo 'select chanid,starttime,programid  from recorded;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])' \
| perl -ane '{print "update recorded set programid = " . chr(39) . 
chr(39). " where chanid =  " . chr(39). "$F[0]" . chr(39). " and 
starttime = " . chr(39). "$F[1] $F[2]" . chr(39).  "; \n"}' |mysql -h 
garbo -umythtv -pmythtv mythconverg

echo after:
echo 'select chanid,starttime,programid  from recorded;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])' \
| perl -ane '{print "update recorded set programid = " . chr(39) . 
chr(39). " where chanid =  " . chr(39). "$F[0]" . chr(39). " and 
starttime = " . chr(39). "$F[1] $F[2]" . chr(39).  "; \n"}'

## program.seriesid
echo before, program.seriesid:
echo 'select chanid,starttime,seriesid  from program;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])'

echo 'select chanid,starttime,seriesid  from program;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])' \
| perl -ane '{print "update program set seriesid = " . chr(39) . 
chr(39). " where chanid =  " . chr(39). "$F[0]" . chr(39). " and 
starttime = " . chr(39). "$F[1] $F[2]" . chr(39).  "; \n"}'

echo 'select chanid,starttime,seriesid  from program;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])' \
| perl -ane '{print "update program set seriesid = " . chr(39) . 
chr(39). " where chanid =  " . chr(39). "$F[0]" . chr(39). " and 
starttime = " . chr(39). "$F[1] $F[2]" . chr(39).  "; \n"}' |mysql -h 
garbo -umythtv -pmythtv mythconverg

echo after:
echo 'select chanid,starttime,seriesid  from program;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])' \
| perl -ane '{print "update program set seriesid = " . chr(39) . 
chr(39). " where chanid =  " . chr(39). "$F[0]" . chr(39). " and 
starttime = " . chr(39). "$F[1] $F[2]" . chr(39).  "; \n"}'

## recorded.seriesid
echo before, recorded.seriesid:
echo 'select chanid,starttime,seriesid  from recorded;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])'

echo 'select chanid,starttime,seriesid  from recorded;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])' \
| perl -ane '{print "update recorded set seriesid = " . chr(39) . 
chr(39). " where chanid =  " . chr(39). "$F[0]" . chr(39). " and 
starttime = " . chr(39). "$F[1] $F[2]" . chr(39).  "; \n"}'

echo 'select chanid,starttime,seriesid  from recorded;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])' \
| perl -ane '{print "update recorded set seriesid = " . chr(39) . 
chr(39). " where chanid =  " . chr(39). "$F[0]" . chr(39). " and 
starttime = " . chr(39). "$F[1] $F[2]" . chr(39).  "; \n"}' |mysql -h 
garbo -umythtv -pmythtv mythconverg

echo after:
echo 'select chanid,starttime,seriesid  from recorded;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])' \
| perl -ane '{print "update recorded set seriesid = " . chr(39) . 
chr(39). " where chanid =  " . chr(39). "$F[0]" . chr(39). " and 
starttime = " . chr(39). "$F[1] $F[2]" . chr(39).  "; \n"}'


# program.ALL
echo program.all
echo 'select *  from program;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])'
# recorded.ALL
echo recorded.ALL
echo 'select *  from recorded;' \
|mysql -h garbo -umythtv -pmythtv mythconverg \
| perl -lne 'chomp;print $_ if m([\x00-\x08\x0a-\x1f])'






More information about the mythtvnz mailing list