« Configuration des senseurs de la carte mère » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
(conversion de la documentation originale de Léa par HTML::WikiConverter)
m (Configuration des senseurs (température, ventilation,...) de la carte mère)
Ligne 2 : Ligne 2 :
= Configuration des Senseurs de la carte mêre. =
= Configuration des Senseurs de la carte mêre. =


<div class="leatitre">Configuration des Senseurs de la carte mêre.</div><div class="leapar">par [mailto:tux.le.pengouin@free.fr Fred]</div><div class="leadesc">Votre carte mêre dispose peut-être de senseurs permettant de savoir, à tout moment, la température des différents éléments de celle-ci, ainsi que diverses informations intéressantes pour la bonne marche de votre PC, en particulier si vous comptez l'overclocker.</div>
<div class="leatitre">Configuration des Senseurs de la carte mère.</div><div class="leapar">par [mailto:tux.le.pengouin@free.fr Fred]</div><div class="leadesc">Votre carte mère dispose peut-être de senseurs permettant de savoir, à tout moment, la température des différents éléments de celle-ci, ainsi que diverses informations intéressantes pour la bonne marche de votre PC, en particulier si vous comptez l'overclocker.</div>
----
----


== Ce qu'il nous faut ==
== Ce qu'il nous faut ==


Pour pouvoir connaître l'état des différents senseurs de votre carte mêre, il faut que nous installions deux (au moins) paquetages : <tt>[http://secure.netroedge.com/~lm78/archive/i2c-2.6.3.tar.gz i2c-2.6.3.tar.gz]</tt> et <tt>[http://www.lm-sensors.nu/archive/lm_sensors-2.6.3.tar.gz lm_sensors-2.6.3.tar.gz]</tt> que l'on peut trouver sur le [http://secure.netroedge.com/~lm78/download.html site de l'auteur] de ces paquetages.<br /> Evidemment, lecteur quand tu liras ces lignes, les numéros des paquetages auront peut-être changé : prend la derniêre version !
Pour pouvoir connaître l'état des différents senseurs de votre carte mère, il faut que nous installions deux (au moins) paquetages : <tt>[http://secure.netroedge.com/~lm78/archive/i2c-2.9.2.tar.gz i2c-2.9.2.tar.gz]</tt> et <tt>[http://www.lm-sensors.nu/archive/lm_sensors-2.9.2.tar.gz lm_sensors-2.9.2.tar.gz]</tt> que l'on peut trouver sur le [http://secure.netroedge.com/~lm78/download.html site de l'auteur] de ces paquetages.<br /> &Eacute;videmment, lecteur quand tu liras ces lignes, les numéros des paquetages auront peut-être changé : prend la derniêre version !


== Installation ==
== Installation ==
Ligne 17 : Ligne 17 :
La premiêre chose à faire est de décompresser ces deux paquetages :
La premiêre chose à faire est de décompresser ces deux paquetages :


<div class="code">[user@localhost user]$ tar xzf i2c-2.6.3.tar.gz<br /> [user@localhost user]$ tar xzf lm_sensors-2.6.3.tar.gz</div>
<div class="code">[user@localhost user]$ tar xzf i2c-2.9.2.tar.gz<br /> [user@localhost user]$ tar xzf lm_sensors-2.9.2.tar.gz</div>


Ensuite, il faut créer les patches. Pour que cela fonctionne, il faut, au préalable, avoir installé les sources du noyau dans <tt>/usr/src/linux</tt> (c'est l'emplacement par défaut de la plupart des distributions ; les paquetages nécessaires sont disponibles sur le CD de votre distribution).
Ensuite, il faut créer les patches. Pour que cela fonctionne, il faut, au préalable, avoir installé les sources du noyau dans <tt>/usr/src/linux</tt> (c'est l'emplacement par défaut de la plupart des distributions ; les paquetages nécessaires sont disponibles sur le CD de votre distribution).
Ligne 23 : Ligne 23 :
Nous créons les patches par :
Nous créons les patches par :


<div class="code">[user@localhost user]$ cd /home/user/i2c-2.6.3<br /> [user@localhost i2c-2.6.3]$ mkpatch/mkpatch.pl . /usr/src/linux i2c-patch</div>
<div class="code">[user@localhost user]$ cd /home/user/i2c-2.9.2<br /> [user@localhost i2c-2.9.2]$ mkpatch/mkpatch.pl . /usr/src/linux i2c-patch</div>


Puis, on patche le noyau :
Puis, on patche le noyau :


<div class="code">[user@localhost user]$ cd /usr/src/linux<br /> [user@localhost linux]$ su<br /> Password : ********<br /> [root@localhost linux]# patch -p1 -E </home/user/i2c-2.6.3/i2c-patch<br /> ...<br /> ...</div>
<div class="code">[user@localhost user]$ cd /usr/src/linux<br /> [user@localhost linux]$ su<br /> Password : ********<br /> [root@localhost linux]# patch -p1 -E </home/user/i2c-2.9.2/i2c-patch<br /> ...<br /> ...</div>


(Attention: ces commandes sont sur une seule ligne !) Voilà pour le patch <tt>i2c</tt>. Puis le patch <tt>lm_sensors</tt> :
(Attention: ces commandes sont sur une seule ligne !) Voilà pour le patch <tt>i2c</tt>. Puis le patch <tt>lm_sensors</tt> :


<div class="code">[user@localhost user]$ cd /home/user/lm_sensors-2.6.3<br /> [user@localhost lm_sensors-2.6.3]$ mkpatch/mkpatch.pl . /usr/src/linux > lm-patch</div>
<div class="code">[user@localhost user]$ cd /home/user/lm_sensors-2.9.2<br /> [user@localhost lm_sensors-2.9.2]$ mkpatch/mkpatch.pl . /usr/src/linux > lm-patch</div>


Enfin, il faut patcher le noyau :
Enfin, il faut patcher le noyau :


<div class="code">[root@localhost linux]# patch -p1 -E < /home/user/lm_sensors-2.6.3/lm-patch <br />... <br />...</div>
<div class="code">[root@localhost linux]# patch -p1 -E < /home/user/lm_sensors-2.9.2/lm-patch <br />... <br />...</div>


Normalement, tout ce passe bien et nos sources du noyau sont bien patchées !
Normalement, tout ce passe bien et nos sources du noyau sont bien patchées !
Ligne 41 : Ligne 41 :
== Compilation des modules et du noyau ==
== Compilation des modules et du noyau ==


La compilation se déroule de maniêre standard pour les sources du noyau : on lance un <tt>make xconfig</tt> pour configurer les sources.<br /> En plus des supports habituels pour votre configuration ([../kernel/kernel.php3 voir la documentation du site]), il faut que vous activiez (en modules c'est mieux...) tout dans : <tt>Character Devices/I2C support/</tt> (en fait, seuls <tt>I2C support</tt>, <tt>I2C bit-banging interfaces</tt>, <tt>I2C PCF 8584 interfaces</tt> et <tt>Pseudo ISA adapter</tt> nous seront utiles). Il faut aussi que vous activiez tout dans : <tt>Character Devices/Hardware sensors support/</tt>.
La compilation se déroule de manière standard pour les sources du noyau : on lance un <tt>make xconfig</tt> pour configurer les sources.<br /> En plus des supports habituels pour votre configuration ([../kernel/kernel.php3 voir la documentation du site]), il faut que vous activiez (en modules c'est mieux...) tout dans : <tt>Character Devices/I2C support/</tt> (en fait, seuls <tt>I2C support</tt>, <tt>I2C bit-banging interfaces</tt>, <tt>I2C PCF 8584 interfaces</tt> et <tt>Pseudo ISA adapter</tt> nous seront utiles). Il faut aussi que vous activiez tout dans : <tt>Character Devices/Hardware sensors support/</tt>.


Puis vous compilez votre noyau comme d'habitude :
Puis vous compilez votre noyau comme d'habitude :
Ligne 53 : Ligne 53 :
Cette phase est essentielle : elle permet la détection automatique de vos senseurs etc...<br /> Pour cela vous devez compilez les librairies <tt>libsensors.*</tt>. Placez vous dans le répertoire contenant les sources de lm_sensors :
Cette phase est essentielle : elle permet la détection automatique de vos senseurs etc...<br /> Pour cela vous devez compilez les librairies <tt>libsensors.*</tt>. Placez vous dans le répertoire contenant les sources de lm_sensors :


<div class="code">$ cd /home/usr/lm_sensors-2.6.3</div>
<div class="code">$ cd /home/usr/lm_sensors-2.9.2</div>


Et éditez le fichier nommé <tt>Makefile</tt> (c'est lui qui gére la compilation de lm_sensors), vous devez trouver les lignes noires et les remplacer par les lignes rouges :
Et éditez le fichier nommé <tt>Makefile</tt> (c'est lui qui gére la compilation de lm_sensors), vous devez trouver les lignes noires et les remplacer par les lignes rouges :
Ligne 61 : Ligne 61 :
<tt>I2C_HEADERS=/usr/local/include</tt><br /><tt><font color="#FF0000">I2C_HEADERS=$(LINUX_HEADERS)</font></tt>
<tt>I2C_HEADERS=/usr/local/include</tt><br /><tt><font color="#FF0000">I2C_HEADERS=$(LINUX_HEADERS)</font></tt>


<tt>PREFIX := /usr/local</tt><br /><tt><font color="#FF0000">PREFIX := /où/vous/voulez</font></tt><br /><tt><font color="#FF0000"><nowiki># attention : les executables seront installés dans $PREFIX/bin etc...</nowiki></font></tt>
<tt>PREFIX := /usr/local</tt><br /><tt><font color="#FF0000">PREFIX := /où/vous/voulez</font></tt><br /><tt><font color="#FF0000"><nowiki># attention : les binaires seront installés dans $PREFIX/bin etc...</nowiki></font></tt>


</div>
</div>


En fait, il suffit souvant de commenter la ligne noire (en mettant un <tt><nowiki>#</nowiki></tt> devant) et de décommenter la ligne rouge (en enlevant le <tt><nowiki>#</nowiki></tt> devant).
En fait, il suffit souvent de commenter la ligne noire (en mettant un <tt><nowiki>#</nowiki></tt> devant) et de décommenter la ligne rouge (en enlevant le <tt><nowiki>#</nowiki></tt> devant).


Maintenant on peut compilez le tout par <tt>make</tt>. Un certain nombre de fichiers ne sont pas trouvé : ce n'est pas grave. On installe le tout par : <tt>make install</tt>.
Maintenant on peut compilez le tout par <tt>make</tt>. Un certain nombre de fichiers ne sont pas trouvé : ce n'est pas grave. On installe le tout par : <tt>make install</tt>.


Un derniêre étape avant la détection : la création des périphériques. Celle-ci se fait três simplement par le script : <tt>mkdev.sh</tt>. Il faut être root pour pouvoir le lancer :
Une dernière étape avant la détection : la création des périphériques. Celle-ci se fait três simplement par le script : <tt>mkdev.sh</tt>. Il faut être root pour pouvoir le lancer :


<div class="code">'''$''' su <br /><tt>Password : ********</tt><br /><tt>'''<nowiki>#</nowiki>''' /home/user/lm_sensors-2.6.3/prog/mkdev/mkdev.sh</tt></div>
<div class="code">'''$''' su <br /><tt>Password : ********</tt><br /><tt>'''<nowiki>#</nowiki>''' /home/user/lm_sensors-2.6.3/prog/mkdev/mkdev.sh</tt></div>
Ligne 77 : Ligne 77 :
== Détection des senseurs ==
== Détection des senseurs ==


Là, c'est três simple : il suffit de lancer le script <tt>sensors-detect</tt> qui se trouve dans <tt>/home/user/lm_sensors-2.6.3/prog/detect</tt>, lancez-le et validez toutes les questions (les choix par défaut sont tous bons, mais vous pouvez lire ce qu'on vous demande pour affiner votre configuration). A la fin du script vous devez voir apparaître quelque chose comme :
Là, c'est très simple : il suffit de lancer le script <tt>sensors-detect</tt> qui se trouve dans <tt>/home/user/lm_sensors-2.9.2/prog/detect</tt>, lancez-le et validez toutes les questions (les choix par défaut sont tous bons, mais vous pouvez lire ce qu'on vous demande pour affiner votre configuration). A la fin du script vous devez voir apparaître quelque chose comme :


<div class="code">WARNING! If you have some things built into your kernel, the <br /><tt>below list will contain too many modules. Skip the appropriate ones!</tt><br /><tt>To load everything that is needed, add this to some '''/etc/rc*''' file:</tt>
<div class="code">WARNING! If you have some things built into your kernel, the <br /><tt>below list will contain too many modules. Skip the appropriate ones!</tt><br /><tt>To load everything that is needed, add this to some '''/etc/rc*''' file:</tt>


<tt><font color="#FF0000"><nowiki>#----cut here----</nowiki></font></tt><br /><tt><font color="#FF0000"><nowiki># I2C adapter drivers</nowiki></font></tt><br /><tt><font color="#FF0000">modprobe i2c-piix4</font></tt><br /><tt><font color="#FF0000">modprobe i2c-isa</font></tt><br /><tt><font color="#FF0000"><nowiki># I2C chip drivers</nowiki></font></tt><br /><tt><font color="#FF0000">modprobe eeprom</font></tt><br /><tt><font color="#FF0000">modprobe w83781d</font>      # w83781d est le nom du chip !</tt><br /><tt><font color="#FF0000"><nowiki>#----cut here----</nowiki></font></tt>
<tt><font color="#FF0000"><nowiki>#----cut here----</nowiki></font></tt><br /><tt><font color="#FF0000"><nowiki># I2C adapter drivers</nowiki></font></tt><br /><tt><font color="#FF0000">modprobe i2c-piix4</font></tt><br /><tt><font color="#FF0000">modprobe i2c-isa</font></tt><br /><tt><font color="#FF0000"><nowiki># I2C chip drivers</nowiki></font></tt><br /><tt><font color="#FF0000">modprobe eeprom</font></tt><br /><tt><font color="#FF0000">modprobe w83781d</font>     # w83781d est le nom du chip !</tt><br /><tt><font color="#FF0000"><nowiki>#----cut here----</nowiki></font></tt>


<tt>To make the sensors modules behave correctly, add these lines to either</tt><br /><tt>/etc/modules.conf or '''/etc/conf.modules'''<nowiki>:</nowiki></tt>
<tt>To make the sensors modules behave correctly, add these lines to either</tt><br /><tt>/etc/modules.conf or '''/etc/conf.modules'''<nowiki>:</nowiki></tt>
Ligne 89 : Ligne 89 :
</div>
</div>


La premiêre série de lignes en rouge (entre les <tt><font color="#FF0000">cut here</font></tt>) doit être insérée dans votre fichier <tt>/etc/rc.d/rc.local</tt> : ce sont ces lignes qui vont charger au démarrage les modules permettant la lecture des senseurs (Attention : prenez les lignes correspondant à votre configuration, celles qui sont présentées ici sont les miennes !).
La première série de lignes en rouge (entre les <tt><font color="#FF0000">cut here</font></tt>) doit être insérée dans votre fichier <tt>/etc/rc.d/rc.local</tt> : ce sont ces lignes qui vont charger au démarrage les modules permettant la lecture des senseurs (Attention : prenez les lignes correspondant à votre configuration, celles qui sont présentées ici sont les miennes !).


La seconde série doit être insérée dans le fichier <tt>/etc/conf.modules</tt> : elles servent au chargement automatique des modules qui peuvent être chargé automatiquement.
La seconde série doit être insérée dans le fichier <tt>/etc/conf.modules</tt> : elles servent au chargement automatique des modules qui peuvent être chargé automatiquement.
Ligne 97 : Ligne 97 :
== Utilisation ==
== Utilisation ==


L'installation de <tt>lm_sensors-2.5.1</tt> crée un petit script de lecture des senseurs : <tt>sensors</tt>, lorqu'on le lance on obtient :
L'installation de <tt>lm_sensors-2.9.2</tt> crée un petit script de lecture des senseurs : <tt>sensors</tt>, lorqu'on le lance on obtient :


<div class="code">[user@localhost user]# sensors <br /><tt>w83781d-i2c-1-2d</tt><br /><tt>Adapter: SMBus PIIX4 adapter at 5000</tt><br /><tt>Algorithm: Non-I2C SMBus adapter</tt><br /><tt>VCore 1:   +1.98 (min =  +1.80 V, max =  +2.20 V)</tt><br /><tt>VCore 2:   +2.00 (min =  +1.80 V, max =  +2.20 V)</tt><br /><tt>+3.3V:     +3.36 (min =  +2.97 V, max =  +3.63 V)</tt><br /><tt>+5V:       +5.07 (min =  +4.50 V, max =  +5.48 V)</tt><br /><tt>+12V:     +11.86 (min = +10.79 V, max = +13.11 V)</tt><br /><tt>-12V:     -12.38 (min = -10.78 V, max = -13.18 V)</tt><br /><tt>-5V:       -5.12 (min =  -4.50 V, max =  -5.48 V)</tt><br /><tt>CPU Fan:  4891 RPM  (min = 3000 RPM, div = 2)</tt><br /><tt>CPU temp: +39.0 C   (limit = +60.0 C, hysteresis = +50.0 C)</tt><br /><tt>vid:      +2.00 V</tt><br /><tt>alarms:   Chassis intrusion detection                 ALARM</tt><br /><tt>beep_enable:</tt><br /><tt>          Sound alarm disabled</tt></div>
<div class="code">[user@localhost user]# sensors <br /><tt>w83781d-i2c-1-2d</tt><br /><tt>Adapter: SMBus PIIX4 adapter at 5000</tt><br /><tt>Algorithm: Non-I2C SMBus adapter</tt><br /><tt>VCore 1:   +1.98 (min = +1.80 V, max = +2.20 V)</tt><br /><tt>VCore 2:   +2.00 (min = +1.80 V, max = +2.20 V)</tt><br /><tt>+3.3V:     +3.36 (min = +2.97 V, max = +3.63 V)</tt><br /><tt>+5V:       +5.07 (min = +4.50 V, max = +5.48 V)</tt><br /><tt>+12V:     +11.86 (min = +10.79 V, max = +13.11 V)</tt><br /><tt>-12V:     -12.38 (min = -10.78 V, max = -13.18 V)</tt><br /><tt>-5V:       -5.12 (min = -4.50 V, max = -5.48 V)</tt><br /><tt>CPU Fan: 4891 RPM  (min = 3000 RPM, div = 2)</tt><br /><tt>CPU temp: +39.0 (limit = +60.0 C, hysteresis = +50.0 C)</tt><br /><tt>vid:     +2.00 V</tt><br /><tt>alarms:   Chassis intrusion detection                ALARM</tt><br /><tt>beep_enable:</tt><br /><tt>         Sound alarm disabled</tt></div>


Ou en tout cas quelque chose d'approchant. Certaines information peuvent vous sembler absurdes (par exemple des températures négatives etc...), elles correspondent en général à des senseurs non branchés ou non existants. Il peut être intéressant de désactiver ces senseurs (du moins leur lecture), cela se fait en éditant le fichier <tt>/etc/sensors.conf</tt>. Mais avant de pouvoir l'identifier il faut connaitre le nom de la puce qui gêre les senseurs : le [#chip_name chip]. Pour l'identifier, c'est simple, vous faites :
Ou en tout cas quelque chose d'approchant. Certaines informations peuvent vous sembler absurdes (par exemple des températures négatives etc...), elles correspondent en général à des senseurs non branchés ou non existants. Il peut être intéressant de désactiver ces senseurs (du moins leur lecture), cela se fait en éditant le fichier <tt>/etc/sensors.conf</tt>. Mais avant de pouvoir l'identifier il faut connaître le nom de la puce qui gère les senseurs : le [#chip_name chip]. Pour l'identifier, c'est simple, vous faites :


<div class="code">[user@gros home]# cat /proc/sys/dev/sensors/chips <br /><tt>256 '''w83781d'''-''<font color="#FF0000">isa</font>''-0290</tt><br /><tt>257 '''w83781d'''-''<font color="#FF0000">i2c</font>''-1-2d</tt><br /><tt>258 '''eeprom'''-''<font color="#FF0000">i2c</font>''-1-50</tt></div>
<div class="code">[user@gros home]# cat /proc/sys/dev/sensors/chips <br /><tt>256 '''w83781d'''-''<font color="#FF0000">isa</font>''-0290</tt><br /><tt>257 '''w83781d'''-''<font color="#FF0000">i2c</font>''-1-2d</tt><br /><tt>258 '''eeprom'''-''<font color="#FF0000">i2c</font>''-1-50</tt></div>


Les noms des puces présentes sur ma carte mêre sont en '''<tt>gras</tt>''', en ''<tt><font color="#FF0000">rouge</font></tt>'' c'est le protocole utilisé pour lire le contenu de ces puces.
Les noms des puces présentes sur ma carte mère sont en '''<tt>gras</tt>''', en ''<tt><font color="#FF0000">rouge</font></tt>'' c'est le protocole utilisé pour lire le contenu de ces puces.


Dans le fichiers <tt>/etc/sensors.conf</tt>, vous devez vous placer aprês une ligne commançant par :
Dans le fichiers <tt>/etc/sensors.conf</tt>, vous devez vous placer après une ligne commançant par :


<div class="code">'''chip''' "lm78-*" "lm78-j-*" "lm79-*" "'''w83781d'''-*" "sis5595-*"</div>
<div class="code">'''chip''' "lm78-*" "lm78-j-*" "lm79-*" "'''w83781d'''-*" "sis5595-*"</div>


(Comme vous pouvez le constater, plusieurs puces ont la même configuration : ici lm78, lm79, w83781d, sis5595, mais ce qui doit vous intéresser dans ce fichier c'est votre puce !, le reste vous pouvez l'effacer). Vous avez donc repéré votre puce dans <tt>/etc/sensors.conf</tt>. Vous devez trouver à la suite de cette ligne (<tt>chip  quelque chose</tt>) :
(Comme vous pouvez le constater, plusieurs puces ont la même configuration : ici lm78, lm79, w83781d, sis5595, mais ce qui doit vous intéresser dans ce fichier c'est votre puce !, le reste vous pouvez l'effacer). Vous avez donc repéré votre puce dans <tt>/etc/sensors.conf</tt>. Vous devez trouver à la suite de cette ligne (<tt>chip  quelque chose</tt>) :


<div class="code">'''label''' in0 "VCore 1" <br /><tt>'''label''' in1 "VCore 2"</tt><br /><tt>'''label''' in2 "+3.3V"</tt><br /><tt>'''label''' in3 "+5V"</tt><br /><tt>'''label''' in4 "+12V"</tt><br /><tt>'''label''' in5 "-12V"</tt><br /><tt>'''label''' in6 "-5V"</tt>
<div class="code">'''label''' in0 "VCore 1" <br /><tt>'''label''' in1 "VCore 2"</tt><br /><tt>'''label''' in2 "+3.3V"</tt><br /><tt>'''label''' in3 "+5V"</tt><br /><tt>'''label''' in4 "+12V"</tt><br /><tt>'''label''' in5 "-12V"</tt><br /><tt>'''label''' in6 "-5V"</tt>
Ligne 128 : Ligne 128 :


= Copyright =
= Copyright =
Copyright &copy; Bonnaud
Copyright &copy; Frédéric Bonnaud
{{CC-BY-NC-SA}}
{{CC-BY-NC-SA}}

Version du 12 octobre 2005 à 08:41

Configuration des Senseurs de la carte mêre.

Configuration des Senseurs de la carte mère.
par Fred
Votre carte mère dispose peut-être de senseurs permettant de savoir, à tout moment, la température des différents éléments de celle-ci, ainsi que diverses informations intéressantes pour la bonne marche de votre PC, en particulier si vous comptez l'overclocker.

Ce qu'il nous faut

Pour pouvoir connaître l'état des différents senseurs de votre carte mère, il faut que nous installions deux (au moins) paquetages : i2c-2.9.2.tar.gz et lm_sensors-2.9.2.tar.gz que l'on peut trouver sur le site de l'auteur de ces paquetages.
Évidemment, lecteur quand tu liras ces lignes, les numéros des paquetages auront peut-être changé : prend la derniêre version !

Installation

La documentation de ces deux paquetages préconise trois types d'installation (au moment ou j'écris ces lignes), mais je ne vais m'intéresser qu'à une seule méthode : celle qui consiste à patcher (je ne vois de mot français, y a-t-il un académicien dans la salle ?) le noyau de Linux. L'opération se déroule sans douleur (évidemment, si vous n'avez jamais recompilé votre noyau, [../kernel/kernel.php3 allez voir la documentation sur ce site]).

Remarque : chaque commande qui suit est sur une seule ligne, bien sûr !

La premiêre chose à faire est de décompresser ces deux paquetages :

[user@localhost user]$ tar xzf i2c-2.9.2.tar.gz
[user@localhost user]$ tar xzf lm_sensors-2.9.2.tar.gz

Ensuite, il faut créer les patches. Pour que cela fonctionne, il faut, au préalable, avoir installé les sources du noyau dans /usr/src/linux (c'est l'emplacement par défaut de la plupart des distributions ; les paquetages nécessaires sont disponibles sur le CD de votre distribution).

Nous créons les patches par :

[user@localhost user]$ cd /home/user/i2c-2.9.2
[user@localhost i2c-2.9.2]$ mkpatch/mkpatch.pl . /usr/src/linux i2c-patch

Puis, on patche le noyau :

[user@localhost user]$ cd /usr/src/linux
[user@localhost linux]$ su
Password : ********
[root@localhost linux]# patch -p1 -E </home/user/i2c-2.9.2/i2c-patch
...
...

(Attention: ces commandes sont sur une seule ligne !) Voilà pour le patch i2c. Puis le patch lm_sensors :

[user@localhost user]$ cd /home/user/lm_sensors-2.9.2
[user@localhost lm_sensors-2.9.2]$ mkpatch/mkpatch.pl . /usr/src/linux > lm-patch

Enfin, il faut patcher le noyau :

[root@localhost linux]# patch -p1 -E < /home/user/lm_sensors-2.9.2/lm-patch
...
...

Normalement, tout ce passe bien et nos sources du noyau sont bien patchées !

Compilation des modules et du noyau

La compilation se déroule de manière standard pour les sources du noyau : on lance un make xconfig pour configurer les sources.
En plus des supports habituels pour votre configuration ([../kernel/kernel.php3 voir la documentation du site]), il faut que vous activiez (en modules c'est mieux...) tout dans : Character Devices/I2C support/ (en fait, seuls I2C support, I2C bit-banging interfaces, I2C PCF 8584 interfaces et Pseudo ISA adapter nous seront utiles). Il faut aussi que vous activiez tout dans : Character Devices/Hardware sensors support/.

Puis vous compilez votre noyau comme d'habitude :

make dep ; make bzImage ; make modules ; make modules_install

Vous l'installez, vous relancer lilo et vous rebootez !

Compilation des librairies et des utilitaires

Cette phase est essentielle : elle permet la détection automatique de vos senseurs etc...
Pour cela vous devez compilez les librairies libsensors.*. Placez vous dans le répertoire contenant les sources de lm_sensors :

$ cd /home/usr/lm_sensors-2.9.2

Et éditez le fichier nommé Makefile (c'est lui qui gére la compilation de lm_sensors), vous devez trouver les lignes noires et les remplacer par les lignes rouges :

COMPILE_KERNEL := 1
COMPILE_KERNEL := 0

I2C_HEADERS=/usr/local/include
I2C_HEADERS=$(LINUX_HEADERS)

PREFIX := /usr/local
PREFIX := /où/vous/voulez
# attention : les binaires seront installés dans $PREFIX/bin etc...

En fait, il suffit souvent de commenter la ligne noire (en mettant un # devant) et de décommenter la ligne rouge (en enlevant le # devant).

Maintenant on peut compilez le tout par make. Un certain nombre de fichiers ne sont pas trouvé : ce n'est pas grave. On installe le tout par : make install.

Une dernière étape avant la détection : la création des périphériques. Celle-ci se fait três simplement par le script : mkdev.sh. Il faut être root pour pouvoir le lancer :

$ su
Password : ********
# /home/user/lm_sensors-2.6.3/prog/mkdev/mkdev.sh

Voilà, il ne reste plus qu'à détecter vos senseurs.

Détection des senseurs

Là, c'est très simple : il suffit de lancer le script sensors-detect qui se trouve dans /home/user/lm_sensors-2.9.2/prog/detect, lancez-le et validez toutes les questions (les choix par défaut sont tous bons, mais vous pouvez lire ce qu'on vous demande pour affiner votre configuration). A la fin du script vous devez voir apparaître quelque chose comme :

WARNING! If you have some things built into your kernel, the
below list will contain too many modules. Skip the appropriate ones!
To load everything that is needed, add this to some /etc/rc* file:

#----cut here----
# I2C adapter drivers
modprobe i2c-piix4
modprobe i2c-isa
# I2C chip drivers
modprobe eeprom
modprobe w83781d # w83781d est le nom du chip !
#----cut here----

To make the sensors modules behave correctly, add these lines to either
/etc/modules.conf or /etc/conf.modules:

#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----cut here----

La première série de lignes en rouge (entre les cut here) doit être insérée dans votre fichier /etc/rc.d/rc.local : ce sont ces lignes qui vont charger au démarrage les modules permettant la lecture des senseurs (Attention : prenez les lignes correspondant à votre configuration, celles qui sont présentées ici sont les miennes !).

La seconde série doit être insérée dans le fichier /etc/conf.modules : elles servent au chargement automatique des modules qui peuvent être chargé automatiquement.

Voilà c'est tout.

Utilisation

L'installation de lm_sensors-2.9.2 crée un petit script de lecture des senseurs : sensors, lorqu'on le lance on obtient :

[user@localhost user]# sensors
w83781d-i2c-1-2d
Adapter: SMBus PIIX4 adapter at 5000
Algorithm: Non-I2C SMBus adapter
VCore 1: +1.98 V (min = +1.80 V, max = +2.20 V)
VCore 2: +2.00 V (min = +1.80 V, max = +2.20 V)
+3.3V: +3.36 V (min = +2.97 V, max = +3.63 V)
+5V: +5.07 V (min = +4.50 V, max = +5.48 V)
+12V: +11.86 V (min = +10.79 V, max = +13.11 V)
-12V: -12.38 V (min = -10.78 V, max = -13.18 V)
-5V: -5.12 V (min = -4.50 V, max = -5.48 V)
CPU Fan: 4891 RPM (min = 3000 RPM, div = 2)
CPU temp: +39.0 C (limit = +60.0 C, hysteresis = +50.0 C)
vid: +2.00 V
alarms: Chassis intrusion detection ALARM
beep_enable:
Sound alarm disabled

Ou en tout cas quelque chose d'approchant. Certaines informations peuvent vous sembler absurdes (par exemple des températures négatives etc...), elles correspondent en général à des senseurs non branchés ou non existants. Il peut être intéressant de désactiver ces senseurs (du moins leur lecture), cela se fait en éditant le fichier /etc/sensors.conf. Mais avant de pouvoir l'identifier il faut connaître le nom de la puce qui gère les senseurs : le [#chip_name chip]. Pour l'identifier, c'est simple, vous faites :

[user@gros home]# cat /proc/sys/dev/sensors/chips
256 w83781d-isa-0290
257 w83781d-i2c-1-2d
258 eeprom-i2c-1-50

Les noms des puces présentes sur ma carte mère sont en gras, en rouge c'est le protocole utilisé pour lire le contenu de ces puces.

Dans le fichiers /etc/sensors.conf, vous devez vous placer après une ligne commançant par :

chip "lm78-*" "lm78-j-*" "lm79-*" "w83781d-*" "sis5595-*"

(Comme vous pouvez le constater, plusieurs puces ont la même configuration : ici lm78, lm79, w83781d, sis5595, mais ce qui doit vous intéresser dans ce fichier c'est votre puce !, le reste vous pouvez l'effacer). Vous avez donc repéré votre puce dans /etc/sensors.conf. Vous devez trouver à la suite de cette ligne (chip quelque chose) :

label in0 "VCore 1"
label in1 "VCore 2"
label in2 "+3.3V"
label in3 "+5V"
label in4 "+12V"
label in5 "-12V"
label in6 "-5V"

label fan1 "CPU Fan"
ignore fan2
ignore fan3

ignore temp1
label temp2 "CPU temp"
ignore temp3

Les lignes commençant par label donnent un nom (celui que vous verrez dans la sortie de sensors) à un senseur : mettez ce qui vous plaît. Les lignes commençant par ignore signalent à sensors que ce senseur ne doit pas être lu : les senseurs qui retournent des informations erronées ou qui ne vous intéressent pas peuvent être ignorés avec profit.

Voilà, maintenant vous pouvez surveiller votre PC dans les moindres recoins !

Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Frédéric Bonnaud.

Copyright

Copyright © Frédéric Bonnaud

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike iconCreative Commons Noncommercial
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique, Contexte non commercial 2.0 :
http://creativecommons.org/licenses/by-nc-sa/2.0/fr/