# Problema termico. [portatile-server]

## eddy89

Salve a tutti. Uso molto felicemente gentoo da settembre 2005, e verso febbraio sono stato abbastanza audace da tentare il seguente esperimento.

Per quanto sarebbe potuta sembrare a molti una follia, ho preso un ex portatile di provenienza familiare, a cui le cerniere dello schermo stavano andando in pezzi e lo schermo riportava una riga verticale bianca molto fastidiosa.

L'hardware è il seguente:

Acer Travelmate 202TE

Celeron (coppermine) 650 Mhz

64 Mbyte di ram

~20Gb di hard disk. (prima era da 5 ma me ne hanno donato uno da 20..  :Laughing:  )

Su questa bella macchinetta ho pensato, non potendo farci molto, di mettere su un server basato su Gentoo e collegato all'adsl. Data la scarsa disponibilità di ram, ho utilizzato uclibc per le sue note caratteristiche di risparmio e di utilizzabilità (stage3-x86-uclibc-2005.0)

Il progetto è sostanzialmente riuscito, grazie alla nota stabilità di gentoo ed alla facilità di utilizzo del sistema di gestione pacchetti portage.

Quindi con l'aiuto di un dns dinamico ho fatto il mio sito con un bel forum.

Il problema che mi sta a cuore ora riguarda il surriscaldamento e l'ACPI:

Se attivo sul kernel l'acpi, la ventola di raffreddamento, che dovrebbe essere spenta quando il processore è idle (quasi sempre) gira in continuazione buttando fuori aria calda, inoltre ho provato con x86info che la frequenza del processore cambia, e scende fino a 500 mhz, ma non di meno, e in nessun modo riesco a controllare la frequenza, limitarla, o controllare la ventola. (Mi suggerite qualche modo??)

Ho scoperto che disattivando l'ACPI invece la ventola non gira e il computer sembra morto (freddo rispetto a prima) e solo ogni tanto la ventola sbuffa per qualche secondo, spegnendosi subito, quindi ho dedotto che l'acpi controlla a tutti gli effetti la ventola, ma non mi consente di regolarla.

Purtroppo però ho bisogno dell'acpi per controllare la batteria, e non sarebbe male poterlo utilizzare per avere un maggiore controllo sul sistema.

Dunque come faccio a configurare l'acpi correttamente?

Come controllo la ventola? (/proc/acpi/fan/ vuoto)

Come controllo la frequenza? (Ho provato ad attivare quasi tutti i driver cpufreq e usare /proc/acpi/processor/... ma niente)

Per quale motivo con l'acpi scalda di più in ogni caso?

Grazie a tutti x il vostro aiuto.

----------

## randomaze

 *eddy89 wrote:*   

> Dunque come faccio a configurare l'acpi correttamente?
> 
> Come controllo la ventola? (/proc/acpi/fan/ vuoto)
> 
> Come controllo la frequenza? (Ho provato ad attivare quasi tutti i driver cpufreq e usare /proc/acpi/processor/... ma niente)
> ...

 

L'ACPI talvolta é una brutta bestia. Mi sa che ti conviene cercare in rete qualcuno con il portatile di quel modello  :Rolling Eyes: 

----------

## eddy89

 :Shocked:  Hmm.. ci ho già provato ovviamente.. non esiste qualche regola più generale o qualche trucchetto?

----------

## Cazzantonio

Se sai programmare in asl puoi scriverti una tabella dstd alternativa e farla caricare al kernel al posto di quella di default fornita dal bios (fai l'override delle impostazioni di default dell'acpi)

Spesso c'è gente che mette su internet una tabella dstd corretta per il loro modello di portatile... a volte hai fortuna e a volte no... prova...

----------

## X-Drum

 *Cazzantonio wrote:*   

> Se sai programmare in asl puoi scriverti una tabella dstd alternativa e farla caricare al kernel al posto di quella di default fornita dal bios (fai l'override delle impostazioni di default dell'acpi)
> 
> Spesso c'è gente che mette su internet una tabella dstd corretta per il loro modello di portatile... a volte hai fortuna e a volte no... prova...

 

basta fixarla, non serve riscriverla,

cmq che sfortuna qui non figura il tuo modello

http://acpi.sourceforge.net/dsdt/view.php

----------

## eddy89

 *X-Drum wrote:*   

> basta fixarla, non serve riscriverla,

 

Hmm.. bene come faccio??

Ho già emerso per prova sul mio pc sys-power/iasl-20060127 ma nn ci ho capito molto.. Come posso fare, almeno a fixarla, se nn a correggerla?

