# [kernel 2.6.0] i2c support

## hellraiser

finalmente siamo riusciti a far funzionare sto benedetto supporto per vedere queste temperature....

allora per chi fosse curioso spiego in breve come fare...

1. Attivare nel kernel le seguenti voci...

Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->

  [*] ISA support

Character devices  --->

  I2C support  --->

     <M> I2C support

     <M>   I2C bit-banging interfaces

     <M>   I2C PCF 8584 interfaces

     <M>   I2C device interface

   I2C Hardware Sensors Mainboard support  --->

        <M>   SiS 96x    [perke uso questo chipset la mia sk madre]

   I2C Hardware Sensors Chip support  --->

        <M>   National Semiconductors IT87 and compatibles

        <M>   National Semiconductors LM78 and compatibles

anke questi ultimi due parametri credo li possiate cambiare in base al vostro hardware...

cmq una cosa molto importante, è mettere tutto il supporto modulare, in quanto io ho provato anke builtin ma non funge nulla...

ah...quasi dimenticavo....dovete creare la dir /sys a mano...in quanto non viene creata in automatico...

una volta ricompilato il kernel, creato la dir si può rebootare con il nuovo kernel e caricare i seguenti moduli...

modprobe it87 temp_type="0x38"

modprobe i2c-isa 

modprobe i2c-sis96x

e il resto dei moduli dovrebbe essere caricato in auto...

alla fine di questa operazione mi ritrovo caricati i seguenti moduli 

root@inferno root # lsmod

Module                  Size  Used by

it87                   22016  0 

i2c_sis96x              4608  0 

lm78                   17664  0 

i2c_isa                 1792  0 

i2c_sensor              2688  2 it87,lm78

i2c_core               21508  5 it87,i2c_sis96x,lm78,i2c_isa,i2c_sensor

adesso per leggere le temp, abbiamo trovato io e bibi[M] un piccolo script fatto da un user de gentoo.forum, sezione inglese    :Wink: 

mi metto il link per lo script...oltre allo script troverete qualke altra piccola informazione...

https://forums.gentoo.org/viewtopic.php?t=77897&highlight=kernel+i2c+sys

questo  è il mio output alla fine di questo lungo viaggio 

 :Twisted Evil: 

root@inferno dcc # sh sens.sh 

VCore 1:    +1.76 V    (min = +1.53, max = +1.87)

VTT:        +2.48 V    (min = +1.12 V, max = +1.37 V)

+3.3V:      +3.29 V    (min = +2.96 V, max = +3.60 V)

+5V:        +4.90 V    (min = +4.50 V, max = +5.47 V)

+12V:       +12.28 V   (min = +11.36 V, max = +13.80 V)

5VSB:       +5.12 V    (min = +4.50 V, max = +5.47 V)

CPU  Fan:        2689 RPM  (min = 2657 RPM, div = 2)

PWR  Fan:        0 RPM  (min = 3000 RPM, div = 2)

CASE Fan:        0 RPM  (min = 3000 RPM, div = 2)

MB Temp:    +35.0°C    (min = +20°C, max = +60°C)

CPU Temp:   +55.0°C    (min = +20°C, max = +60°C)

Le temperature corrispondono perfettamente a quelle del bios, idem per la velocita delle ventole...

unica pekka, che il rilevatore della velocita delle ventole segna fino a una velocita di 2657 RPM, e per questo prima sul chan irc....stavamo cercando di capire da cosa possa dipendere...

se qualkuno ne sa qualkosa esponga l opinione   :Twisted Evil: 

cmq se ho fatto qualke errore, ditemi pure cosi si corregge e migliora...

ahh....quasi dimenticavo...sul quel post inglese c è scritto che alcuni riesco   a leggere le temperature con gkrellm....ma io e bibi non ci siamo riusciti....se qualkuno ci riuscissi...fatemi sapere...

addiooo    :Evil or Very Mad: 

----------

## bibi[M]

