eeepc-linux – overclockare Eee PC 701

eeepc-linux: questo adorabile pezzo di codice permette di portare la frequenza del processore dell’Eee PC a quella nominale, ossia 900MHz e vi assicuro che ne vale la pena! Permette inoltre di giocare con la velocità della ventola a piacimento, si intende che se qualcuno la spegne e brucia il processore non mi ritenga responsabile!

Installarlo su Arch è diventato meno banale da quando qualcuno ha smesso di aggiornare il pacchetto ufficiale.

Questa guida è per chi volesse provare l’ebrezza della velocità continuando ad usare il kernel stock di Arch Linux o ha deciso, come me, di farsi un kernel per conto suo e quindi deve ricompilare tutto il cucuzzaro ^_^

Per i sani di mente, consiglio di adoperare il kernel per Eee PC 701 che si trova in [edgy], fate riferimento alla guida all’installazione che ho faticosamente scritto qualche post fa!

Per gli altri, all’attacco! Da AUR, o tramite l’ottimo “yaourt”si possono reperire i file necessari:

yaourt -G eeepc-linux

Vengono creati questi file:

eeepc-linux.install

PKGBUILD

Con il comando makepkg verranno automaticamente tirati giù i sorgenti e inizierà la compilazione, che fallirà per due semplici motivi:

1) Non state usando il kernel stock (2.6.x-ARCH per intenderci)

2) Ci sono delle leggere modifiche da fare al sorgente

Il primo problema si risolve creando un link simbolico dalla cartella dei moduli del kernel che state usando a quella de sorgenti del kernel, da chiamare “build”:

ln -s /path/dei/sorgenti /lib/nome-del-kernel/build

Se non avete i sorgenti del vostro kernel perchè ad esempio avete installato e state usando quello di toofishes, NON dovreste riuscire ugualmente a far andare il tutto usando la cartella di quello stock, che è /usr/src/linux-2.6.26-ARCH. (grazie Aurox che mi segnala che così facendo si ottiene la compilazione ma il modulo non viene caricato nel kernel).

Il secondo problema invece si risolve entrando, dalla cartella in cui si sono salvati i due file di prima, in src/eeepc-linux/module. Adesso aprite il file eee.c e sostituite la stringa “&proc_root” con “NULL” (ci sono da fare tre sostituzioni). Se non fossi lo svogliato che sono, avrei scritto un file patch per applicare questa modifica e l’avrei magari messo qui… ma poi chi ha voglia di stare a vedere come si fa a patchare? 🙂

Tornati nella cartella di partenza, date:

makepkg -ei

L’opzione -e dice di usare la cartella src esistente, altrimenti perdiamo le modifiche fatte al file! L’opzione -i serve per installare quando tutto è stato fatto per bene.

A questo punto, se non ci sono problemi da segnalare ( e vi prego fatelo se ci sono!) non resta che usare:

sudo modprobe eee

Questo fa caricare il modulo. Ora in /proc/eee ci sono i file che permettono di modificare la frequenza del processore e la velocità della ventola. Per semplicità, incollo qui i comandi da dare (rigorosamente come root) per portare la frequenza al massimo:

cd /proc/eee

echo 85 24 1 > fsb

#sleep 5 (non serve se lo fate a mano, se volete usare questi comandi in uno script decommentate questa riga per evitare instabilità del sistema)

echo 100 24 1 > fsb

Nella mia esperienza non ho avuto molti problemi overclockando in questo modo, consiglio comunque di farlo quando il carico del sistema è basso.

Per la ventola, semplicemente si scrive 1 al posto di 0 in /proc/eee/fan_manual e poi si cambia il valore da 0 a 100 in /proc/eee/fan_speed.

Consiglio vivamente di utilizzare un monitor della temperatura del processore quando si gioca con queste cose.. non si sa mai! Io ho tirato il mio Eee PC col processore a 900MHz e a pieno carico fino a 67°C. In teoria si rompe ad 80°C, quindi occhio a non spegnere la ventola e lasciare il pc overclockato incustodito!

Cpufreqd.conf per Eee PC 701

Se avete seguito la mia guida all’installazione, probabilmente avrete notato che il pc tende ad essere molto lento quando la batteria si sta scaricando. Questo è dovuto essenzialmente alla politica di risparmio energetico che fa felici tutti gli smanettoni del mondo eccetto il sottoscritto che non apprezza particolarmente di trovarsi a lavorare su un pc che di botto si siede sui 113MHz, quale che sia il motivo.

Per questo ho modificato e vi invito a modificare a piacimento il file di configurazione che si trova in /etc/cpufreqd.conf

Naturalmente bisogna aver installato cpufreqd:

pacman -Sy cpufreqd

Particolarmente importante è capire come funziona questo file e valutare in base alle proprie esigenze le modifiche da fare. Qui di seguito incollo il mio, se qualcuno ha domande scriva pure un commento 😉

[General]
pidfile=/var/run/cpufreqd.pid
poll_interval=2
verbosity=4
#enable_remote=1
#remote_group=root
[/General]

[acpi]
acpid_socket=/var/run/acpid.socket
[/acpi]

#[nforce2_atxp1]
#vcore_path=/some/path
#vcore_default=1500
#[/nforce2_atxp1]

#[sensors_plugin]
#sensors_conf=/some/file
#[/sensors_plugin]

[Profile]
name=On Demand High
minfreq=60%
maxfreq=100%
policy=ondemand
[/Profile]

[Profile]
name=On Demand Low
minfreq=40%
maxfreq=100%
policy=ondemand
[/Profile]

[Profile]
name=Performance High
minfreq=80%
maxfreq=100%
policy=performance
#exec_post=echo 8 > /proc/acpi/sony/brightness

[/Profile]

[Rule]
name=AC Rule
ac=on # (on/off)
profile=Performance High
[/Rule]

# conservative mode when not AC
[Rule]
name=AC Off – Low Battery
ac=off # (on/off)
battery_interval=0-10
#exec_post=echo 5 > /proc/acpi/sony/brightness
profile=Powersave Low
[/Rule]

# conservative mode when not AC
[Rule]
name=AC Off – Medium Battery
ac=off # (on/off)
battery_interval=10-70
#exec_post=echo 5 > /proc/acpi/sony/brightness
profile=On Demand Low
[/Rule][Rule]
name=AC Off – High Power
ac=off # (on/off)
battery_interval=70-90
#exec_post=echo 5 > /proc/acpi/sony/brightness
profile=On Demand High
[/Rule]

##
# Special Rules
##
# CPU Too hot!
[Rule]
name=CPU Too Hot
acpi_temperature=61-100
cpu_interval=61-100
profile=Performance Low
[/Rule]
# Special Rules
##
# CPU Too hot!
[Rule]
name=CPU Too Hot
acpi_temperature=61-100
cpu_interval=61-100
profile=Performance Low
[/Rule]

# use performance mode if I’m watching a movie
# I don’t care for batteries!
# But don’t heat too much.
[Rule]
name=Movie Watcher
programs=xine,mplayer,gmplayer,opera
battery_interval=0-100
acpi_temperature=0-60
cpu_interval=0-100
profile=Performance High
[/Rule]