----------

## X-Drum

guarda questi 3d:

https://forums.gentoo.org/viewtopic.php?t=122145&highlight=dsdt

https://forums.gentoo.org/viewtopic.php?t=201960&highlight=dsdt

----------

## eddy89

Ok grazie, sto leggendo e facendo!  :Wink: 

Ditemi solo due cose:

1) Sbaglio o ora è possibile mettere la dsdt corretta all'interno del server senza initrd con gentoo-sources? o basta metterla solo una volta?

(come sapete è un server e vorrei ridurre i tempi di manutenzione  :Wink:  )

2) Anche nell'howto si possono saltare tutti i passaggi di installazione e basta smascherarlo ed emergerlo vero?

----------

## X-Drum

una volta generato un DSDT funzionante puoi includerlo direttamente nel kernel

se mi dici che gentoo-sources usi ti adatto una patch stupidissima che ho fatto ed uso

per il mio laptop, unico inconveniente di questa tecnica: devi ripatchare il kernel

nuovo per l'inclusione statica del DSDT ogni volta che cambi kernel, ma non devi

usare un initrd che lo contenga, poiche' spesso da problemi se usi gensplash

----------

## eddy89

Allora sul server uso: linux-2.6.16-gentoo-r7

E sul mio pc (dove ho trovato 20 errori): linux-2.6.16-gentoo-r7 (AMD64)

Ma forse devo aggiornare il server..  :Rolling Eyes: 

Ho guardato quella patch nell'howto ma nn mi piace ne funziona sul mio.. ne so come usarla   :Embarassed: 

EDIT: Ho aggiornato il kernel sul server alla versione -r7

----------

## eddy89

Ragazzo (e non)... scusate ma l'estate sta arrivando e comincia a fare caldo... mi serve quella patch..

Scusate se rompo ma non vorrei trovarmi con un server fuso o un mobile incendiato....  :Rolling Eyes: 

----------

## X-Drum

ho riadattato la patch per l'inclusione statica del DSDT "fixato" nel kernel ,

questa patch sembra funzionare per i gentoo-sources-2.6.16-r7

copiare il DSDT fixato nella giusta posizione:

---------------------------------------------------

```
cp /dir_del_dsdt/dsdt.hex /usr/src/linux-2.6.16-gentoo-r7/include/acpi/dsdt_table.h 
```

applicare la patch:

------------

```
cd /usr/src/linux-2.6.16-gentoo-r7/drivers/acpi

wget http://www.zerodev.it/public/acpi_dsdt_override-xdr-2.6.16-r7-gentoo-sources.patch

cat acpi_dsdt_override-xdr-2.6.16-r7-gentoo-sources.patch | patch -p0

```

ovviamente ricompilare il kernel!!!

reboottare e sperare

buona fortuna

----------

## eddy89

Grazie mille.. purtroppo però il problema non è risolto, o meglio.. vi racconto:

