On 2012-10-03, at 11:15 PM, Paul Onley <[email protected]> wrote:
> On 09/24/2012 01:18 PM, Peter Schneider wrote:
>>
>>> On 09/24/2012 10:59 AM, Peter Schneider wrote:
>>>>> On 09/24/2012 09:58 AM, Ken wrote:
>>>>>> On 9/17/12 3:52 AM, Paul Onley wrote:
>>>>>>> I'm having this same problem with my PVR-500 cards. I have tried all
>>>>>>> three of my cards and see the same symptoms on each. Once the card is
>>>>>>> recording it will do so forever without any problem but changing
>>>>>>> channels or starting a new recording I will frequently see the
>>>>>>>
>>>>>>> ivtv0: Encoder has died : ivtv_serialized_open
>>>>>>>
>>>>>>> error message. Sometimes the firmware will successfully reload but most
>>>>>>> often even if the driver think that the reload was successful the
>>>>>>> recording is blank or corrupt.
>>>>>>>
>>>>>>> I do not pretend to understand how the ivtv driver works or what causes
>>>>>>> this error message but is there any thing I can do to try to track down
>>>>>>> what is causing this?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Sep 17 02:03:01 Asthmatic kernel: [172462.936380] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_START_CAPTURE
>>>>>>> Sep 17 02:03:02 Asthmatic kernel: [172463.940049] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_START_CAPTURE)
>>>>>>> Sep 17 02:03:02 Asthmatic kernel: [172463.940058] ivtv0: warn: Error
>>>>>>> starting capture!
>>>>>>> Sep 17 02:03:02 Asthmatic kernel: [172463.940060] ivtv0: warn: Failed
>>>>>>> to start capturing for stream encoder MPG
>>>>>>> Sep 17 02:03:02 Asthmatic kernel: [172463.940066] ivtv0 encoder MPG:
>>>>>>> VIDIOC_ENCODER_CMD error -5
>>>>>>> Sep 17 02:03:02 Asthmatic kernel: [172463.946782] ivtv0: info: Start
>>>>>>> encoder stream encoder MPG
>>>>>>> Sep 17 02:03:02 Asthmatic kernel: [172463.946787] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_SET_DMA_BLOCK_SIZE
>>>>>>> Sep 17 02:03:02 Asthmatic kernel: [172463.946789] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_SET_VERT_CROP_LINE
>>>>>>> Sep 17 02:03:03 Asthmatic kernel: [172464.048525] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_SET_VERT_CROP_LINE)
>>>>>>> Sep 17 02:03:03 Asthmatic kernel: [172464.048530] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_MISC
>>>>>>> Sep 17 02:03:03 Asthmatic kernel: [172464.152046] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_MISC)
>>>>>>> Sep 17 02:03:03 Asthmatic kernel: [172464.152054] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_MISC
>>>>>>> Sep 17 02:03:03 Asthmatic kernel: [172464.256250] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_MISC)
>>>>>>> Sep 17 02:03:03 Asthmatic kernel: [172464.256255] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_MISC
>>>>>>> Sep 17 02:03:03 Asthmatic kernel: [172464.360213] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_MISC)
>>>>>>> Sep 17 02:03:03 Asthmatic kernel: [172464.360218] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_MISC
>>>>>>> Sep 17 02:03:03 Asthmatic kernel: [172464.464012] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_MISC)
>>>>>>> Sep 17 02:03:03 Asthmatic kernel: [172464.464017] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_SET_PLACEHOLDER
>>>>>>> Sep 17 02:03:03 Asthmatic kernel: [172464.464019] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_SET_NUM_VSYNC_LINES
>>>>>>> Sep 17 02:03:03 Asthmatic kernel: [172464.464020] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_SET_VBI_LINE
>>>>>>> Sep 17 02:03:04 Asthmatic kernel: [172465.470866] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_SET_VBI_LINE)
>>>>>>> Sep 17 02:03:04 Asthmatic kernel: [172465.500123] ivtv0: info: Setup
>>>>>>> VBI API header 0x0000bd03 pkts 1 buffs 4 ln 24 sz 1456
>>>>>>> Sep 17 02:03:04 Asthmatic kernel: [172465.500126] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_SET_VBI_CONFIG
>>>>>>> Sep 17 02:03:05 Asthmatic kernel: [172466.504011] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_SET_VBI_CONFIG)
>>>>>>> Sep 17 02:03:05 Asthmatic kernel: [172466.504017] ivtv0: info: Setup
>>>>>>> VBI start 0x00000004 frames 1 fpi 48387
>>>>>>> Sep 17 02:03:50 Asthmatic kernel: [172511.720056] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_SET_VBI_LINE
>>>>>>> Sep 17 02:03:51 Asthmatic kernel: [172512.724038] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_SET_VBI_LINE)
>>>>>>> Sep 17 02:03:51 Asthmatic kernel: [172512.724047] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_SET_PGM_INDEX_INFO
>>>>>>> Sep 17 02:03:51 Asthmatic kernel: [172512.832007] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_SET_PGM_INDEX_INFO)
>>>>>>> Sep 17 02:03:51 Asthmatic kernel: [172512.832013] ivtv0: info: PGM
>>>>>>> Index at 0x00000007 with 400 elements
>>>>>>> Sep 17 02:03:51 Asthmatic kernel: [172512.832015] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_SET_OUTPUT_PORT
>>>>>>> Sep 17 02:03:51 Asthmatic kernel: [172512.832017] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_SET_FRAME_RATE
>>>>>>> Sep 17 02:03:51 Asthmatic kernel: [172512.832019] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_SET_FRAME_SIZE
>>>>>>> Sep 17 02:03:51 Asthmatic kernel: [172512.832026] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_SET_STREAM_TYPE
>>>>>>> Sep 17 02:03:51 Asthmatic kernel: [172512.832027] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_SET_BIT_RATE
>>>>>>> Sep 17 02:03:51 Asthmatic kernel: [172512.832030] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_SET_AUDIO_PROPERTIES
>>>>>>> Sep 17 02:03:51 Asthmatic kernel: [172512.832032] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_MUTE_AUDIO
>>>>>>> Sep 17 02:03:52 Asthmatic kernel: [172513.840008] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_MUTE_AUDIO)
>>>>>>> Sep 17 02:03:53 Asthmatic kernel: [172514.144029] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_INITIALIZE_INPUT
>>>>>>> Sep 17 02:03:54 Asthmatic kernel: [172515.148039] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_INITIALIZE_INPUT)
>>>>>>> Sep 17 02:03:54 Asthmatic kernel: [172515.151925] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_START_CAPTURE
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.156036] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_START_CAPTURE)
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.156042] ivtv0: warn: Error
>>>>>>> starting capture!
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.156044] ivtv0: warn: Failed
>>>>>>> to start capturing for stream encoder MPG
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.156052] ivtv0: info: Could
>>>>>>> not start capture for encoder MPG (-5)
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.156346] ivtv0: file: open
>>>>>>> encoder MPG
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.156348] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_PING_FW
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.260259] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_PING_FW)
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.260265] ivtv0: Encoder has
>>>>>>> died : ivtv_serialized_open
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.260268] ivtv0: Detected in
>>>>>>> ivtv_serialized_open that firmware had failed - Reloading
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.260270] ivtv0: info:
>>>>>>> Preparing for firmware halt.
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.260272] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_HALT_FW
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.364014] ivtv0: warn: Could
>>>>>>> not get result (CX2341X_ENC_HALT_FW)
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.376011] ivtv0: info:
>>>>>>> Stopping VDM
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.376013] ivtv0: info:
>>>>>>> Stopping AO
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.376015] ivtv0: info: pinging
>>>>>>> (?) APU
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.376016] ivtv0: info:
>>>>>>> Stopping VPU
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.376017] ivtv0: info:
>>>>>>> Resetting Hw Blocks
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.376018] ivtv0: info:
>>>>>>> Stopping SPU
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.388013] ivtv0: info: init
>>>>>>> Encoder SDRAM pre-charge
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.388015] ivtv0: info: init
>>>>>>> Encoder SDRAM refresh to 1us
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.388017] ivtv0: info:
>>>>>>> Sleeping for 600ms
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172516.988030] ivtv0: info: Loading
>>>>>>> encoder image
>>>>>>> Sep 17 02:03:55 Asthmatic kernel: [172517.005545] ivtv0: Loaded
>>>>>>> v4l-cx2341x-enc.fw firmware (376836 bytes)
>>>>>>> Sep 17 02:03:56 Asthmatic kernel: [172517.208025] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_PING_FW
>>>>>>> Sep 17 02:03:56 Asthmatic kernel: [172517.210424] ivtv0: Firmware
>>>>>>> restart okay
>>>>>>> Sep 17 02:03:56 Asthmatic kernel: [172517.210426] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_PING_FW
>>>>>>> Sep 17 02:03:56 Asthmatic kernel: [172517.210495] ivtv0: mb: MB Call:
>>>>>>> CX2341X_ENC_MISC
>>>>>>> Sep 17 02:03:56 Asthmatic kernel: [172517.211340] ivtv0 encoder MPG:
>>>>>>> VIDIOC_QUERYCAP driver=ivtv, card=WinTV PVR 500 (unit #1),
>>>>>>> bus=PCI:0000:06:08.0, version=0x00030217, capabilities=0x01070051
>>>>>>> Sep 17 02:03:56 Asthmatic kernel: [172517.211348] ivtv0 encoder MPG:
>>>>>>> VIDIOC_QUERYCTRL id=0x980001, type=6, name=User Controls, min/max=0/0,
>>>>>>> step=0, default=0, flags=0x00000044
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> ivtv-users mailing list
>>>>>>> [email protected]
>>>>>>> http://ivtvdriver.org/mailman/listinfo/ivtv-users
>>>>>> I'm seeing the same problem. It started when I switched to MythTV 0.25.
>>>>>> I had a PVR-250 and a PVR-500. I originally thought the problem was
>>>>>> failing hardware and replaced the 500. The problem just jumped to the
>>>>>> 250. I have since put the 500 back and am now using a PVR-500 and a
>>>>>> HVR-2250. I just watch the logs for those messages and reboot soon after
>>>>>> they appear.
>>>>>>
>>>>>> _______________________________________________
>>>>>> ivtv-users mailing list
>>>>>> [email protected]
>>>>>> http://ivtvdriver.org/mailman/listinfo/ivtv-users
>>>>>>
>>>>> Thanks Ken,
>>>>>
>>>>> I have seen numerous posts about problems that include this error on the
>>>>> PVR-250,350 and 500 cards and many seem to agree that the problem is
>>>>> failing hardware. I have 3 PVR-500s and have tried all three and get the
>>>>> same error on all of them. I can also remove and reload the ivtv module
>>>>> and fix the problem in 30 seconds and get a perfect recording. In fact I
>>>>> have written a script that watches the syslog for the Encoder died
>>>>> message and reloads the ivtv module. My recordings are now all perfect
>>>>> although some are missing about 30 seconds from the beginning. I do not
>>>>> believe this is a hardware failure but do not know how to proceed with
>>>>> trouble shooting.
>>>>>
>>>>> I can say from looking at the logs that when the ivtv driver sees a
>>>>> problem with the firmware it tries to reload it. My script kills the
>>>>> backend, reloads the ivtv module and restarts the backend so I end up
>>>>> with a part A and B of the recording allowing me to see whether the
>>>>> reload was really necessary. While the ivtv module usually reports
>>>>> successfully reloading the firmware in reality more than half the time
>>>>> the A part of the recording which is started after ivtv reloads the
>>>>> firmware is corrupt and the B part after my script reloads the ivtv
>>>>> module is always fine.
>>>>>
>>>>> Paul
>>>>>
>>>>> _______________________________________________
>>>>> ivtv-users mailing list
>>>>> [email protected]
>>>>> http://ivtvdriver.org/mailman/listinfo/ivtv-users
>>>> Paul,
>>>>
>>>> Is the a way for you to post your script here or in a blog that you can
>>>> point us to?
>>>>
>>>> -Peter
>>>> _______________________________________________
>>>> ivtv-users mailing list
>>>> [email protected]
>>>> http://ivtvdriver.org/mailman/listinfo/ivtv-users
>>>>
>>> Hi Peter,
>>>
>>> Below is the script I use, as it is unloading and reload the ivtv module it
>>> must be run as root so use it with care( I call it from roots crontab every
>>> minute ). The script is admittedly a rather crude and heavy handed way to
>>> handle this problem and is certainly not to be considered a solution. It is
>>> more convenient than rebooting though. I am using a Debian system so you
>>> may need to adjust some of the commands such as restarting the syslog
>>> daemon and mythbackend depending on your distro.
>>>
>>> Paul
>>>
>>>
>>> ##########################################################
>>> #!/bin/bash
>>> #This script will automate the reloading of the ivtv modules. It is rather
>>> heavy handed but due to
>>> #issues with firmware failures in the ivtv module causing recording issues
>>> on my PVR-500 it was
>>> #my last resort to prevent failed recordings. Note that this script must be
>>> run as root in order to
>>> #be able to reload the ivtv module. As such it has full root privilege and
>>> should be used very
>>> #carefully. While it works as intended on my debian system I cannot
>>> guarantee it will work as
>>> #intended on your system. Please check all commands before using.
>>>
>>>
>>>
>>> #Cron jobs start on the minute and so do myth recordings so wait 15 seconds
>>> #for the problem to occur and be logged
>>> sleep 15
>>>
>>> #If we find an indication in the syslog that the ivtv driver has failed
>>> if grep "Encoder has died : ivtv_serialized_open" /var/log/syslog ; then
>>>
>>> #Kill both frontend and backend so that we can unload the ivtv module
>>>
>>> pkill mythfrontend
>>> pkill mythbackend
>>>
>>> #The ivtv module will not unload until the frontend and backend are
>>> stopped so
>>> #rather than sleep for some arbitrary ammount of time lets just try to
>>> unload
>>> #repeatedly until we succeed
>>>
>>> while ! /sbin/modprobe -vr ivtv ; do
>>>
>>> #Wait for a second
>>>
>>> sleep 1
>>> i=$(($i+1))
>>>
>>> #See if we have tried more than 15 times indicating there is a real
>>> problem
>>>
>>> if [ $i -gt 15 ];then
>>>
>>> #In which case return an exit value of 1
>>>
>>> exit 1
>>> fi
>>> #Otherwise try again
>>>
>>> done
>>>
>>> #Relax for a second
>>>
>>> sleep 1
>>>
>>> #And reload the ivtv module the debug level is so that when someone tells
>>> #me what to look for my logs should have everything
>>>
>>>
>>> /sbin/modprobe -v ivtv debug=127
>>>
>>>
>>> #We are moving the logfile to another file so that we can corelate the
>>> failures with
>>> #Logs. the new file name is syslog.restart.n so check to see if n exists
>>>
>>> i=0
>>> while [ -e /var/log/syslog.restart.$i ];do
>>>
>>> #and if so iterate until we find a good name
>>>
>>> i=$(($i+1))
>>> done
>>>
>>> #Save the syslog file
>>>
>>> mv /var/log/syslog /var/log/syslog.restart.$i
>>>
>>> #start a blank syslog
>>>
>>> touch /var/log/syslog
>>>
>>> #restart the syslog daemon
>>>
>>> /etc/init.d/rsyslog restart
>>>
>>> sleep 5
>>>
>>> #Restart the backend
>>>
>>> /etc/init.d/mythtv-backend restart
>>>
>>> fi
>>>
>>> _______________________________________________
>>> ivtv-users mailing list
>>> [email protected]
>>> http://ivtvdriver.org/mailman/listinfo/ivtv-users
>> Thanks Paul,
>>
>> I am running MythBuntu. I look forward to seeing what I can do with it.
>> This may resolve a few issues that have been plaguing me.
>>
>> -Peter
>> _______________________________________________
>> ivtv-users mailing list
>> [email protected]
>> http://ivtvdriver.org/mailman/listinfo/ivtv-users
>>
> I have another mythbox running under Debian Squeeze and it does not have this
> problem using the PVR-500 card. It is using kernel 2.6.32-5-686 and ivtv
> version 1.4.1. The box with this problem is running Debian Wheezy, kernel
> 3.2.0-3-amd64 and ivtv version 1.4.3. As I understand it ivtv is part of the
> kernel, so is it possible to build 1.4.1 against my 3.2.0-3-amd64 kernel and
> if so how would on go about removing 1.4.3 and using 1.4.1 instead?
>
> Also, is ivtv 1.4.1 missing anything in 1.4.3 that will break myth 0.25.2?
>
> _______________________________________________
> ivtv-users mailing list
> [email protected]
> http://ivtvdriver.org/mailman/listinfo/ivtv-users
Paul,
I modified your script a little to accommodate another error that has plagued
our home. The Jump error appears to be tied to ivtv as well but is reported in
the MythTV backend log so I added another IF statement to test for it.
##########################################################
#!/bin/bash
#This script will automate the reloading of the ivtv modules. It is rather
heavy handed but due to
#issues with firmware failures in the ivtv module causing recording issues on
my PVR-500 it was
#my last resort to prevent failed recordings. Note that this script must be run
as root in order to
#be able to reload the ivtv module. As such it has full root privilege and
should be used very
#carefully. While it works as intended on my debian system I cannot guarantee
it will work as
#intended on your system. Please check all commands before using.
#Cron jobs start on the minute and so do myth recordings so wait 15 seconds
#for the problem to occur and be logged
sleep 15
#If we find an indication in the syslog that the ivtv driver has failed
if grep "Encoder has died : ivtv_serialized_open" /var/log/syslog ; then
#Kill both frontend and backend so that we can unload the ivtv module
pkill mythfrontend
pkill mythbackend
#The ivtv module will not unload until the frontend and backend are stopped
so
#rather than sleep for some arbitrary ammount of time lets just try to unload
#repeatedly until we succeed
while ! /sbin/modprobe -vr ivtv ; do
#Wait for a second
sleep 1
i=$(($i+1))
#See if we have tried more than 15 times indicating there is a real
problem
if [ $i -gt 15 ];then
#In which case return an exit value of 1
exit 1
fi
#Otherwise try again
done
#Relax for a second
sleep 1
#And reload the ivtv module the debug level is so that when someone tells
#me what to look for my logs should have everything
/sbin/modprobe -v ivtv debug=127
#We are moving the logfile to another file so that we can corelate the
failures with
#Logs. the new file name is syslog.restart.n so check to see if n exists
i=0
while [ -e /var/log/syslog.restart.$i ];do
#and if so iterate until we find a good name
i=$(($i+1))
done
#Save the syslog file
mv /var/log/syslog /var/log/syslog.restart.$i
#start a blank syslog
touch /var/log/syslog
#restart the syslog daemon
/etc/init.d/rsyslog restart
sleep 5
#Restart the backend
/etc/init.d/mythtv-backend restart
echo "ivtv reset Successful: $(date)" >> /var/log/ivtv_reset.log
else
#If we find an indication in the mythbackend that the ivtv driver has failed
realted to "Jump"
if grep "E DeviceReadBuffer DeviceReadBuffer.cpp:513"
/var/log/mythtv/mythbackend.log ; then
/sbin/modprobe -r ivtv
sleep 5
#And reload the ivtv module with debug level
/sbin/modprobe -v ivtv debug=127
#We are moving the logfile to another file so that we can corelate the
failures with
#Logs. the new file name is syslog.restart.n so check to see if n exists
i=0
while [ -e /var/log/mythtv/mythbackend.restart.$i ];do
#and if so iterate until we find a good name
i=$(($i+1))
done
#Save the syslog file
mv /var/log/mythtv/mythbackend.log
/var/log/mythtv/mythbackend.restart.$i
#start a blank syslog
touch /var/log/mythtv/mythbackend.log
echo "ivtv reset on Jump failure Successful: $(date)" >>
/var/log/ivtv_reset.log
fi
fi
-Peter
_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users