<!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>