[mythtv-users] Problems with FireWire recording

William Munson william_munson at comcast.net
Sun Mar 16 20:46:50 UTC 2008


Jason wrote:
> Hi,
>
> I'm using a 0.21 setup with a dedicated backend that has a DCH-3200 attached 
> via firewire.  The firewire drivers are those included with 
> 2.6.18-53.1.13.el5 on my Centos-5.1 system.  Modinfo for raw1394 doesn't 
> report a version other than the kernel version.  This is all on a x86_64 
> system.
>
> Occasionally, my firewire connection to the DCH-3200 goes nuts and needs to 
> be reset.  I'm OK with that, I guess, as doesn't seem to be an uncommon 
> problem and searching on the Gossamer archives seems to indicate it might be 
> a problem with the Linux firewire driver.
>
> The problem I do have is the fact that myth gets all retarded about the 
> situation and I get an hour's worth of logs saying that it hasn't received 
> any input every 50 msec.  (In the example below, I was testing disabled 
> resets, but the behavior is the same with it enabled.)  I'm glad that it 
> keeps trying, but there's a point where I'd just like it to give up, 
> reschedule the recording and move on.  From what I've seen on my system, it 
> will record other programs on other channels later, so somehow things 
> recover.
>
> Is there a way I can help Myth get through all the stages of grief to accept 
> that the firewire connection is just plain gone and it should give up on 
> this recording?  I've tried with reset enabled and disabled and that didn't 
> help.
>
> Should I be using a custom channel change script that performs some mojo 
> before returning?  I've read lots of reference to that, but I saw some notes 
> that said those weren't going to be necessary for 0.21.
>
> Also, I don't believe that the program I was trying to record had the 5C 
> flag set.  It did the same thing at midnight last night, but I was able to 
> catch it and powercycle the box, etc., and rescue 55 minutes of the program 
> successfully.
>
> Thanks!
> Jason
>
>   

There are problems with the kernel module code that handle node changes. 
Not sure about recompiling the kernel to enable the old firewire stack 
it probably would help. What has worked well for me is to use a external 
channel change script that stabilizes the connection then changes 
channel. So far it has been solid for a couple of weeks now, about 40 
recordings. My script is specific to my setup however I have posted it 
for reference sake.

-----------------------------
###### dct channel changer
#!/bin/bash

# Note: All paths are specific to my installation. The user running this 
script must have passwordless sudo enabled
#  or the script will fail silently.
# Also required are a compiled and working copy of firewire_tester and 
6200ch and to have plugreport working.
#
# Initialize
LOG=/var/log/mythtv/dct6200ch.log
LOG2=/dev/null

GUID="0x001aadfffe35b2e4"

# Redirect stdout and stderr to log file
exec 1>>$LOG
exec 2>>$LOG2
echo "------------------"
echo "Start time: `date`"

#get plugreport and save into file location you have write access to.
sudo /usr/bin/plugreport > /storage/temp/plugreport.txt
echo "Plugreport gotten"

NODE=`grep $GUID /storage/temp/plugreport.txt | awk '{if (($1 == "Node") 
&& ($4 == "'$GUID'")) print $2}'`
echo "Node: '$NODE'"
sudo /usr/bin/firewire_tester -B -P 0 -n $NODE

# Clean up
echo "cleaning up."
sudo rm /storage/temp/plugreport.txt
echo "Changing Channel to: $1"
sudo  /usr/bin/6200ch -g $GUID $1
echo "Finish time: `date`"

# Redirect stdout and stderr to display
exec 1>&-
exec 2>&-

-------------------------------



More information about the mythtv-users mailing list