Ho provato a compilare il kernel senza supporto per processore, thermal e fan acpi...(

```
CONFIG_ACPI_FAN=m

CONFIG_ACPI_PROCESSOR=m

CONFIG_ACPI_THERMAL=m

```

Risultato: Ottimo: il pc è di nuovo freddo come prima e la ventola sta quasi sempre ferma..

Provando però a fare modprobe processor torna tutto come prima: incomincia a scaldare e dopo poco parte la ventola (all'inizio sbuffando, forse xke nn controllata dal modulo thermal come cooling-mode?!?  :Question:  ) Ad ogni modo rimuovendo il modulo, dapprima butta fuori aria fredda, poi si spegne e tutto tace come prima.

Quindi mi sorge spontaneo il dubbio: ci sarà mica un errore in processor.c o qualcosa del genere nel kernel ke causa questo problema?

Chi posso contattare per accertarmene, o ad ogni modo ottenere una versione corretta che faccia andare il clock del cpu, come succedeva su WinME, fino a 100 mhz se nn utilizzato? (ricordo che appunto caricando questo modulo il risultato di "x86info -mhz" passa da 650 a un minimo di 500, per poi salire se sotto sforzo)

Conviene forse aprire un nuovo topic sul problema, magari nella sezione inglese, e cambiare l'oggetto aggiungendo [solved] a questo?

----------

## .:deadhead:.

ma il dsdt l'hai aggiornato ed integato nel kernel?

al boot e nel log ti compare 

```
ACPI (tbget-0282): Table [DSDT] replaced by host OS [20060127]
```

Per inciso, io ho nel kernel 2.6.16gentoo-7 già la voce integra dsdt... non so come   :Smile: 

----------

## X-Drum

 *.:deadhead:. wrote:*   

> ma il dsdt l'hai aggiornato ed integato nel kernel?
> 
> Per inciso, io ho nel kernel 2.6.16gentoo-7 già la voce integra dsdt... non so come

 

se riesci a farla funzionare fammelo sapere e dimmi come, perche è da tempo

che sul mio di laptop, dove ho fixato il DSDT ricorro a quella patch stupida che hai visto

sopra (ce ne sono altre nel forum se cerchi, sempre mie) perche' è il modo piu semplice

che ho trovato per includere staticamente il DSDT nel kernel.

DSDT che viene sostituito correttamte dal kernel all'avvio della macchina

----------

## eddy89

 *Quote:*   

> ma il dsdt l'hai aggiornato ed integato nel kernel? 

 

Si,si.. ho controllato per bene, ed ho provato anche a correggere eventuali errori semantici, o ad aggiungere nei parametri la stringa dell'OS x abilitare eventuali opzioni (come descritto nell'how-to) ma niente.

 *Quote:*   

> 
> 
> Per inciso, io ho nel kernel 2.6.16gentoo-7 già la voce integra dsdt... non so come 

 

A dire il vero anche io l'avevo già vista.. ma chissà quanto tempo fa, e chissà su quale kernel, forse un vanilla.

----------

## X-Drum

 *eddy89 wrote:*   

> Per inciso, io ho nel kernel 2.6.16gentoo-7 già la voce integra dsdt... non so come 

 

A dire il vero anche io l'avevo già vista.. ma chissà quanto tempo fa, e chissà su quale kernel, forse un vanilla.[/quote]

quella voce c'è: ed è anche nei gentoo-sources da qualche versione in poi è stata introdotta

dovrebbe essere relativo alla sostituzione del DSDT ma a me pare uno stub, o è poco documentato.

Dato che nn ho mai trovato info a riguardo, uso la patch postata sopra

----------

## .:deadhead:.

In passato già un'altra volta questa voce mi era comparsa ma la cosa + strana era che ad altri che usavano il medesimo kernel, tale voce non appariva

Posto lo screenshot

http://img250.imageshack.us/img250/6630/gentookerneldstd8vt.png

ed il mio .config

http://deadhead.altervista.org/autoindex/config

Se avete altre domande, chiedete

----------

## eddy89

Ecco anch'io l'avevo.. ora xò nn c'è +... forse è bloccata da qualche altra configuraizone?!?

Cmq possiamo tornare al mio problema?

----------

## X-Drum

@.:deadhead:. ho visto sempre in osl.c la voce riguardante il custom dsdt

ma mai in config...per questo opto per la patch, anyway magari apriamo un 

altro 3d su questo argomento e magari faccio un paio di indagini quando

mi butto sul laptop, devo capire  :Very Happy: 

----------

## 0101

 *eddy89 wrote:*   

> 
> 
> Celeron (coppermine) 650 Mhz
> 
> Come controllo la frequenza? (Ho provato ad attivare quasi tutti i driver cpufreq e usare /proc/acpi/processor/... ma niente)
> ...

 

...io la setto a mano sul pentium3 ke suppongo sia piuttosto simile al tuo Celeron:

```
modprobe speedstep_smi && modprobe cpufreq_userspace && \

echo "userspace" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor && \

echo "733000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
```

...ovviamente cambia la frequenza con quelle disponibili consultabili con:

```
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
```

...la mia ventolina ultimamente c'aveva dentro un "gecko" ke l'avrei slanzata volentieri dalla finestra...

...quindi ho approfittato dell'occasione per "indagare" su come controllarla ma nulla...

...percio' l'ho semplicemente sostituita....

...ora anche se non la posso controllare entra in funzione solo raramente, quasi mai con la frequenza bassa...

...saluti binari dal folle 0101

----------

## eddy89

Ripeto che NON ho cpufreq. Ne funziona. Li ho provati tutti nel kernel compreso speedstep_smi.

----------

## 0101

 *eddy89 wrote:*   

> Ripeto che NON ho cpufreq. Ne funziona. Li ho provati tutti nel kernel compreso speedstep_smi.

 

http://www.thinkwiki.org/wiki/How_to_get_SpeedStep_working_on_Coppermine-piix4-smi_based_ThinkPads

0101

----------

## eddy89

Nada...

----------

