Execute these lines in a terminal in the directory you downloaded the above scripts:
chmod a+x acerfand
sudo cp acer_ec.pl acerfand /usr/local/bin/
To run it straight away:
sudo acerfand
To run it at boot:
In Ubuntu:
gksu gedit /etc/rc.local
Insert the following line above the “exit 0” at the bottom:
/usr/local/bin/acerfand
In Linpus Linux Lite: (default Aspire One installation)
As root :
vi /etc/rc.local
Press i to switch to INSERT mode and add the following line at the bottom :
/usr/local/bin/acerfand
Press Esc and type :wq
to save and quit
Optionally create an /etc/acerfand.conf file. The file is just a shell script that sets up to three values. eg:
INTERVAL=5
FANOFF=60
FANAUTO=70
Those are the default values, if the /etc/acerfand.conf file isn’t found.
INTERVAL is the polling interval in seconds
FANOFF is the temperature at or below which to turn the fan off, if it’s currently on auto
FANAUTO is the temperature at or above which to turn the fan to auto, if it’s currently off.
==========
Read all registers:
sudo perl acer_ec.pl regs
sudo perl acer_ec.pl regs > test.txt
Read one register:
# 51 is the address of the register in hexadecimal
sudo perl acer_ec.pl ?= 51
Write value to one register:
# 51 is the address in hexadecimal of the register to be written, and 0 is the value to write, also in hexadecimal.
sudo perl acer_ec.pl := 51 0
Convenient commandline to monitor the temperature. (Register 58 is thought to be CPU temperature, in degrees C):
This also assumes you’re already root and have made acer_ec.pl executable. eg:
# Become root
sudo su -
# Make the script executable
chmod a+x acer_ec.pl
# Read the temperature and display in decimal every 2 seconds
watch -n 2 'echo Temp: $[$(./acer_ec.pl ?= 58 | cut -f 3 -d" ")] C'
NB: For this to work, /bin/sh must invoke bash. Usually /bin/sh is a symlink to /bin/bash, but in Ubuntu this is not the default, and as a result the conversion of the temperature from hexadecimal to decimal won’t occur.
To change /bin/sh to point to /bin/bash, on Ubuntu, as root:
ln -sfn /bin/bash /bin/sh