<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
I am having issues with the PVR-500 (3 of them with identical
symptoms actually) that include a distorted picture and the "Error
opening jump program file buffer" problem. Could all of those in
this thread please check to see if there is a coinciding entry in
their syslog like <br>
<blockquote cite="mid:zarafa.505f6d96.0e89.5226d54416e9642b@zarafa"
type="cite">
<blockquote style="border-left: 2px solid #325FBA; padding-left:
5px;margin-left:5px;">
<div style="background-color: #FFFFFF; color: #000000; ">
<blockquote
cite="mid:zarafa.505f212b.1cb0.4712c94a4158f95f@zarafa"
type="cite">
<blockquote style="border-left: 2px solid #325FBA;
padding-left: 5px;margin-left:5px;">
<div style="background-color: #FFFFFF; color: #000000; "><font
color="black" face="Verdana,Arial,Helvetica"><font
color="black" face="Verdana,Arial,Helvetica"> <br>
ivtv0: Encoder has died : ivtv_serialized_open <br>
ivtv0: Detected in ivtv_serialized_open that
firmware had failed - Reloading <br>
<br>
<br>
</font></font></div>
</blockquote>
<p>Yes, I've got that in my syslog:</p>
<p> </p>
<p>Sep 23 15:45:53 nslin01 kernel: [194952.355339] ivtv0:
Encoder has died : ivtv_serialized_open</p>
<p>Sep 23 15:45:53 nslin01 kernel: [194952.355344] ivtv0:
Detected in ivtv_serialized_open that firmware had failed
- Reloading</p>
<p>Sep 23 15:45:54 nslin01 kernel: [194953.404361] ivtv0:
Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)</p>
<p>Sep 23 15:45:54 nslin01 kernel: [194953.470965] ivtv0:
Loaded v4l-cx2341x-dec.fw firmware (262144 bytes)</p>
<p> </p>
<p> </p>
<p>Although it coincides with a quick mplayer test that I
did which didn't show the picture distortion.</p>
<p> </p>
<p>Regards,</p>
<p>Dave.<br>
</p>
<br>
<br>
<pre wrap="">_______________________________________________ mythtv-users mailing list <a moz-do-not-send="true" href="mailto:mythtv-users@mythtv.org" onclick="parent.webclient.openWindow(this, 'createmail', 'index.php?load=dialog&task=createmail_standard&to=mythtv-users@mythtv.org'); return false;" target="_blank" title="This external link will open in a new window">mythtv-users@mythtv.org</a> <a moz-do-not-send="true" href="http://www.mythtv.org/mailman/listinfo/mythtv-users" target="_blank" title="This external link will open in a new window">http://www.mythtv.org/mailman/listinfo/mythtv-users</a> </pre>
</blockquote>
<br>
The last two lines indicate that the ivtv driver reloaded the
firmware successfully so ideally you should have had a good
picture. I have been watching the log file and when I see the
Encoder has died message about half the time the recording
will have a corrupt picture. The ivtv driver claimed to have
successfully reloaded the firmware but the picture say
otherwise. <br>
<br>
I have written a script to kill the backend, remove and reload
the ivtv module and restart the backend whenever I see the
Encoder has died message and this results in good recordings
(albeit with about 30 seconds missing at the begining) 100% of
the time. I have 3 pvr-500 cards and they all 'developed'
this problem when I upgraded my backend box to Debian Wheezy
and Myth 0.25. I suspect the ivtv driver is the problem but do
not know how to proceed from here. I have posted this issue to
the ivtv users list but there has been no response. If
everyone here in this thread is seeing the same error then how
about posting in my PVR-500 Problem thread so that ivtv knows
there is a reproducible problem and can maybe help us track it
down.<br>
<br>
Paul<br>
</div>
</blockquote>
<p>Hi Paul,</p>
<p> </p>
<p>I'll check my syslog next time I get a problem picture and see
if I get that error at that time.</p>
<p> </p>
<p>Excuse my ignorance, but how do I get on the ivtv mailing list
as I've never had the need before?</p>
<p> </p>
<p>Also, could you post your script as that would be an acceptable
short term fix for me.</p>
<p> </p>
<p>Regards,</p>
<p>Dave.<br>
</p>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
mythtv-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:mythtv-users@mythtv.org">mythtv-users@mythtv.org</a>
<a class="moz-txt-link-freetext" href="http://www.mythtv.org/mailman/listinfo/mythtv-users">http://www.mythtv.org/mailman/listinfo/mythtv-users</a>
</pre>
</blockquote>
First off you can find the ivtv list info at<br>
<a class="moz-txt-link-freetext"
href="http://ivtvdriver.org/mailman/listinfo/ivtv-users">http://ivtvdriver.org/mailman/listinfo/ivtv-users</a><br>
<br>
<br>
As far as my script, it is rather heavy handed and should be
considered a last resort. You could look at the thread that Mike
referenced, I tried work arounds listed and they did not fix my
problem but I found that manually removing and reloading the ivtv
module always worked so I automated it. The script must be run as
root, I call it from roots crontab every minute. It is also written
for a debian system, depending on your distro you may have to change
some of the commands like the one to restart the syslog daemon or
the backend. Remember that all commands in a cron job need to have
full paths so check that all the commands are in the same place on
your system as mine are. Also remember that if you have more than
one capture card and one is successfully recording when the second
has a problem killing the backend kills BOTH recordings. When the
backend restarts it will restart the killed recording but there will
be about a 30 gap missing between them.<br>
<br>
Remember, if this fixes your problem the PLEASE let the ivtv list
know that this is a reproducible problem that needs attention.<br>
<br>
Paul<br>
<br>
##########################################################<br>
#!/bin/bash<br>
#This script will automate the reloading of the ivtv modules. It is
rather heavy handed but due to <br>
#issues with firmware failures in the ivtv module causing recording
issues on my PVR-500 it was<br>
#my last resort to prevent failed recordings. Note that this script
must be run as root in order to<br>
#be able to reload the ivtv module. As such it has full root
privilege and should be used very<br>
#carefully. While it works as intended on my debian system I cannot
guarantee it will work as <br>
#intended on your system. Please check all commands before using.<br>
<br>
<br>
<br>
#Cron jobs start on the minute and so do myth recordings so wait 15
seconds<br>
#for the problem to occur and be logged<br>
sleep 15<br>
<br>
#If we find an indication in the syslog that the ivtv driver has
failed<br>
if grep "Encoder has died : ivtv_serialized_open" /var/log/syslog
; then<br>
<br>
#Kill both frontend and backend so that we can unload the
ivtv module <br>
<br>
pkill mythfrontend<br>
pkill mythbackend <br>
<br>
#The ivtv module will not unload until the frontend and backend
are stopped so<br>
#rather than sleep for some arbitrary ammount of time lets just
try to unload<br>
#repeatedly until we succeed <br>
<br>
while ! /sbin/modprobe -vr ivtv ; do<br>
<br>
#Wait for a second<br>
<br>
sleep 1<br>
i=$(($i+1))<br>
<br>
#See if we have tried more than 15 times indicating there is
a real problem<br>
<br>
if [ $i -gt 15 ];then<br>
<br>
#In which case return an exit value of 1<br>
<br>
exit 1<br>
fi<br>
#Otherwise try again<br>
<br>
done<br>
<br>
#Relax for a second<br>
<br>
sleep 1<br>
<br>
#And reload the ivtv module the debug level is so that when
someone tells <br>
#me what to look for my logs should have everything<br>
<br>
<br>
/sbin/modprobe -v ivtv debug=127<br>
<br>
<br>
#We are moving the logfile to another file so that we can
corelate the failures with <br>
#Logs. the new file name is syslog.restart.n so check to see if
n exists <br>
<br>
i=0<br>
while [ -e /var/log/syslog.restart.$i ];do<br>
<br>
#and if so iterate until we find a good name<br>
<br>
i=$(($i+1))<br>
done<br>
<br>
#Save the syslog file<br>
<br>
mv /var/log/syslog /var/log/syslog.restart.$i<br>
<br>
#start a blank syslog<br>
<br>
touch /var/log/syslog<br>
<br>
#restart the syslog daemon<br>
<br>
/etc/init.d/rsyslog restart<br>
<br>
sleep 5<br>
<br>
#Restart the backend<br>
<br>
/etc/init.d/mythtv-backend restart<br>
<br>
fi<br>
<br>
<br>
</body>
</html>