Bravo hell!!! Vedrai che smanettando smanettando riusciamo ad avere tutti i valori corretti ed anche le nostre dockappettine col supporto  :Smile: 

Comunque c'è qualche inesattezza:

1) La k non va usata così  :Razz: 

2) Siamo veramente sicuri che quei moduli vadano bene per tutti? Per ora sono andati bene per me te e bsolar, che abbiamo tutti ecs con chipset sis, in più...

3) I moduli giusti sono it87 e i2c-isa, stop, quel sis-96x _stranamente_ non cambia nulla (comunque teoricamente andrebbe bene solo per le schede madri con chipset sis), imho si può anche "eliminare" tranquillamente il modulo (oltre che non caricarlo)

Comunque col kernel 2.6 è molto più semplice prendere 'sti valori ;D

Anche se scoprire il modulo giusto per la propria scheda madre (ammesso che non siano sempre quei it87 e i2c-isa) è davvero complesso!

Ci vorrebbe un sensor-detect per il kernel 2-6...

Comunque vredrai che alla fine avremo le nostre ventoline funzionanti   :Twisted Evil: 

----------

## hellraiser

allora le kappa io le uso   :Twisted Evil: 

si infatti hai ragione per quanto riguardano i moduli...pero da qualke parte nel post l ho scritto, che potrebbe differire...

infatti io te e bsolar usiamo le ECS, io per l'esattezza una ecs k75sa con chipset 645 [se ricordo bene]

----------

## hellraiser

forse per trovare i moduli giusti, tipo se it87, lm78, etc....

bisognerebbe provare lm_sensors con il kernel 2.4.xx, fare un sensor detect e vedere che moduli da' che dovrebbero essere caricati...

io ricordo che con il 2.4.xx caricavo sempre it87....oltre a tutti gli altri ...

bho...provate...

----------

## shev

 *hellraiser wrote:*   

> forse per trovare i moduli giusti, tipo se it87, lm78, etc....
> 
> bisognerebbe provare lm_sensors con il kernel 2.4.xx, fare un sensor detect e vedere che moduli da' che dovrebbero essere caricati...
> 
> 

 

O aprire il case e guardare le sigle riportate sui relativi chipset...   :Twisted Evil: 

(o il manuale della scheda madre per i pigri...)

----------

## bibi[M]

Sì il manuale mi sembra una buona dritta! (sono pigro  :Razz: )

----------

## bubble27

Ma x far funzionare tutto questo ambaradan di temperature e ventole etc..... c'è bisogno del pacchetto lm_sensors ??? xchè se così fosse nn mi precipito ad apprestarmi a fare modifiche !!!!

giao Gentooaglia  :Wink: 

----------

## fedeliallalinea

 *bubble27 wrote:*   

> Ma x far funzionare tutto questo ambaradan di temperature e ventole etc..... c'è bisogno del pacchetto lm_sensors ??? xchè se così fosse nn mi precipito ad apprestarmi a fare modifiche !!!!
> 
> giao Gentooaglia 

 

Guarda qua c'e' la guida.

----------

## bubble27

 *fedeliallalinea wrote:*   

>  *bubble27 wrote:*   Ma x far funzionare tutto questo ambaradan di temperature e ventole etc..... c'è bisogno del pacchetto lm_sensors ??? xchè se così fosse nn mi precipito ad apprestarmi a fare modifiche !!!!
> 
> giao Gentooaglia  
> 
> Guarda qua c'e' la guida.

 

Si fedeliallalinea già l'avevo visto ma avendo l'IBM lm_sensors nn funziona.... ecco xchè ho voluto specificare la domanda se c'è il bisogno del pacchetto lm_sensors....  :Wink: 

ciao Gentooaglia

----------

## fedeliallalinea

 *bubble27 wrote:*   

> Si fedeliallalinea già l'avevo visto ma avendo l'IBM lm_sensors nn funziona.... ecco xchè ho voluto specificare la domanda se c'è il bisogno del pacchetto lm_sensors.... 
> 
> ciao Gentooaglia

 

