[mythtv-users] HDPVR Kernel module reload as power cycle

David Asher david at teamasher.net
Sat Dec 8 16:24:23 UTC 2012


On Dec 8, 2012, at 10:55 AM, Steven Adeff <adeffs.mythtv at gmail.com> wrote:

> On Tue, Dec 4, 2012 at 12:26 PM, Michael <mythtv at blandford.net> wrote:
>> On 11/30/2012 09:33 AM, Steven Adeff wrote:
>>> from the wiki,
>>> "If you still experience problems with stability, a small kernel
>>> module re-load script is included below in the Bitrate and Picture
>>> Controls sub section that re-loads the kernel modules and acts like a
>>> power cycle on the HD-PVR." -
>>> http://www.mythtv.org/wiki/Hauppauge_HD-PVR#Firmware_Version_Stability
>>> 
>>> Is this correct, that reloading the kernel module for the hdpvr acts
>>> as a power cycle negating the need for the user to physically power
>>> cycle the device?
>>> 
>>> If so, has anyone figured out a way to initiate a module reload at a
>>> time where MythTV won't be using any attached HDPVR devices?
>>> 
>> 
>> Here is what I use to see if my hdpvrs are in use and if not, power down my
>> satellite receiver.  You could probably modify it to do what you want.
>> 
>> !/bin/bash
>> export PATH=/usr/bin
>> MYTHWEBURL=http://<url>/mythweb/status
>> 
>> wget -O - --quiet $MYTHWEBURL | grep HDPVR | \
>> while read line; do
>>        dish=`echo $line | sed -e 's/.*hdpvr\([0-9]\).*/\1/'`
>>        if `echo $line | grep --quiet 'and is not recording'`; then
>>                echo "Powering off directv-${dish}"
>>                /usr/local/bin/directv-${dish} off
>>        else
>>                echo "directv-${dish} is busy"
>>        fi
>> done
> 
> This system has two hdpvr's so I have to check for the status of both
> before power-cycling by reloading the driver.
> 
> Here's what I put together,
> hdpvr_check.sh
> -------------------------
> #!/bin/bash
> #export PATH=/usr/bin
> 
> ## mythweb url, should work as long as the script is being run on the
> same system as mythweb and apache
> MYTHWEBURL=http://localhost/mythweb/status
> ## if your mythweb is password protected enter your username and password here
> MYTHWEBUSER=mythweb
> MYTHWEBPASSWORD=c00ldvr
> ## to limit the time the script will run, place your hour limits here
> ### in 24h format (ie 1pm=13)
> MINHR=2
> MAXHR=6
> 
> ## don't touch these!
> STATUS=1
> TIME=`date +%H`
> TODAY=`date +%F`
> 
> ## Let's sart!
> echo "Hour: " $TIME
> if [ "$TIME" -ge "$MINHR" -a "$TIME" -lt "$MAXHR" ]
> then
> 		echo "Clear to run at this time!"
> 
> 		wget -O - --quiet --user=$MYTHWEBUSER --password=$MYTHWEBPASSWORD
> $MYTHWEBURL | grep HDPVR | \
> 		while read line; do
> 			device=`echo $line | sed -e 's/.*Encoder \([0-9]\).*/\1/'`
> 			if `echo $line | grep --quiet 'and is recording'`; then
> 				echo "however, HDPVR ${device} is busy, we will wait"
> 				STATUS=2
> 			else
> 				echo "HDPVR ${device} is not being used"
> 			fi
> 		done
> 
> 		if [ "$STATUS" -eq "2" ]
> 			then
> 			echo "no devices are in use!"
> 			echo "reloading driver for HDPVR devices..."
> 			#/usr/local/bin/hdpvr_powercycle.sh
> 			export HDPVRRESET=$TODAY
> 		else
> 			echo "an HDPVR is in use, we won't run at this time"
> 		fi
> else
> 	echo "Wrong time! We won't run now..."
> 	export HDPVRRESET=0
> fi
> -------------------------

<stuff removed>

I think you meant to compare STATUS to "1" (or ne "2").  Your loop sets STATUS to "2" when an HD-PVR is recording.

David.





More information about the mythtv-users mailing list