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

Reply via email to