Ahhhh non avevo capito... io sull'ibm non tento neanche di metterlo...

----------

## bubble27

 *fedeliallalinea wrote:*   

>  *bubble27 wrote:*   Si fedeliallalinea già l'avevo visto ma avendo l'IBM lm_sensors nn funziona.... ecco xchè ho voluto specificare la domanda se c'è il bisogno del pacchetto lm_sensors.... 
> 
> ciao Gentooaglia 
> 
> Ahhhh non avevo capito... io sull'ibm non tento neanche di metterlo...

 

RECLAMIAMOOOOOOOOOOO   :Evil or Very Mad:   :Evil or Very Mad:   :Evil or Very Mad: 

----------

## koma

coe tutti sanno ormai i protocolli IBM tendono a venire ignorati. Io su un veccho server ho rimediato con dei misuratori di temperatura esterna e configurati via porta COM su suporto di un pic o meglio ho tirato fuori l'idea il mio amico l'ha programmato e io l'ho montato andava a meraviglia... ma non credo ci si voglia sbattere tanto...

Però avevo la temperatura precisissima e la possibilità di controllare la velocità delle ventole a seconda del calore interno sulla cpu sul chipset sugli hd e sulla vecchia VGA pci  :Smile: 

5 ventole 6 termostati  :Smile: 

----------

## bubble27

 *koma wrote:*   

> coe tutti sanno ormai i protocolli IBM tendono a venire ignorati. Io su un veccho server ho rimediato con dei misuratori di temperatura esterna e configurati via porta COM su suporto di un pic o meglio ho tirato fuori l'idea il mio amico l'ha programmato e io l'ho montato andava a meraviglia... ma non credo ci si voglia sbattere tanto...
> 
> Però avevo la temperatura precisissima e la possibilità di controllare la velocità delle ventole a seconda del calore interno sulla cpu sul chipset sugli hd e sulla vecchia VGA pci 
> 
> 5 ventole 6 termostati 

 

miiiii koma se dovessi fare tutto questo bordello   :Shocked: , farei prima a comprarmi in picci nuovo............   :Laughing:  che oddio a pensarci bene.......... ghghgh   :Rolling Eyes: 

----------

## bibi[M]

Ue'! Ho risolto la storia delle ventole!!! Devo echoare "4" nei fan_divX sotto /sys/etc/etc, ora la lettura funziona correttamente:

 *Quote:*   

> 
> 
> Prima:
> 
> CPU  Fan:        0 RPM  (min = 3000 RPM, div = 2)
> ...

 

Ho modificato i giri della seconda ventola col controllino posto sul retro e mi becca tutta l'escursione da ~1.8KRPM a ~2.6KRPM...

Hell, se vuoi provare anche con la tua...  :Very Happy: 

EDIT: A proposito... la dockappettina che legge le ventole l'hai poi realizzata?^^ Ora interessa anche a me  :Twisted Evil: 

Comunque la terza ventola non ce l'ho, e come vedete non si può neanche cambiare il "div" (c'ho provato)... Una domanda sorge spontanea... che ca**o è 'sto DIV?^_^; Per non parlare del "MIN"... bah!

Vorrei inoltre dedicare l'ultima riga di questo post a koma: 

STAI MALE!   :Very Happy:   (nel senso buono, ovviamente  :Wink:  )

----------

## hellraiser

grande bibi   :Twisted Evil: 

cmq per quella dockapp delle fan ankora ho tempo di rimetterci mano...

----------

## Gandalf98

Grazie hellraiser per l'aiuto!!!

Ho dovuto cambiare qualcosina perche ho un'altra scheda madre e quindi diversi sensori.

Mi rimane una domanda, visti i voltaggi molto sballati. Esistono delle formule prestabilite per trasformare il valore letto nel file nel giusto voltaggio o si procede per tentativi??

