Jump to content

Standby - propozycja zmienszania prędkości procesora


Recommended Posts

Tak sobie testuję już kilka tygodni i wygląda na to, że najwięcej mocy procesora jest potrzebne gdy tuner wyświetla coś na telewizorze czyli prowadzi dekompresję strumienia.

Przy nagrywaniu i przy strumieniowaniu na inny tuner wszystko świetnie działa ze zmniejszoną o połowę prędkością procesora. Pożyczyłem sobie skrypty J00zka od obniżania prekości z modreate i wrzuciłem je po drobnych zmianach do folderów /etc/cron/standby_off i /etc/cron/standby_on.

poza zmianą prędkości, zmieniłem w skryptach nazwę pliku /tmp/CurrentSpeed na /tmp/CurrentSpeed_standby, bo były w konflikcie z moderate i tuner wstawał ze zmniejszoną prędkością z moderate. Jeszcze coś zmieniałem, ale po kilku tygodniach nie pamiętam :-(

 

A po co to wszystko, potrzebowałem, żeby przy uśpionym tunerze działała mi w drugim odbiorniku opcja "zapasowy drugi odbiornik" i żebym przy uśpieniu mógł sobie strumieniować na inny tuner.

 

/etc/cron/standby_off/10cpu_frequ:

#!/bin/sh

# Graterlia OS
# homepage: http://graterlia.xunil.pl
# e-mail: nbox@xunil.pl
#
# skrypt przywracająy częstotliwość pracy procesora
# @j00zek
# wersja 2014-12-15

. /etc/sysconfig/gfunctions #wczytanie funkcji wspólnych dla skryptów Graterlia
GOSdebug ">>>>>>>>>> $0"

##### MAIN #####
echo "Init">/dev/vfd
if [ -f /tmp/CurrentSpeed_standby ]; then
CurrentSpeed=`cat /tmp/CurrentSpeed_standby`
GOSdebug "Sending '$CurrentSpeed'>/proc/cpu_frequ/pll0_ndiv_mdiv"
echo "$CurrentSpeed">/proc/cpu_frequ/pll0_ndiv_mdiv
rm -f /tmp/CurrentSpeed_standby
        [ -f /etc/cron/minutely/ntpdate ] && rm -f /etc/cron/minutely/ntpdate
fi
GOSdebug "<<<<<<<<<< $0"

 

/etc/cron/standby_on/70cpu_frequ

#!/bin/sh

# Graterlia OS
# homepage: http://graterlia.xunil.pl
# e-mail: nbox@xunil.pl
#
# skrypt zmieniający częstotliwość pracy procesora
# @j00zek
# wersja 2014-12-12

. /etc/sysconfig/gfunctions #wczytanie funkcji wspólnych dla skryptów Graterlia
. /var/grun/grcstype

GOSdebug ">>>>>>>>>> $0"

#if [ "$rcstype" == "ArivaLink200" ]; then
#  GOSdebug "Tuner $rcstype does not support cpu_frequ well, exiting"
#  exit 0
#elif [ $rcstype == "ADB5800" ]; then
#  CurrentTime=`date +%s`
#  WakeupTime=0
#
#  if grep -q '<timer begin' </etc/enigma2/timers.xml;then
#    for e2time in `grep '<timer begin' </etc/enigma2/timers.xml | sed 's/^.*begin="\([1234567890]*\)" end.*$/\1/' | sort -n`
#    do
#      if [ $e2time -gt $CurrentTime ]; then
#        GOSdebug "Tuner $rcstype has recordings scheduled exiting"
#        exit 0
#      fi
#    done
#  fi
#fi

##### INICJALIZACJA #####
if [ ! -f /lib/modules/cpu_frequ.ko ]; then
opkg update; opkg install kernel-modules-cpufreq-gos #potrzebujemy do obnizenia predkosci CPU
fi

if [ ! -f /proc/cpu_frequ/pll0_ndiv_mdiv ]; then
insmod /lib/modules/cpu_frequ.ko
fi

[ -f /tmp/CurrentSpeed_standby ] && rm -f /tmp/CurrentSpeed_standby

if [ ! -f /proc/cpu_frequ/pll0_ndiv_mdiv ]; then
GOSdebug "cpu_frequ no loaded, exiting!"
exit 0
fi

CurrentSpeed=$((0x`cat /proc/cpu_frequ/pll0_ndiv_mdiv | grep CKGA_PLL0_CFG | awk '{print $3}' | tail -c 5`))
##### MAIN #####
if [ ! -z $CurrentSpeed ]; then
myFREQ=0
case $platform in
	7100|7109) myFREQ=3843;
	;;
esac
GOSdebug "stm$platform $CurrentSpeed > $myFREQ"
if [ $myFREQ -gt 0 ];then
	echo "$myFREQ">/proc/cpu_frequ/pll0_ndiv_mdiv
	echo "$CurrentSpeed">/tmp/CurrentSpeed_standby
fi
else
GOSdebug "CurrentSpeed='$CurrentSpeed' ?!?!?"
fi

-if [ $rcstype == "ADB5800" ]; then
  [ -f /etc/cron/minutely/ntpdate ] || cp -f /etc/cron/daily/ntpdate /etc/cron/minutely/ntpdate
-fi
GOSdebug "<<<<<<<<<< $0"

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...