Skocz do zawartości

Standby - propozycja zmienszania prędkości procesora


robert_cz

Rekomendowane odpowiedzi

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"

 

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...