```

VCore 1:    +1.62 V    (min = +1.79, max = +2.18)

VTT:        +.270 V    (min = +1.12 V, max = +1.37 V)

+3.3V:      +3.30 V    (min = +5.90 V, max = +7.24 V)

+5V:        +7.72 V    (min = +7.50 V, max = +9.22 V)

+12V:       +46.96 V   (min = +43.16 V, max = +52.72 V)

5VSB:       +.001 V    (min = +.001 V, max = +.001 V)

CPU Fan:    4166 RPM   (min = 3000 RPM, div = 2)

MB Temp:    +32.8°C    (min = +49°C, max = +59°C)

CPU Temp:   +50.1°C    (min = +49°C, max = +59°C)

```

----------

## hellraiser

credo si debba andare per tentativi...

anke io ho questo problema...ma a me poco importa dei voltaggi   :Twisted Evil: 

cmq se trovo qualkosa ti faccio sapere

addio$

----------

## Gandalf98

Penso che lm-sensors sia ancora molto utile, sopratutto il suo sito!!!

Ci sono le spiegazioni per ogni tipo di sensore! 

Mi sembrava strano andare per tentativi!!Ora mi leggo bene quella per il mio: via686a (infatti se rimuovo it87 funziona tutto lo stesso) e spero di trovarci delle informazioni utili!!

Intanto "mi sembra" di aver capito che il fattore DIV è previsto come divisore per il controllo delle ventole in quanto alcune di queste danno un tick per identificare un giro, altre due, e così via....

 *Quote:*   

> 
> 
> FAN rotation speeds are reported in RPM (rotations per minute). An alarm is
> 
> triggered if the rotation speed has dropped below a programmable limit. FAN
> ...

 

----------

## bibi[M]

```

FAN rotation speeds are reported in RPM (rotations per minute). An alarm is

triggered if the rotation speed has dropped below a programmable limit. FAN

readings can be divided by a programmable divider (1, 2, 4 or 8) to give

the readings more range or accuracy. This is important because some FANs

report only one 'tick' each rotation, while others report two - making

all readings twice as high. Not all RPM values can accurately be represented,

so some rounding is done. With a divider of 2, the lowest representable

value is around 2600 RPM.

```

Grande  :Very Happy: 

Ho messo code così non traduce "8 )"(senza spazio) in faccina, uhm... ora inizio a capire perché tutti usano "code" per citare fonti esterne  :Very Happy: 

----------

## ema

ragazzi grazie mille x i suggerimenti su come installare sti benedetti sensori! date anche un'occhiata qua cmq:

http://warder.ath.cx:81/projects/projects.shtml

il tipo sta sviluppando x conto suo la nuova interfaccia utente  :Smile: 

altra cosina.. con sto nuovo supporto sul 2.6, come configuro rrdtool per fare i grafici dei sensori? mancano solo quelli sul sito del mio server!

ah.. che ne dite di raggruppare tutti questi tips nell'articolo per passare al kernel 2.6? io ho gia dato il mio contributo con iptables ricompilato...

tnx

ema

----------

## Gandalf98

 *Quote:*   

> 
> 
> http://warder.ath.cx:81/projects/projects.shtml
> 
> il tipo sta sviluppando x conto suo la nuova interfaccia utente 
> ...

 

Il risultato è molto simile allo script citato all'inizio del topic, però è molto più veloce!! 

Non è che per caso qualcuno sa come leggere la temperatura delle schede video GeForce?

Ho provato a guardare nel kernel ma no c'è nessun modulo che vada bene!!

Cià

----------

## mrgamer

ahem... questa pseudo-guida mi sembra un pò restrittiva...

ti faccio notare che la mia mobo nforce2 (epox 8rda) non funziona con NESSUN sensore che attualmente è supportato dal kernel 2.6.x

per quanto riguarda gkrellm, basta un plugin.... sta anche nel portage   :Wink: 

----------

