Foren
Neue Beiträge
Foren durchsuchen
Aktuelles
Neue Beiträge
Profilnachrichten
Neueste Aktivitäten
Mitglieder
Zurzeit aktive Besucher
Profilnachrichten
Profilnachrichten suchen
Login
Registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Neue Beiträge
Foren durchsuchen
Menü
Login
Registrieren
App installieren
Installieren
Foren
BIOS / Recovery / Betriebssysteme
Linux
Aspire One 756 - Lüftersteuerung möglich?
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Auf Thema antworten
Beitrag
<blockquote data-quote="vickoxy" data-source="post: 373016" data-attributes="member: 72751"><p>Hi,</p><p>ich entschuldige mich sofort für double/tripple Posting-aber vielleicht finde ich hier Hilfe. Habe ein Acer Aspire One 756 mit Celeron 847 gekauft- tolles Gerät für den Preis. Der Lüfter ist sehr leise, aber habe Gefühl, dass er trotzdem unnötig dauernd läuft. Deswegen hätte ich gerne eine Lüftersteuerung. Da aber AO756 ziemlich neu ist, funktionieren hier keine bisher bekannte Lösungen (acerfand, acerhdf, fancontrol...). Ich habe meine Frage noch hier veröffentlicht:</p><p><a href="http://forum.ubuntuusers.de/topic/fancontrol-acerfand-acer-ec-pl-acerhdf-fuer-as/" target="_blank">fancontrol/acerfand/acer_ec.pl/acerhdf für Aspire One 756 (AO756)? ? System einrichten und verwalten ? Forum ? ubuntuusers.de</a></p><p><a href="http://ubuntuforums.org/showthread.php?t=2050184" target="_blank">[xubuntu] fancontrol/acerfand/acer_ec.pl/acerhdf for Aspire One 756 (AO756)? - Ubuntu Forums</a></p><p></p><p>Falls es sich hier jemand gut mit Linux-Lüftersteuerung kennt-bitte um die Hilfe.</p><p>Derzeit versuche ich irgendwie die BIOS Version in acerfand einzutragen, aber es gelingt mir nicht:</p><p>[CODE]linux@linux:~$ sudo acerfand</p><p>/usr/local/bin/acerfand: Zeile 87: BIOS_VERSION_1.05=v1.05: Kommando nicht gefunden.</p><p>/usr/local/bin/acerfand: Zeile 132: Syntaxfehler beim unerwarteten Wort `"$BIOS_VERSION"'</p><p>/usr/local/bin/acerfand: Zeile 132: `case "$BIOS_VERSION" in'</p><p>[/CODE]</p><p></p><p>D.h.-habe keine Ahnung wie man V1.05 im bash Skript eintragen lässt:</p><p>[CODE]BIOS_VERSION_3305="v0.3305"</p><p>BIOS_VERSION_3309="v0.3309"</p><p>BIOS_VERSION_3310="v0.3310"</p><p>BIOS_VERSION_105="v1.05"</p><p>BIOS_VERSION_05="v1.05"</p><p>BIOS_VERSION1_05="v1.05"[/CODE]</p><p></p><p>Hier ganze acerfand Datei:</p><p>[CODE]#!/bin/bash</p><p>#</p><p># acerfand - Rudimentary automatic fan control for noisy Acer Aspire One models</p><p>#</p><p># Author Rachel Greenham</p><p>#</p><p>ACERFAND_VERSION="0.07"</p><p># version 0.07 (2009-03-14)</p><p>#</p><p># This program is free software; you can redistribute it and/or</p><p># modify it under the terms of the GNU General Public License</p><p># as published by the Free Software Foundation; either version 3</p><p># of the License, or (at your option) any later version.</p><p>#</p><p># This program is distributed in the hope that it will be useful,</p><p># but WITHOUT ANY WARRANTY; without even the implied warranty of</p><p># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</p><p># GNU General Public License for more details.</p><p># </p><p># You should have received a copy of the GNU General Public License</p><p># along with this program; if not, write to the Free Software</p><p># Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</p><p>#</p><p>#</p><p># Changelog:</p><p># 0.07 - change fan-raw-state setting for 3309. may fix people's issues</p><p># i didn't have same issues but did find it repeatedly switching fan off unnecessarily</p><p># because it was misdetecting the fan state, and which was logging and keeping my hard drive alive.</p><p># 0.06.1 - experimental limited release with different fan-off controls for 3309.</p><p># 0.06 - getBiosVersion before reading acerfand.conf, to allow user to force version</p><p># 0.05 - Regognise bios 3309 and autoselect as default</p><p># 0.04 - Recognise bios 3305</p><p># 0.03 - Recognise bios 3109</p><p># 0.02 - Added support for recognising bios version and selecting ec reg values accordingly</p><p># 0.01 - Initial version, no bios checking, works on <=v0.3114</p><p></p><p></p><p>LOGGER=$(which logger)</p><p>if [ ! -x $LOGGER ] ; then</p><p> LOGGER="/usr/bin/logger"</p><p>fi</p><p>if [ ! -x $LOGGER ] ; then</p><p> echo "Warning, logger can't be found. Will log to stdout"</p><p> unset LOGGER</p><p>fi</p><p></p><p>LOGLEVEL="info"</p><p></p><p>log() {</p><p> if [ ! -z "$LOGGER" ] ; then</p><p> $LOGGER -p daemon.$LOGLEVEL -t acerfand "$@"</p><p> else</p><p> echo "$@"</p><p> fi</p><p>}</p><p></p><p>info() {</p><p> LOGLEVEL="info"</p><p> log "$@"</p><p>}</p><p></p><p>notice() {</p><p> LOGLEVEL="notice"</p><p># log "$@"</p><p>}</p><p></p><p>err() {</p><p> LOGLEVEL="err"</p><p> log "$@"</p><p>}</p><p></p><p>info "acerfand $ACERFAND_VERSION starting"</p><p></p><p>if pgrep acerfand | grep -v $$ > /dev/null; then</p><p> info "acerfand already running"</p><p> exit 0</p><p>fi</p><p></p><p>ME=$(readlink -f $0)</p><p></p><p>BIOS_VERSION_3109="v0.3109"</p><p>BIOS_VERSION_3114="v0.3114"</p><p>BIOS_VERSION_3304="v0.3304"</p><p>BIOS_VERSION_3305="v0.3305"</p><p>BIOS_VERSION_3309="v0.3309"</p><p>BIOS_VERSION_3310="v0.3310"</p><p>BIOS_VERSION_105="v1.05"</p><p>BIOS_VERSION_05="v1.05"</p><p>BIOS_VERSION1_05="v1.05"</p><p>BIOS_VERSION_DEFAULT=$BIOS_VERSION1_05</p><p>getBiosVersion() {</p><p> DMIDECODE=$(which dmidecode)</p><p> if [ -z $DMIDECODE ] ; then</p><p> info "Can't find dmidecode. Assuming bios $BIOS_VERSION_DEFAULT"</p><p> BIOS_VERSION=$BIOS_VERSION_DEFAULT</p><p> else</p><p> BIOS_VERSION=$($DMIDECODE -s bios-version)</p><p> info "Detected bios version $BIOS_VERSION"</p><p> fi</p><p>}</p><p></p><p>ACEREC=$(which acer_ec.pl)</p><p>if [ -z $ACEREC ] ; then</p><p> ACEREC=$(dirname $ME)/acer_ec.pl</p><p>fi</p><p></p><p>if [ ! -r $ACEREC ] ; then</p><p> err "acer_ec.pl can't be found"</p><p> exit 1</p><p>fi</p><p></p><p>INTERVAL=5</p><p>FANOFF=60</p><p>FANAUTO=70</p><p></p><p>getBiosVersion</p><p></p><p>if [ -r "/etc/acerfand.conf" ] ; then</p><p> source "/etc/acerfand.conf"</p><p>fi</p><p></p><p>case "$BIOS_VERSION" in</p><p> "${BIOS_VERSION_3309}")</p><p> #change: handle 3309 seperate 0xAF -> 0x21</p><p> R_FAN=55</p><p> R_TEMP=58</p><p> FAN_CMD_OFF=21</p><p> FAN_CMD_AUTO=00</p><p> RAW_FAN_STATE_OFF="0x21"</p><p> ;;</p><p></p><p>case "$BIOS_VERSION" in</p><p> "${BIOS_VERSION_0_05}")</p><p> #change: handle 1.05 seperate 0xAF -> 0x21</p><p> R_FAN=55</p><p> R_TEMP=58</p><p> FAN_CMD_OFF=21</p><p> FAN_CMD_AUTO=00</p><p> RAW_FAN_STATE_OFF="0x21"</p><p> ;; </p><p> "${BIOS_VERSION_3304}" | "${BIOS_VERSION_3305}" )</p><p> R_FAN=55</p><p> R_TEMP=58</p><p> FAN_CMD_OFF=af</p><p> FAN_CMD_AUTO=00</p><p> RAW_FAN_STATE_OFF="0xaf"</p><p> ;;</p><p> "${BIOS_VERSION_3114}" | "${BIOS_VERSION_3109}")</p><p> R_FAN=55</p><p> R_TEMP=58</p><p> FAN_CMD_OFF=1f</p><p> FAN_CMD_AUTO=00</p><p> RAW_FAN_STATE_OFF="0x1f"</p><p> ;;</p><p> *)</p><p> err "Unsupported bios version ${BIOS_VERSION} found. Aborting."</p><p> exit 1</p><p> ;;</p><p>esac</p><p></p><p>FAN_STATE_UNRECOGNIZED=0</p><p>FAN_STATE_AUTO=1</p><p>FAN_STATE_OFF=2</p><p>FAN_STATE_NAMES=("Unrecognized" "Auto" "Off")</p><p>FAN_STATE_CMDS=("$FAN_CMD_OFF" "$FAN_CMD_AUTO" "$FAN_CMD_OFF")</p><p></p><p>acer_ec() {</p><p> perl $ACEREC $@</p><p>}</p><p></p><p>getTemp() {</p><p> TEMP=$[$(acer_ec ?= $R_TEMP | cut -f 3 -d' ')]</p><p> notice "temp: $TEMP"</p><p>}</p><p></p><p>getRawFanState() {</p><p> RAW_FAN_STATE=$(acer_ec ?= $R_FAN | cut -f 3 -d' ')</p><p>}</p><p></p><p>getFanState() {</p><p> FAN_STATE=$FAN_STATE_UNRECOGNIZED</p><p> getRawFanState</p><p> if [ "$RAW_FAN_STATE" == "$RAW_FAN_STATE_OFF" ]; then</p><p> FAN_STATE=$FAN_STATE_OFF</p><p> else</p><p> let A="$RAW_FAN_STATE & 0x10" || true</p><p> if [ "$A == 0" ] ; then</p><p> # ASSUMPTION: All values with nybble 1==0 denote auto</p><p> FAN_STATE=$FAN_STATE_AUTO</p><p> fi</p><p> fi</p><p> notice "read fan state ${FAN_STATE_NAMES[$FAN_STATE]}"</p><p>}</p><p></p><p>setFan() {</p><p> info "Set fan ${FAN_STATE_NAMES[$1]}"</p><p> acer_ec := $R_FAN ${FAN_STATE_CMDS[$1]} > /dev/null</p><p>}</p><p></p><p>govern() {</p><p>trap "info exiting;setFan $FAN_STATE_AUTO; exit" INT TERM EXIT</p><p>info "Starting to govern acer fan speed. Interval: $INTERVAL, fan-off: $FANOFF, fan-auto: $FANAUTO"</p><p>while true; do</p><p> getTemp</p><p> getFanState</p><p># info "Raw fan state: $RAW_FAN_STATE ; fan state: $FAN_STATE ; auto: $FAN_STATE_AUTO ; off: $FAN_STATE_OFF ; temp: $TEMP ; autotemp: $FANAUTO"</p><p> case "$FAN_STATE" in</p><p> $FAN_STATE_AUTO)</p><p> if [ "$TEMP" -le "$FANOFF" ] ; then</p><p> setFan $FAN_STATE_OFF</p><p> fi</p><p> ;;</p><p> $FAN_STATE_OFF)</p><p> if [ "$TEMP" -ge "$FANAUTO" ] ; then</p><p> setFan $FAN_STATE_AUTO</p><p> fi</p><p> ;;</p><p> *)</p><p> # weird state. Let's turn it off,</p><p> # then decide next time around</p><p> info "Unexpected fan state $FAN_STATE"</p><p> setFan $FAN_STATE_OFF</p><p> ;;</p><p> esac</p><p> sleep $INTERVAL</p><p>done</p><p>}</p><p></p><p>set -e</p><p></p><p>govern &</p><p></p><p>[/CODE]</p><p></p><p>Wäre dankbar für jede Hilfe!</p></blockquote><p></p>
[QUOTE="vickoxy, post: 373016, member: 72751"] Hi, ich entschuldige mich sofort für double/tripple Posting-aber vielleicht finde ich hier Hilfe. Habe ein Acer Aspire One 756 mit Celeron 847 gekauft- tolles Gerät für den Preis. Der Lüfter ist sehr leise, aber habe Gefühl, dass er trotzdem unnötig dauernd läuft. Deswegen hätte ich gerne eine Lüftersteuerung. Da aber AO756 ziemlich neu ist, funktionieren hier keine bisher bekannte Lösungen (acerfand, acerhdf, fancontrol...). Ich habe meine Frage noch hier veröffentlicht: [url=http://forum.ubuntuusers.de/topic/fancontrol-acerfand-acer-ec-pl-acerhdf-fuer-as/]fancontrol/acerfand/acer_ec.pl/acerhdf für Aspire One 756 (AO756)? ? System einrichten und verwalten ? Forum ? ubuntuusers.de[/url] [url=http://ubuntuforums.org/showthread.php?t=2050184][xubuntu] fancontrol/acerfand/acer_ec.pl/acerhdf for Aspire One 756 (AO756)? - Ubuntu Forums[/url] Falls es sich hier jemand gut mit Linux-Lüftersteuerung kennt-bitte um die Hilfe. Derzeit versuche ich irgendwie die BIOS Version in acerfand einzutragen, aber es gelingt mir nicht: [CODE]linux@linux:~$ sudo acerfand /usr/local/bin/acerfand: Zeile 87: BIOS_VERSION_1.05=v1.05: Kommando nicht gefunden. /usr/local/bin/acerfand: Zeile 132: Syntaxfehler beim unerwarteten Wort `"$BIOS_VERSION"' /usr/local/bin/acerfand: Zeile 132: `case "$BIOS_VERSION" in' [/CODE] D.h.-habe keine Ahnung wie man V1.05 im bash Skript eintragen lässt: [CODE]BIOS_VERSION_3305="v0.3305" BIOS_VERSION_3309="v0.3309" BIOS_VERSION_3310="v0.3310" BIOS_VERSION_105="v1.05" BIOS_VERSION_05="v1.05" BIOS_VERSION1_05="v1.05"[/CODE] Hier ganze acerfand Datei: [CODE]#!/bin/bash # # acerfand - Rudimentary automatic fan control for noisy Acer Aspire One models # # Author Rachel Greenham # ACERFAND_VERSION="0.07" # version 0.07 (2009-03-14) # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 3 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # # Changelog: # 0.07 - change fan-raw-state setting for 3309. may fix people's issues # i didn't have same issues but did find it repeatedly switching fan off unnecessarily # because it was misdetecting the fan state, and which was logging and keeping my hard drive alive. # 0.06.1 - experimental limited release with different fan-off controls for 3309. # 0.06 - getBiosVersion before reading acerfand.conf, to allow user to force version # 0.05 - Regognise bios 3309 and autoselect as default # 0.04 - Recognise bios 3305 # 0.03 - Recognise bios 3109 # 0.02 - Added support for recognising bios version and selecting ec reg values accordingly # 0.01 - Initial version, no bios checking, works on <=v0.3114 LOGGER=$(which logger) if [ ! -x $LOGGER ] ; then LOGGER="/usr/bin/logger" fi if [ ! -x $LOGGER ] ; then echo "Warning, logger can't be found. Will log to stdout" unset LOGGER fi LOGLEVEL="info" log() { if [ ! -z "$LOGGER" ] ; then $LOGGER -p daemon.$LOGLEVEL -t acerfand "$@" else echo "$@" fi } info() { LOGLEVEL="info" log "$@" } notice() { LOGLEVEL="notice" # log "$@" } err() { LOGLEVEL="err" log "$@" } info "acerfand $ACERFAND_VERSION starting" if pgrep acerfand | grep -v $$ > /dev/null; then info "acerfand already running" exit 0 fi ME=$(readlink -f $0) BIOS_VERSION_3109="v0.3109" BIOS_VERSION_3114="v0.3114" BIOS_VERSION_3304="v0.3304" BIOS_VERSION_3305="v0.3305" BIOS_VERSION_3309="v0.3309" BIOS_VERSION_3310="v0.3310" BIOS_VERSION_105="v1.05" BIOS_VERSION_05="v1.05" BIOS_VERSION1_05="v1.05" BIOS_VERSION_DEFAULT=$BIOS_VERSION1_05 getBiosVersion() { DMIDECODE=$(which dmidecode) if [ -z $DMIDECODE ] ; then info "Can't find dmidecode. Assuming bios $BIOS_VERSION_DEFAULT" BIOS_VERSION=$BIOS_VERSION_DEFAULT else BIOS_VERSION=$($DMIDECODE -s bios-version) info "Detected bios version $BIOS_VERSION" fi } ACEREC=$(which acer_ec.pl) if [ -z $ACEREC ] ; then ACEREC=$(dirname $ME)/acer_ec.pl fi if [ ! -r $ACEREC ] ; then err "acer_ec.pl can't be found" exit 1 fi INTERVAL=5 FANOFF=60 FANAUTO=70 getBiosVersion if [ -r "/etc/acerfand.conf" ] ; then source "/etc/acerfand.conf" fi case "$BIOS_VERSION" in "${BIOS_VERSION_3309}") #change: handle 3309 seperate 0xAF -> 0x21 R_FAN=55 R_TEMP=58 FAN_CMD_OFF=21 FAN_CMD_AUTO=00 RAW_FAN_STATE_OFF="0x21" ;; case "$BIOS_VERSION" in "${BIOS_VERSION_0_05}") #change: handle 1.05 seperate 0xAF -> 0x21 R_FAN=55 R_TEMP=58 FAN_CMD_OFF=21 FAN_CMD_AUTO=00 RAW_FAN_STATE_OFF="0x21" ;; "${BIOS_VERSION_3304}" | "${BIOS_VERSION_3305}" ) R_FAN=55 R_TEMP=58 FAN_CMD_OFF=af FAN_CMD_AUTO=00 RAW_FAN_STATE_OFF="0xaf" ;; "${BIOS_VERSION_3114}" | "${BIOS_VERSION_3109}") R_FAN=55 R_TEMP=58 FAN_CMD_OFF=1f FAN_CMD_AUTO=00 RAW_FAN_STATE_OFF="0x1f" ;; *) err "Unsupported bios version ${BIOS_VERSION} found. Aborting." exit 1 ;; esac FAN_STATE_UNRECOGNIZED=0 FAN_STATE_AUTO=1 FAN_STATE_OFF=2 FAN_STATE_NAMES=("Unrecognized" "Auto" "Off") FAN_STATE_CMDS=("$FAN_CMD_OFF" "$FAN_CMD_AUTO" "$FAN_CMD_OFF") acer_ec() { perl $ACEREC $@ } getTemp() { TEMP=$[$(acer_ec ?= $R_TEMP | cut -f 3 -d' ')] notice "temp: $TEMP" } getRawFanState() { RAW_FAN_STATE=$(acer_ec ?= $R_FAN | cut -f 3 -d' ') } getFanState() { FAN_STATE=$FAN_STATE_UNRECOGNIZED getRawFanState if [ "$RAW_FAN_STATE" == "$RAW_FAN_STATE_OFF" ]; then FAN_STATE=$FAN_STATE_OFF else let A="$RAW_FAN_STATE & 0x10" || true if [ "$A == 0" ] ; then # ASSUMPTION: All values with nybble 1==0 denote auto FAN_STATE=$FAN_STATE_AUTO fi fi notice "read fan state ${FAN_STATE_NAMES[$FAN_STATE]}" } setFan() { info "Set fan ${FAN_STATE_NAMES[$1]}" acer_ec := $R_FAN ${FAN_STATE_CMDS[$1]} > /dev/null } govern() { trap "info exiting;setFan $FAN_STATE_AUTO; exit" INT TERM EXIT info "Starting to govern acer fan speed. Interval: $INTERVAL, fan-off: $FANOFF, fan-auto: $FANAUTO" while true; do getTemp getFanState # info "Raw fan state: $RAW_FAN_STATE ; fan state: $FAN_STATE ; auto: $FAN_STATE_AUTO ; off: $FAN_STATE_OFF ; temp: $TEMP ; autotemp: $FANAUTO" case "$FAN_STATE" in $FAN_STATE_AUTO) if [ "$TEMP" -le "$FANOFF" ] ; then setFan $FAN_STATE_OFF fi ;; $FAN_STATE_OFF) if [ "$TEMP" -ge "$FANAUTO" ] ; then setFan $FAN_STATE_AUTO fi ;; *) # weird state. Let's turn it off, # then decide next time around info "Unexpected fan state $FAN_STATE" setFan $FAN_STATE_OFF ;; esac sleep $INTERVAL done } set -e govern & [/CODE] Wäre dankbar für jede Hilfe! [/QUOTE]
Authentifizierung
Antworten
Foren
BIOS / Recovery / Betriebssysteme
Linux
Aspire One 756 - Lüftersteuerung möglich?
Oben