Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > a412ceb851151854794ced2a242192bb > files > 2771

howto-html-fr-20080722-1mdv2010.0.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Comment puis-je trouver les périphériques et comment sont-ils configurés ?</title><link href="style.css" rel="stylesheet" type="text/css" /><meta content="DocBook XSL Stylesheets V1.73.2" name="generator" /><link rel="start" href="index.html" title="Guide pratique du Plug-and-Play" /><link rel="up" href="index.html" title="Guide pratique du Plug-and-Play" /><link rel="prev" href="ar01s06.html" title="Indiquer au pilote la configuration ??" /><link rel="next" href="ar01s08.html" title="Interruptions PCI" /></head><body><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Comment puis-je trouver les périphériques et
comment sont-ils configurés ?</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ar01s06.html">Précédent</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="ar01s08.html">Suivant</a></td></tr></table><hr /></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title"><a id="current_config" />Comment puis-je trouver les périphériques et
comment sont-ils configurés ?</h2></div></div></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N10D54" />La recherche des périphériques et la découverte de la
configuration sont liés</h3></div></div></div><p>Une fois que vous avez trouvé votre matériel, le même programme qui l'a
trouvé vous indique normalement comment il est configuré. Donc, trouver
comment un matériel est configuré revient habituellement à trouver le matériel.
</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N10D59" />Les périphériques pourraient avoir deux « <span class="quote">configurations</span> »</h3></div></div></div><p>Ici, « <span class="quote">configuration</span> » correspond à l'assignation des
ressources
bus <acronym class="acronym">PnP</acronym> (adresses, <acronym class="acronym">IRQ</acronym> et
<acronym class="acronym">DMA</acronym>). Pour chaque périphérique, il existe deux parties à
cette question de configuration :
<div class="itemizedlist"><ul><li><p>Que croit le pilote en ce qui concerne la configuration
    matérielle ?</p></li><li><p>Quelle configuration (s'il y en a une) est réellement
    enregistrée au niveau du matériel ?</p></li></ul></div>
Chaque partie devrait avoir la même réponse (la même configuration). La
configuration du périphérique physique et de son pilote devrait être évidemment
la même (elle l'est habituellement). Mais les choses ne fonctionnent
pas toujours bien et c'est pourquoi il existe une différence. Ceci veut dire
que le pilote dispose d'une mauvaise information sur la configuration actuelle
du matériel. Les problèmes arrivent. Si le logiciel que vous utilisez ne vous
dit pas exactement ce qui ne va pas (ou ne configure pas automatiquement
correctement), alors vous avez besoin de chercher comment vos périphériques
physiques et vos pilotes sont configurés. Alors que les pilotes de
périphériques Linux devraient tout vous dire, dans certains cas, il n'est pas
facile de déterminer ce qui a été enregistré au niveau matériel.</p><p>Un autre problème est que lors de la visualisation des messages de
configuration à l'écran, vous devez savoir si la configuration
affichée est celle du pilote, du périphérique physique ou des deux. Si le
pilote de périphérique a soit enregistré la configuration soit vérifié le
matériel, alors le pilote devrait avoir les bonnes informations.</p><p>Mais, quelquefois, le pilote a obtenu des ressources incorrectes par un
script ou un fichier de configuration, par des paramètres de ressources
incorrectes données à un module, ou peut-être même que la configuration ne lui a
pas été fournie complètement et qu'il essaie d'utiliser par défaut des ressources
incorrectes. Par exemple, quelqu'un peut utiliser <span class="command"><strong>setserial</strong></span>
pour indiquer au pilote de périphérique une configuration incorrecte des
ressources et le pilote les acceptera sans broncher. Mais le port série ne
fonctionne pas bien (s'il fonctionne tout court).</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N10D7C" />Trouver le matériel</h3></div></div></div><p>Un problème habituel est que le logiciel ne détecte pas votre 
périphérique ou ne détermine pas le bon pilote pour celui-ci. Pour les 
périphériques <acronym class="acronym">PnP</acronym>, les détecter est facile avec un 
logiciel <acronym class="acronym">PnP</acronym> sauf pour le cas inhabituel où le 
matériel a été désactivé. Le <acronym class="acronym">BIOS</acronym> peut parfois être 
initialisé pour désactiver les périphériques <acronym class="acronym">PnP</acronym> ou 
un cavalier/interrupteur sur le périphérique physique lui-même pourrait 
le désactiver. Dans ce cas, le matériel ne peut pas être détecté du tout 
jusqu'à ce que vous re-configuriez le <acronym class="acronym">BIOS</acronym> ou que 
vous changiez le cavalier/interrupteur.</p><p>Comme le bus <acronym class="acronym">PCI</acronym> est intrinsèquement
<acronym class="acronym">PnP</acronym>, il n'y a pas de périphériques
cachés. Même si les périphériques <acronym class="acronym">PnP</acronym> sont faciles à trouver
avec les méthodes
PnP, si le pilote n'utilise pas les méthodes <acronym class="acronym">PnP</acronym> mais utilise
l'ancienne méthode
de recherche aux adresses supposées, ils pourraient ne pas être trouvés. Ceci
est dû au fait que, avant que les ressources bus aient été initialisées (par le
<acronym class="acronym">BIOS</acronym> ou Linux), le périphérique pourrait ne pas avoir
d'adresses du tout, donc
parcourir les adresses habituelles n'apportera rien. Pour l'ancien bus
<acronym class="acronym">ISA</acronym>,
quelques-uns des périphériques pourraient être non <acronym class="acronym">PnP</acronym> et, de
ce fait, les
anciennes méthodes pourraient fonctionner. Donc, de nombreux pilotes continuent
à parcourir les adresses habituelles en plus d'utiliser les méthodes
<acronym class="acronym">PnP</acronym>
(parcours <acronym class="acronym">PnP</acronym>, quelquefois appelé simplement
parcours).</p><p>Façons de détecter des périphériques matériels (et leur configurations)
 : (suivre le lien pour plus de détails)
<div class="itemizedlist"><ul><li><p>Vérifier le <acronym class="acronym">BIOS</acronym> pour vous assurer qu'ils
    ne sont pas désactivés ;</p></li><li><p>Regarder les messages de démarrage à l'écran (voir <a class="link" href="ar01s07.html#boot_time_msgs" title="Messages de démarrage">les messages au démarrage</a>) ;
    </p></li><li><p>Regarder dans <a class="xref" href="ar01s07.html#proc_dir" title="Le répertoire /proc">la section intitulée « Le répertoire /proc »</a> ;
    </p></li><li><p><a class="link" href="ar01s07.html#hw_detect" title="Outils pour détecter ou configurer le matériel">Outils pour détecter et 
  configurer tout le matériel</a>... lsdev, hwinfo, discover,
    kudzu ;</p></li><li><p><a class="link" href="ar01s07.html#hw_detect_one_type" title="Outils pour détecter et configurer un type de matériel">Outils pour 
  détecter ou
    configurer un type de matériel</a> ;</p></li><li><p><acronym class="acronym">PCI</acronym> : <a class="xref" href="ar01s07.html#pci_" title="Inspection du bus PCI">la section intitulée « Inspection du bus <acronym class="acronym">PCI</acronym> »</a> 
    </p></li><li><p>Bus <acronym class="acronym">ISA</acronym> : <a class="xref" href="ar01s07.html#isa_bus" title="Introduction au bus ISA">la section intitulée « Introduction au bus <acronym class="acronym">ISA</acronym> »</a>
    </p></li><li><p>Bus <acronym class="acronym">ISA</acronym> : <a class="xref" href="ar01s07.html#isa_pnp" title="Cartes ISA PnP">la section intitulée « Cartes <acronym class="acronym">ISA</acronym>
<acronym class="acronym">PnP</acronym> »</a>
    </p></li><li><p>Bus <acronym class="acronym">ISA</acronym> : <a class="xref" href="ar01s07.html#non_pnp" title="Cartes non PnP">la section intitulée « Cartes non <acronym class="acronym">PnP</acronym> »</a>
    </p></li><li><p>Bus <acronym class="acronym">ISA</acronym> : <a class="xref" href="ar01s07.html#jumpers_" title="Cartes non PnP avec cavaliers">la section intitulée « Cartes non <acronym class="acronym">PnP</acronym> avec
cavaliers »</a>
    </p></li><li><p>Bus <acronym class="acronym">ISA</acronym> : <a class="xref" href="ar01s07.html#neither_" title="Cartes non PnP et sans cavaliers">la section intitulée « Cartes non <acronym class="acronym">PnP</acronym> et sans
cavaliers »</a>
    </p></li><li><p>Et <a class="xref" href="ar01s07.html#check_ms" title="Utilisez MS Windows">la section intitulée « Utilisez MS Windows »</a>
    </p></li></ul></div>
</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="boot_time_msgs" />Messages de démarrage</h3></div></div></div><p>Des informations significatives sur la configuration peuvent être obtenues
en lisant
les messages affichés par le <acronym class="acronym">BIOS</acronym> et par Linux lors du
démarrage de l'ordinateur. Ces messages disparaissent souvent trop rapidement
pour être lus mais, une fois le défilement terminé, tapez
<span class="keycap"><strong>Majuscule</strong></span>+<span class="keycap"><strong>Page Suivante</strong></span>
plusieurs
fois pour revenir en arrière. Pour aller en avant, faites
<span class="keycap"><strong>Majuscule</strong></span>+<span class="keycap"><strong>Page Précédente</strong></span>.
Utilisez
<span class="command"><strong>dmesg</strong></span> à la console à n'importe quel moment pour afficher
seulement les messages du noyau. Vous ne verrez pas certains messages les plus
importants provenant généralement du <acronym class="acronym">BIOS</acronym>. Les messages
affichés par Linux peuvent parfois n'afficher que ce que le pilote de
périphérique croit être configuré, peut-être à cause d'un mauvais fichier de
configuration. Vérifier les fichiers de traces dans <code class="filename">/var/log</code> peut être utile.</p><p>Pour le bus <acronym class="acronym">PCI</acronym>, la notation 00:1a:0 signifie le
bus <acronym class="acronym">PCI</acronym> 00 (le bus <acronym class="acronym">PCI</acronym> principal), la
carte <acronym class="acronym">PCI</acronym> (ou le composant) 1a et la fonction 0 (le premier
périphérique) sur la carte ou le composant. Le deuxième périphérique sur la
carte (ou sur le composant) devrait être 00:08:1.</p><p>Les messages du <acronym class="acronym">BIOS</acronym> s'affichent en premier et
montrent la configuration du matériel à ce moment, mais
<span class="command"><strong>isapnp</strong></span>, ou les utilitaires <acronym class="acronym">PCI</acronym>, voire les
pilotes de
périphériques peuvent le changer plus tard. Dans certains cas, il n'affiche pas
les périphériques que le <acronym class="acronym">BIOS</acronym> n'a pas configuré.</p><p><a id="pause_" />Si les messages du <acronym class="acronym">BIOS</acronym> ne s'affichent pas
en revenant au
début des messages du <acronym class="acronym">BIOS</acronym> avec
<span class="keycap"><strong>Majuscule</strong></span>+<span class="keycap"><strong>Page Suivante</strong></span>,
essayez de mettre en pause lorsqu'ils apparaissent, en utilisant la touche
<span class="keycap"><strong>Pause</strong></span> dès que les premiers mots
apparaissent. Appuyez sur n'importe quelle touche pour continuer. Il est souvent
difficile d'appuyer sur <span class="keycap"><strong>Pause</strong></span> exactement
au bon moment. Assurez-vous d'appuyer continuellement sur la touche
<span class="keycap"><strong>Shift</strong></span> avant d'appuyer sur
<span class="keycap"><strong>Pause</strong></span> car
<span class="keycap"><strong>Pause</strong></span>
est une touche nécessitant l'utilisation de
<span class="keycap"><strong>Shift</strong></span>.
Si vous n'avez pas réussi, appuyez sur
<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Del</strong></span>
au lancement de Linux pour le relancer et essayer de nouveau. Une fois que les
messages de Linux commencent à être visibles, il est trop tard pour utiliser
<span class="keycap"><strong>Pause</strong></span> car cela ne gèlera pas les messages
de Linux.</p><p>Pour initialiser des éléments du <acronym class="acronym">BIOS</acronym> comme les
<acronym class="acronym">IRQ</acronym> réservés au matériel
propriétaire, aux adresses des ports série, et cætera vous aurez besoin d'entrer dans
les menus de configuration du <acronym class="acronym">BIOS</acronym> (CMOS) au lancement.
Chaque marque de <acronym class="acronym">BIOS</acronym> a
différentes touches pour ce faire. Il existe des listes sur Internet. Parfois
en gelant l'affichage des messages du <acronym class="acronym">BIOS</acronym> ou en
regardant l'écran, la
touche que vous devez appuyer sera indiquée dans un message tel que
« <span class="quote">Press DEL for setup</span> » (« <span class="quote">Appuyez sur DEL pour la
configuration</span> »). Mais il pourrait disparaître si rapidement que vous ne
le
verrez pas. Bien sûr, vous ne modifiez rien dans le <acronym class="acronym">BIOS</acronym> que
vous ne comprenez
pas. Le cas contraire, votre PC pourrait être désactivé.</p><p>Les messages du <acronym class="acronym">BIOS</acronym> au démarrage vous indiquent
ce que fut la configuration du matériel. La configuration actuelle 
pourrait toujours être la même que ce qu'a fait le 
<acronym class="acronym">BIOS</acronym> et que Linux devrait accepté si c'est bon. Les 
messages de Linux pourraient provenir des pilotes utilisant les 
fonctions <acronym class="acronym">PnP</acronym> du noyau pour inspecter ou configurer 
les ressources bus. Cela devrait être correct mais attention aux 
messages qui affichent seulement ce que le pilote a lu de son fichier de 
configuration. Cela pourrait être faux. Bien sûr, si le périphérique 
fonctionne bien, alors il est configuré probablement de la même façon 
par le pilote.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="proc_dir" />Le répertoire /proc</h3></div></div></div><p>Depuis le noyau 2.6, il existe aussi un répertoire <code class="filename">/sys</code> en plus du répertoire <code class="filename">/proc</code>. Ces répertoires sont utiles pour récupérer
les configurations des ressources et périphériques. Les fichiers qu'ils
contiennent représentent des données provenant de la mémoire du noyau et
n'existent pas du tout sur votre disque dur. Les programmes comme
<code class="filename">lspci</code> récupèrent leurs informations du répertoire
<code class="filename">/proc</code> et ils doivent les afficher
d'une façon plus lisible qu'en lisant directement le contenu des fichiers
de ce répertoire. Voici quatre fichiers provenant de <code class="filename">/proc</code> qui montrent les ressources enregistrées
dans le noyau par les pilotes de périphériques.</p><p>Comme le Plug-And-Play de Linux fonctionne en laissant les pilotes de
périphériques alloués les ressources pour leur périphérique, il pourrait ne
pas y avoir de ressources utilisées par certains de vos matériels si le pilote
n'a pas encore réclamé que ces ressources lui soient réservées. Pour les cas
des modules du noyau (pilotes de périphérique chargeables), si le module n'est
pas encore chargé, le noyau ne connaît pas les ressources dont le module a
besoin. Quelque fois, le module se charge seulement quand vous lancez une
application qui en a besoin. Donc, si un certain matériel est manquant parmi
les fichiers de <code class="filename">/proc</code>, cela pourrait
signifier que le matériel n'a pas encore été utilisé. Par exemple, même si votre
lecteur de disquette dispose d'une disquette et est prêt à être utilisé, son
interruption n'apparaîtra tant que le lecteur n'est pas utilisé.</p><p><code class="filename">/pts</code> affiche les adresses d'entrée/sortie. S'il y a
une erreur (mauvaise adresse), cela pose problème car le périphérique n'obtiendra
pas les octets qui lui sont envoyés. <code class="filename">/proc/iomem</code> affiche
les adresses mémoires d'entrée/sortie qui sont réservées.
<code class="filename">/proc/interrupts</code> affiche les interruptions en cours
d'utilisation. <code class="filename">/proc/dma</code> affiche les allocations de canaux
DMA pour le bus ISA.</p><p>Dans le passé, l'auteur a observé une liste d'interruptions qui
n'existaient pas. Dans certains cas, cela montrait que quelques interruptions
étaient vraiment envoyées. Ceci peut être dû à des matériels défectueux envoyant
des interruptions erronées.</p><p><code class="filename">/proc/bus/</code> contient les
sous-répertoires <code class="filename">/input/</code>, <code class="filename">/pci/</code> et <code class="filename">/isapnp/</code>. Le format de la plupart des fichiers
dans ce répertoire est vraiment cryptique, souvent une simple copie des octets de
l'espace de configuration. Donc, utilisez-les seulement en dernier ressort. Le
sous-répertoire <code class="filename">input/</code> a des informations
sur les périphériques en entrée comme le clavier ou la souris. Elles ne sont pas
aussi complexes que les autres répertoires sous <code class="filename">/proc/bus</code> et pourraient fournir des informations
utiles sur les périphériques d'entrées qui sont sur les ports <acronym class="acronym">PS2</acronym>
ou sur le bus <acronym class="acronym">LPC</acronym> (voir <a class="xref" href="ar01s07.html#lpc_" title="Bus LPC">la section intitulée « Bus <acronym class="acronym">LPC</acronym> »</a>).
Malheureusement, ce que j'ai vu ne dit pas que c'est sur le bus
<acronym class="acronym">LPC</acronym> où il est probablement. Dans
<code class="filename">/pci/00/</code> se trouve un fichier binaire pour
chaque périphérique <acronym class="acronym">PCI</acronym> où les noms des fichiers sont les
numéros des emplacements <acronym class="acronym">PCI</acronym>. Le 00 signifie le bus
<acronym class="acronym">PCI</acronym> 0.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="sys_dir" />Le répertoire /sys</h3></div></div></div><p>À partir du noyau 2.6, il existe un nouveau répertoire /sys pour la
configuration de <acronym class="acronym">PnP</acronym>. Il s'agit d'un système de fichiers de
type sysfs et c'est un équivalent du système de fichiers /proc car les
« <span class="quote">fichiers</span> » représentent une information de la mémoire du noyau et
non pas un vrai fichier de votre disque dur. Cependant, il n'est pas aussi utile
que le système de fichiers /proc. Au début (pour les noyaux 2.5), il s'appelait
le « <span class="quote">système de fichiers des pilotes</span> » et avait comme type
« <span class="quote">driverfs</span> ».</p><p>Dans ce système de fichiers, chaque périphérique existant sur votre
système a son propre répertoire contenant des fichiers spécifiant les
ressources qui lui sont affectées. Ces répertoires ont des noms comme
<code class="filename">0000:00:12.0@</code> ou <code class="filename">00:06@</code>. Quels sont
ces périphériques ? Le premier est une carte <acronym class="acronym">PCI</acronym> dans
l'emplacement 12 de votre PC. L'emplacement pourrait être appelé
<acronym class="acronym">PCI</acronym>2 dans votre PC (2 au lieu de 12) tout simplement parce
que les emplacements ayant des numéros fiables sont utilisés par les
emplacements intégrés à la carte mère et n'utilisent pas les emplacements
physiques. Dans cet exemple, les emplacements 1 à 10 seraient intégrés alors que
les emplacements 11 à 14 seraient appelés de 1 à 4. En exécutant
<span class="command"><strong>lspci</strong></span>, vous connaîtrez la correspondance entre les numéros
(comme 0000:00:12.0) et les noms (identique à l'interface IDE). Exécutez
la commande <span class="command"><strong>lspci -vv</strong></span>, ou <span class="command"><strong>lspci -vv</strong></span> si
vous voulez en voir plus.</p><p>Alors, qu'est-ce que <code class="filename">00:06</code> ? C'est une carte
<acronym class="acronym">ISA</acronym> (ou un périphérique intégré) mais ce n'est pas
l'emplacement 6 du bus <acronym class="acronym">ISA</acronym> (contrairement au numérotage
<acronym class="acronym">PCI</acronym>). Quand une recherche est faite pour les périphériques
<acronym class="acronym">PnP</acronym> <acronym class="acronym">ISA</acronym>, il a été le sixième découvert.
Plus précisément, il était le septième trouvé car il existe un périphérique
numéroté 00:00. Donc, comment les identifier ? Vous pouvez lancer
« <span class="quote">cat */*</span> » et afficher tous les fichiers pour tous les périphériques
mais même à ce moment-là vous ne verrez pas les noms des périphériques (mais
vous verrez l'information qui vous permettra de l'identifier). Ce problème sera
corrigé dans le futur.</p><p>Non seulement ces fichiers apportent des informations sur la
configuration des ressources du bus (d'une manière un peu cryptée) et sur les
pilotes (dans les répertoires « <span class="quote">drivers</span> ») mais, dans le futur, vous
devriez être capable de les utiliser pour modifier la configuration des
ressources. Actuellement (août 2004), vous ne pouvez pas configurer le bus
<acronym class="acronym">PCI</acronym> avec cela. Une sérieuse limitation est qu'avec le
« <span class="quote">modèle de pilote</span> » actuel, vous ne pouvez pas changer la ressource
d'un périphérique qui a été affecté à un pilote, ce qui signifie généralement
que vous aurez besoin de décharger le module du pilote pour pouvoir l'utiliser.
Si le pilote est intégré, il n'y a aucun espoir. Ces sérieuses limitations
seront éliminées dans le futur avec un peu de chance. Dans la documentation du
noyau se trouve un fichier <code class="filename">pnp.txt</code> indiquant comment
réaliser la configuration. En août 2004, il était obsolète mais
l'auteur travaille sur une mise à jour. Utiliser le répertoire <code class="filename">/sys</code> pour configurer les ressources est connue
comme l'« <span class="quote">interface utilisateur pour le Plug and Play de
Linux</span> ».</p><p>L'autre partie de « <span class="quote">Linux Plug and Play</span> » est l'interface noyau
utilisée par les pilotes de périphériques. Elle a beaucoup changé depuis le
début du noyau 2.6 mais la plupart des pilotes utilisent toujours l'ancienne
interface (août 2004). Il est aussi possible pour les pilotes (ou vous)
d'utiliser l'interface utilisateur qui a besoin d'améliorations.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="pci_" />Inspection du bus <acronym class="acronym">PCI</acronym></h3></div></div></div><p>Il est facile de trouver quelles ressources bus ont été assignées 
aux périphériques du bus <acronym class="acronym">PCI</acronym> avec les commandes 
<span class="command"><strong>lspci</strong></span> et <span class="command"><strong>scanpci</strong></span>. Les options -v 
et -vv vous donneront plus de détails. Dans certains cas, 
<span class="command"><strong>scanpci</strong></span> trouvera un périphérique que 
<span class="command"><strong>lspci</strong></span> ne peut pas trouver. Ceci est dû au fait que 
<span class="command"><strong>scanpci</strong></span> recherche les périphériques directement sur 
le bus <acronym class="acronym">PCI</acronym> (via l'espace de configuration) et 
n'utilise pas les données obtenues par le noyau (qui pourraient être 
fausses à cause d'un bogue du noyau — je viens de trouver un tel 
cas).</p><p>Cette information d'un format crypté est disponible dans les
« <span class="quote">fichiers</span> » situés dans les répertoires <code class="filename">/sys</code> et <code class="filename">/proc</code>.
Dans <code class="filename">/sys/bus/pci/devices</code>, le fichier
<code class="filename">vendor</code> contiendra le numéro d'identifiant du vendeur, comme
0x4B8C, et cætera. Dans un format encore moins compréhensible, il se trouve dans
<code class="filename">/proc/bus/pci</code>. De telles informations dans
les anciens noyaux (avant le 2.6) se trouvaient dans <code class="filename">/proc/pci</code> (compréhensible malgré que les
<acronym class="acronym">IRQ</acronym> soient en hexadécimal) ou dans <code class="filename">/proc/buspci/devices</code> (affichage non compréhensible).
</p><p>Dans la plupart des cas pour le <acronym class="acronym">PCI</acronym>, vous verrez
seulement comment le matériel est maintenant configuré et pas quelles
ressources sont nécessaires. Dans certains cas, vous verrez seulement l'adresse
de base (le début des plages d'adresses) mais pas celle de fin. Si vous
disposez de l'espace complet, alors vous pourrez déterminer combien d'octets de
ressources sont nécessaires.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="isa_bus" />Introduction au bus <acronym class="acronym">ISA</acronym></h3></div></div></div><p>Pour les cartes du bus <acronym class="acronym">ISA</acronym>, ce n'est pas aussi simple
que pour le bus <acronym class="acronym">PCI</acronym> qui est conçu pour le
<acronym class="acronym">PnP</acronym>. Les cartes <acronym class="acronym">ISA</acronym> récentes étaient
<acronym class="acronym">PnP</acronym> contrairement aux anciennes. De même, certaines cartes
<acronym class="acronym">PnP</acronym> ont leur partie <acronym class="acronym">PnP</acronym> désactivée par
des logiciels spéciaux ne fonctionnant que sous MS Windows. Les cartes non
<acronym class="acronym">PnP</acronym> sont configurées avec des cavaliers sur la carte ou par
des logiciels sous MS Windows.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="isa_pnp" />Cartes <acronym class="acronym">ISA</acronym>
<acronym class="acronym">PnP</acronym></h3></div></div></div><p>Si c'est une carte <acronym class="acronym">PnP</acronym>, vous pouvez essayer
<strong class="userinput"><code>pnpdump --dumpregs</code></strong> mais ce n'est pas une certitude. Le
résultat peut sembler crypté mais il peut être déchiffré. Ne confondez pas les
adresses de port de lecture que <span class="command"><strong>pnpdump</strong></span> utilise pour
communiquer avec les cartes <acronym class="acronym">PnP</acronym> avec l'adresse
d'entrées/sorties du périphérique trouvé. Elles ne sont pas identiques.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="lpc_" />Bus <acronym class="acronym">LPC</acronym></h3></div></div></div><p><acronym class="acronym">LPC</acronym> (acronyme de <span class="foreignphrase"><em class="foreignphrase">Low Pin
Count</em></span>, soit petit nombre de connecteurs) est une interface
type bus souvent utilisée sur les portables et de plus en plus utilisée sur
les machines de bureau. Pour savoir si vous disposez d'un bus
<acronym class="acronym">LPC</acronym>, saisissez la commande <span class="command"><strong>lspci</strong></span> et
cherchez quelque chose comme « <span class="quote">LPC</span> ». Il y a d'autres mots prêt de
« <span class="quote">LPC</span> » comme « <span class="quote">ISA Bridge ... LPC Interface Controller</span> »
ou « <span class="quote">LPC Bridge</span> », et cætera. <acronym class="acronym">LPC</acronym> n'est pas réellement
de l'<acronym class="acronym">ISA</acronym> mais il se substitue à un bus
<acronym class="acronym">ISA</acronym>.</p><p>L'ancien bus ISA était lent et les périphériques qui avaient besoin de
plus de rapidité étaient placés sur le nouveau bus PCI. Mais les périphériques
qui n'avaient pas besoin d'une grande vitesse étaient souvent implémentés par
des composants sur la carte mère et restaient sur le bus ISA même s'il n'y
avait aucun emplacement pour des cartes ISA. Puis le bus LPC est arrivé pour
remplacer les cartes ISA restantes. LPC est bien plus petit que l'ISA et aussi
rapide car son horloge est quatre fois plus rapide que celle du bus ISA. Son
bus multiplexé pour les données/adresses et le contrôle est composé de quatre
fils. Envoyer un octet requiert la séparation de l'octet en deux demi-octets
et leur réassemblage après. Cela explique la signification de l'acronyme
LPC : Low Pin Count (petit nombre de broches). Il y a aussi quelques lignes
sur le bus.</p><p>Cette petite interface LPC est utilisé pour les périphériques propriétaires
lents comme les ports séries, les ports parallèles et les lecteurs de disquette.
Donc, un ordinateur utilisant le bus LPC aura tous ces périphériques rapides sur
le bus PCI, et cætera et les périphériques lents sur le bus LPC. Tous les périphériques
LPC seront sur la carte : il n'existe pas d'emplacement pour carte LPC.</p><p>Un composant majeur du bus <acronym class="acronym">LPC</acronym> est le composant
superio, contenant des périphériques d'entrées/sorties propriétaires :
ports série et parallèle, lecteur de disquette, contrôleur de clavier, et cætera. Le
<acronym class="acronym">BIOS</acronym> pourrait même se trouver sur le bus
<acronym class="acronym">LPC</acronym>. Le clavier et la souris (périphériques en entrée)
devraient être listés dans <code class="filename">/proc/bus/input/devices</code> mais,
au lieu de voir « <span class="quote">lpc</span> », il semble afficher
« <span class="quote">isa0060/serio0</span> », et cætera même s'ils se trouvent sur le bus LPC, et
non pas sur le bus ISA.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N1105B" />X-bus</h3></div></div></div><p>Avant que le bus LPC devienne populaire, il existait un bus X (pas
couvert dans ce guide pratique) qui a servi dans le même but que le bus
LPC mais qui n'était pas aussi compact que le bus LPC. Certains PC
disposent des deux bus.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="non_pnp" />Cartes non <acronym class="acronym">PnP</acronym></h3></div></div></div><p>En contraste avec les cartes <acronym class="acronym">PnP</acronym>, les cartes non
<acronym class="acronym">PnP</acronym> ont toujours leurs ressources configurées au niveau
matériel. C'est-à-dire qu'elles ont toujours une adresse et une
<acronym class="acronym">IRQ</acronym> sauf s'il
existe une configuration par cavalier, et cætera pour désactiver le périphérique.
Quelquefois, le pilote du périphérique, ou un autre logiciel, peut trouver les
ressources utilisées simplement en cherchant sur chaque adresse. Par exemple,
<span class="command"><strong>scanport</strong></span> (Debian uniquement ?) cherche sur la plupart
des adresses d'entrées/sorties et peut trouver des périphériques
<acronym class="acronym">ISA</acronym>. Mais, attention, cela peut bloquer votre PC. Quelque
fois, il échouera dans sa recherche du matériel disponible (car le matériel a
0xff dans ses registres). Même s'il trouve le matériel, il n'affichera pas
l'<acronym class="acronym">IRQ</acronym> ou n'identifiera pas positivement le matériel.</p><p>Donc, une façon de trouver ce matériel est de lancer un pilote, qui
pourrait chercher un tel matériel. En regardant dans les messages du démarrage,
vous pourriez voir un pilote se lancer et découvrir le matériel. Sinon, vous
pourriez avoir besoin de trouver un pilote et de le lancer (par exemple, en le
chargeant comme un module).</p><p>Trouver le bon pilote peut être difficile. Quelquefois, il n'existe tout
simplement pas de pilote car certains périphériques ne sont pas (encore) gérés
par Linux. Pour déterminer le pilote dont vous avez besoin, jetez un œil
sur
toute documentation pouvant vous permettre d'identifier la carte. Si ceci
échoue, jetez un œil à la carte elle-même, avec les noms/numéros
importants
inscrits sur les composants. Mais l'identification du module de pilote dont vous
avez besoin pourrait n'être pas disponible sur la carte. Vous pouvez trouver
l'identifiant FCC sur la carte, puis chercher sur Internet avec ce numéro pour
essayer de trouver plus d'informations sur la carte (ou sur les composants en
faisant partie).</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="jumpers_" />Cartes non <acronym class="acronym">PnP</acronym> avec
cavaliers</h3></div></div></div><p>Si la carte dispose de cavaliers pour configurer les ressources, alors
vous pouvez regarder la façon dont ils sont installés. Il existe des cartes qui
ont à la fois le support de <acronym class="acronym">PnP</acronym> et des cavaliers. Elles
fonctionnent comme des cartes à cavalier si <acronym class="acronym">PnP</acronym> a été
désactivé d'une façon ou d'une autre. Vous pourriez avoir besoin de la
documentation (soit imprimée soit sur disquette) venant avec la carte. Peut-être
pourrez-vous la trouver sur Internet.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="neither_" />Cartes non <acronym class="acronym">PnP</acronym> et sans
cavaliers</h3></div></div></div><p>Un des cas les plus difficiles est quand du logiciel fonctionnant sous MS
Windows a été utilisé pour configurer une carte non <acronym class="acronym">PnP</acronym> ou
une carte <acronym class="acronym">PnP</acronym> où la partie <acronym class="acronym">PnP</acronym> a été
désactivée. Donc, vous ne pouvez la configurer par <acronym class="acronym">PnP</acronym> ou par
des cavaliers. Dans ce cas, votre seul espoir est de chercher les adresses comme
décrit dans <a class="xref" href="ar01s07.html#non_pnp" title="Cartes non PnP">la section intitulée « Cartes non <acronym class="acronym">PnP</acronym> »</a>. Ou essayez de trouver le logiciel MS qui
l'a configuré.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="hw_detect" />Outils pour détecter ou configurer le matériel</h3></div></div></div><p>Dans un effort dupliqué, plusieurs distributions majeures de Linux 
ont développé leur propre outil de détection et de configuration du 
matériel. Ils configurent généralement bien plus que les ressources 
Plug-and-Play. C'est une configuration générale qui est bien au-delà du 
domaine couvert par ce guide pratique.</p><p>Puis, d'autres distributions, comme Debian, pouvaient obtenir des copies
des outils et les offrir à leurs utilisateurs comme option ou comme outil en
cas de problème. Ces outils utilisent généralement les outils Linux standard
pour détecter le matériel, comme par exemple <span class="command"><strong>lspci</strong></span>. Dans la
liste d'outils qui suit, le nom de la distribution qui l'a conçu est entre
parenthèses mais l'outil est certainement disponible aussi pour les autres
distributions.</p><div class="itemizedlist"><ul><li><p><span class="command"><strong>hardinfo</strong></span> ;</p></li><li><p><span class="command"><strong>hwinfo</strong></span> (SuSE) détecte plus de choses que
    <span class="command"><strong>discover</strong></span> ;</p></li><li><p><span class="command"><strong>discover</strong></span> (Progeny, utilisé par
    Debian) ;</p></li><li><p><span class="command"><strong>Kudzu</strong></span> (RedHat) détecte et
    configure ;</p></li><li><p><span class="command"><strong>lsdev</strong></span> (commande Linux
    standard) ;</p></li><li><p><span class="command"><strong>hwsetup-knoppix</strong></span> (Knoppix, basé sur
    Kudzu).</p></li></ul></div></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="hw_detect_one_type" />Outils pour détecter et configurer un type de matériel</h3></div></div></div><p>Il existe différents outils disponibles pour trouver et, quelque fois,
configurer différents types de périphériques. Cette configuration est
généraliste et n'est pas couverte dans ce guide pratique.</p><div class="itemizedlist"><ul><li><p><span class="command"><strong>read-edid</strong></span> (<span class="command"><strong>get-edid</strong></span>) :
    récupère les paramètres des moniteurs <acronym class="acronym">VESA</acronym> (à part les
    très anciens) ;</p></li><li><p><span class="command"><strong>sndconfig</strong></span> : pour les cartes
    son ;</p></li><li><p><span class="command"><strong>printtool</strong></span> : imprimantes (X-window doit
    être en cours d'exécution) ;</p></li><li><p><span class="command"><strong>pconf-detect</strong></span> : ports
    parallèles ;</p></li><li><p><span class="command"><strong>gpm-mouse-test</strong></span> : détecte et teste les
    souris</p></li><li><p><span class="command"><strong>mdetect</strong></span> : détecte et configure les
    souris. Connaît-il les souris sur
    <code class="filename">/dev/input/</code> ?</p></li><li><p><span class="command"><strong>nictools-pci</strong></span> (et <span class="command"><strong>nictools-nopci</strong></span>)
    pour les cartes ethernet ;</p></li><li><p><span class="command"><strong>hdparm</strong></span> : configure les disques
    durs ;</p></li><li><p><span class="command"><strong>hotplug</strong></span> : utilisé par le
    noyau ;</p></li><li><p><span class="command"><strong>xvidtune</strong></span> : configure la vidéo avec
    Xwindows (voir XFree86-Video-Timings-HOWTO).</p></li></ul></div></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="check_ms" />Utilisez MS Windows</h3></div></div></div><p>Quelques personnes ont essayé d'utiliser Windows pour voir comment 
les ressources bus étaient configurées. Malheureusement, comme le 
matériel <acronym class="acronym">PnP</acronym> oublie sa configuration de ressources 
bus à l'arrêt, la configuration peut ne pas être identique lors du 
redémarrage sous Linux pour le matériel non <acronym class="acronym">PnP</acronym> (ou 
lorsque quelqu'un a désactivé <acronym class="acronym">PnP</acronym> dans le 
périphérique soit par des cavaliers soit en utilisant des logiciels 
Windows). Même pour <acronym class="acronym">PnP</acronym>, cela peut être le cas parce 
que dans beaucoup de cas, Windows et Linux acceptent simplement ce que 
le <acronym class="acronym">BIOS</acronym> a fait. Mais là où Windows et Linux font une 
configuration, ils peuvent le faire différemment. Donc ne comptez pas à 
ce que les périphériques soient configurés de la même manière. </p></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ar01s06.html">Précédent</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="ar01s08.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">Indiquer au pilote la
configuration ?? </td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%"> Interruptions PCI</td></tr></table></div></body></html>