[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