<!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>Gérer les cartes PnP</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="ar01s04.html" title="Configurer un BIOS PnP" /><link rel="next" href="ar01s06.html" title="Indiquer au pilote la configuration ??" /></head><body><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Gérer les cartes <acronym class="acronym">PnP</acronym></th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ar01s04.html">Précédent</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="ar01s06.html">Suivant</a></td></tr></table><hr /></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title"><a id="N108C7" />Gérer les cartes <acronym class="acronym">PnP</acronym></h2></div></div></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N108CC" />Introduction à la gestion des périphériques <acronym class="acronym">PnP</acronym></h3></div></div></div><p>De nos jours, pratiquement toutes les nouvelles cartes internes sont Plug-and-Play. Du coup, la configuration des ressources bus devraient être dans la plupart des cas entièrement automatique. Si un périphérique ne fonctionne pas, vérifiez s'il a été détecté, par exemple en redémarrant. Si le pilote de périphérique ne peut pas configurer les ressources, alors probablement une ou plus des méthodes du 2.6 le feront : <div class="itemizedlist"><ul><li><p><a class="xref" href="ar01s05.html#dev_d_conf" title="Configuration du pilote de périphérique, réservation des ressources">la section intitulée « Configuration du pilote de périphérique, réservation des ressources »</a> ;</p></li><li><p><a class="xref" href="ar01s05.html#sys_" title="/sys : interface de configuration pour l'utilisateur">la section intitulée « /sys : interface de configuration pour l'utilisateur »</a> le noyau 2.6+ (pas encore pour le <acronym class="acronym">PCI</acronym> et quelques autres sévères limitations) ;</p></li><li><p><a class="xref" href="ar01s05.html#bios_conf" title="Configuration du BIOS">la section intitulée « Configuration du <acronym class="acronym">BIOS</acronym> »</a> (pour le bus <acronym class="acronym">PCI</acronym>, vous avez seulement besoin d'un <acronym class="acronym">BIOS</acronym> <acronym class="acronym">PCI</acronym>, sinon vous avez besoin d'un <acronym class="acronym">BIOS</acronym> <acronym class="acronym">PnP</acronym>) ;</p></li><li><p><a class="xref" href="ar01s05.html#disable_pnp" title="ISA seulement : Désactiver PnP ?">la section intitulée « <acronym class="acronym">ISA</acronym> seulement : Désactiver <acronym class="acronym">PnP</acronym> ? »</a> par des cavaliers ou avec un logiciel DOS/Windows (mais la plupart des cartes ne le font pas) ; </p></li><li><p><a class="xref" href="ar01s05.html#isapnp_" title="Bus ISA : Isapnp (outil faisant partie d'isapnptools)">la section intitulée « Bus <acronym class="acronym">ISA</acronym> : Isapnp (outil faisant partie d'isapnptools) »</a> est un programme que vous pouvez toujours utiliser pour configurer les périphériques <acronym class="acronym">PnP</acronym> du bus <acronym class="acronym">ISA</acronym> (seulement),</p></li><li><p><a class="xref" href="ar01s05.html#pciutils_" title="Les utilitaires PCI">la section intitulée « Les utilitaires <acronym class="acronym">PCI</acronym> »</a> permet de configurer le bus <acronym class="acronym">PCI</acronym> mais le pilote de périphérique devrait le gérer ; </p></li><li><p><a class="xref" href="ar01s05.html#windows_conf" title="Configuration de Windows">la section intitulée « Configuration de Windows »</a> et alors vous démarrez Linux à partir de Windows/DOS. A utiliser en dernier recours.</p></li></ul></div> </p><p>N'importe lequel configurera les ressources bus au niveau matériel mais seul le premier (voire le second) indiquera au pilote ce qui a été fait. La façon dont le pilote est informé dépend du pilote. Vous pouvez avoir besoin de faire quelque chose pour l'informer. Voir <a class="xref" href="ar01s06.html" title="Indiquer au pilote la configuration ??">la section intitulée « Indiquer au pilote la configuration ?? »</a>.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="dev_d_conf" />Configuration du pilote de périphérique, réservation des ressources</h3></div></div></div><p>Les pilotes de périphériques (avec l'aide de fonctions du noyau) peuvent être écrits pour utiliser des méthodes <acronym class="acronym">PnP</acronym> pour configurer les ressources bus du matériel mais seulement pour le périphérique qu'ils contrôlent. Mais beaucoup de pilotes de périphériques acceptent directement ce que le BIOS ou Linux a configuré et utilise le code fourni par le noyau pour découvrir comme ce périphérique a été configuré. Comme le pilote a vérifié la configuration et la certainement reconfiguré, il connaît de façon évidente la configuration et il n'y a aucun besoin de lui donner cette information. C'est dont la façon la plus simple de le faire car vous n'avez rien à faire si le pilote fait tout.</p><p>Si vous avez un matériel datant d'avant l'<acronym class="acronym">ISA</acronym> <acronym class="acronym">PnP</acronym>, le logiciel <acronym class="acronym">PnP</acronym> Linux pourrait ne pas le savoir et pourrait ne pas connaître les ressources bus qu'il réclame. Donc, il pourrait allouer de façon erronée des ressources dont cet ancien matériel a besoin à un autre périphérique. Le résultat est un conflit de ressources mais il existe un moyen de l'éviter. Vous pouvez réserver les ressources dont cette ancienne carte <acronym class="acronym">ISA</acronym> a besoin en configurant le <acronym class="acronym">BIOS</acronym> au démarrage (habituellement), au module isa-pnp ou au noyau (si le support de <acronym class="acronym">PnP</acronym> est intégré dans le noyau). Par exemple, pour réserver l'<acronym class="acronym">IRQ</acronym> 5, donnez cet argument au module isa-pnp (ou au noyau) : isapnp_reserve_irq=5. Voir le <a class="ulink" href="http://www.traduc.org/docs/howto/lecture/BootPrompt-HOWTO.html" target="_top">Guide pratique sur l'invite de démarrage (<span class="foreignphrase"><em class="foreignphrase">BootPrompt-HOWTO</em></span>)</a>. Au lieu de ..._irq, il existe aussi _io, _dma et _mem.</p><p>Pour les périphériques <acronym class="acronym">PCI</acronym>, la plupart des pilotes configureront <acronym class="acronym">PnP</acronym>. Malheureusement, un pilote peut récupérer des ressources bus nécessaires à d'autres périphériques (mais non alloués à eux par le noyau). Donc, un noyau Linux <acronym class="acronym">PnP</acronym> plus perfectionné serait meilleur là où le noyau fait l'allocation pour toutes les demandes envoyées. Voir <a class="xref" href="ar01s03.html#how_linux_pnps" title="Comment Linux gère-t-il le PnP">la section intitulée « Comment Linux gère-t-il le <acronym class="acronym">PnP</acronym> »</a>.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="sys_" />/sys : interface de configuration pour l'utilisateur</h3></div></div></div><p>Depuis le noyau 2.6, il existe une nouvelle façon pour que l'utilisateur configure les ressources grâce au répertoire /sys. Mais, jusqu'à août 2004, il ne peut pas être utilisé pour une configuration dans la plupart des cas. Voir <a class="xref" href="ar01s07.html#sys_dir" title="Le répertoire /sys">la section intitulée « Le répertoire /sys »</a>.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="bios_conf" />Configuration du <acronym class="acronym">BIOS</acronym></h3></div></div></div><div class="sect3" lang="fr"><div class="titlepage"><div><div><h4 class="title"><a id="N1095C" />Introduction à l'utilisation de la configuration <acronym class="acronym">PnP</acronym> faite par le <acronym class="acronym">BIOS</acronym></h4></div></div></div><p>Si vous avez un <acronym class="acronym">BIOS</acronym> <acronym class="acronym">PnP</acronym>, il peut configurer le matériel. Si le pilote ne peut pas le faire, le <acronym class="acronym">BIOS</acronym> le peut probablement. Ceci veut dire que votre <acronym class="acronym">BIOS</acronym> lit les besoins en ressources de tous les périphériques et les configure (en leur allouant les ressources bus). C'est un substitut pour l'OS <acronym class="acronym">PnP</acronym> sauf que le <acronym class="acronym">BIOS</acronym> ne peut faire correspondre les pilotes avec leur périphériques et ne peut pas non plus indiquer aux pilotes la façon dont il a configuré les périphériques. Il devrait normalement utiliser la configuration enregistrée dans sa mémoire non volatile (ESCD). S'il trouve un nouveau périphérique ou s'il existe un conflit, le <acronym class="acronym">BIOS</acronym> devra effectuer les changements nécessaires et pourrait ne pas utiliser la même configuration que celle de l'ESCD. Dans ce cas, il devra mettre à jour l'<acronym class="acronym">ESCD</acronym> pour refléter la situation.</p><p>Votre <acronym class="acronym">BIOS</acronym> doit gérer une telle configuration, mais il existe des cas où il ne le fait pas correctement ou pas complètement. Le <acronym class="acronym">BIOS</acronym> a aussi besoin de savoir via le menu CMOS si le système d'exploitation est <acronym class="acronym">PnP</acronym>. Alors que la plupart des pilotes de périphériques seront capables de détecter automatiquement ce que le <acronym class="acronym">BIOS</acronym> a fait, dans certains cas, vous aurez besoin de le déterminer (ce qui n'est pas toujours facile). Voir <a class="xref" href="ar01s07.html" title="Comment puis-je trouver les périphériques et comment sont-ils configurés ?">la section intitulée « Comment puis-je trouver les périphériques et comment sont-ils configurés ? »</a>. Un avantage possible à laisser le <acronym class="acronym">BIOS</acronym> faire cette configuration est qu'il fait son boulot avant de lancer Linux, donc c'est fait très tôt dans le processus de démarrage. </p><p>La plupart des <acronym class="acronym">BIOS</acronym> créés après 1996 ?? peuvent configurer les ressources des bus <acronym class="acronym">PCI</acronym> et <acronym class="acronym">ISA</acronym>. Mais, il a été dit que certains anciens <acronym class="acronym">BIOS</acronym> peuvent uniquement s'occuper du <acronym class="acronym">PCI</acronym>. Pour essayer d'en savoir plus sur votre <acronym class="acronym">BIOS</acronym>, cherchez sur le web. Merci de ne pas me demander car je n'ai pas toutes les données là-dessus. Les détails du <acronym class="acronym">BIOS</acronym> que vous souhaitez connaître peuvent être difficiles à trouver. Certains <acronym class="acronym">BIOS</acronym> pourraient avoir des capacités <acronym class="acronym">PnP</acronym> minimales et attendre que le système d'exploitation fasse la configuration <acronym class="acronym">PnP</acronym>. Si cela arrive, vous devrez soit trouver une autre méthode soit essayer d'enregistrer les informations dans la base de données <acronym class="acronym">ESCD</acronym> si le <acronym class="acronym">BIOS</acronym> en a une. Voir la prochaine section.</p></div><div class="sect3" lang="fr"><div class="titlepage"><div><div><h4 class="title"><a id="escd_" />La base de données <acronym class="acronym">ESCD</acronym> du <acronym class="acronym">BIOS</acronym></h4></div></div></div><p>Le <acronym class="acronym">BIOS</acronym> maintient une base de données non volatile contenant la configuration <acronym class="acronym">PnP</acronym> qu'il essaiera d'utiliser (si vous aviez indiqué qu'il ne s'agit pas d'un système d'exploitation <acronym class="acronym">PnP</acronym>). Elle s'appelle l'<acronym class="acronym">ESCD</acronym> (acronyme pour Extended System Configuration Data, soit Données pour une Configuration Étendue du Système). Encore une fois, l'<acronym class="acronym">ESCD</acronym> est optionnel mais la plupart des <acronym class="acronym">BIOS</acronym> <acronym class="acronym">PnP</acronym> en disposent. L'<acronym class="acronym">ESCD</acronym> enregistre non seulement la configuration des ressources pour les périphériques <acronym class="acronym">PnP</acronym> mais aussi celle des périphériques non <acronym class="acronym">PnP</acronym> (et les indique en tant que tels) pour éviter les conflits. Les données de l'<acronym class="acronym">ESCD</acronym> sont habituellement enregistrées sur un composant et restent intactes lorsque la machine est arrêtée, mais c'est parfois stocké sur un disque dur ??</p><p>L'<acronym class="acronym">ESCD</acronym> a pour but de conserver la dernière configuration utilisée. Mais comme Linux peut modifier la configuration des périphériques (en incluant l'utilisateur avec les outils <acronym class="acronym">PCI</acronym> ou isapnp), l'<acronym class="acronym">ESCD</acronym> ne sera pas au courant de cette modification et ne sauvegardera pas cette configuration. Un bon système d'exploitation <acronym class="acronym">PnP</acronym> devrait mettre à jour l'ESCD, pour que les informations qui y sont stockées puissent être utilisées par un système d'exploitation non <acronym class="acronym">PnP</acronym> (comme un Linux standard). MS Windows 9x ne le fait que dans certains précis. Voir <a class="xref" href="ar01s05.html#W9x_ESCD" title="Utiliser Windows pour configurer l'ESCD">la section intitulée « Utiliser Windows pour configurer l'ESCD »</a>. À partir du noyau 2.6, Linux est capable de modifier l'<acronym class="acronym">ESCD</acronym> mais cela n'est pas encore utilisé (août 2004).</p><p>Pour utiliser ce qui a été enregistré dans l'ESCD, assurez-vous d'avoir bien spécifié que l'OS n'est pas <acronym class="acronym">PnP</acronym> dans le <acronym class="acronym">CMOS</acronym> du <acronym class="acronym">BIOS</acronym>. Par la suite, à chaque fois que le <acronym class="acronym">BIOS</acronym> démarre (avant que l'OS Linux ne soit chargé), il devrait tout configurer de cette façon. Si le <acronym class="acronym">BIOS</acronym> détecte une nouvelle carte <acronym class="acronym">PnP</acronym> non indiquée dans l'ESCD, alors il allouera des ressources bus à la carte et mettra à jour l'ESCD. Il pourrait même changer les ressources bus assignées aux cartes <acronym class="acronym">PnP</acronym> existantes et modifier l'<acronym class="acronym">ESCD</acronym> de manière concordante.</p><p>Un programme vous permet de visualiser le contenu de l'ESCD. Il affiche les <acronym class="acronym">IRQ</acronym>, les adresses d'entrées/sorties, et cætera mais les noms de périphériques manquent (seulement les numéros d'identifiant des périphériques EISA). Il est disponible sur l'<a class="ulink" href="http://home.t-online.de/home/gunther.mayer/lsescd/" target="_top">index de /home/gunther.mayer/lsescd</a>.</p><p>Si chaque périphérique sauvegardait sa dernière configuration au niveau du matériel, la configuration matérielle ne serait pas nécessaire à chaque démarrage du PC. Mais cela ne fonctionne pas ainsi. Donc, toutes les données de l'<acronym class="acronym">ESCD</acronym> ont besoin d'être actualisées si vous utilisez le <acronym class="acronym">BIOS</acronym> pour <acronym class="acronym">PnP</acronym>. Il existe des <acronym class="acronym">BIOS</acronym> ne disposant pas d'<acronym class="acronym">ESCD</acronym> mais ayant une mémoire non volatile pour stocker des informations concernant l'attribution des ressources bus aux cartes non <acronym class="acronym">PnP</acronym>. Beaucoup de <acronym class="acronym">BIOS</acronym> disposent des deux. </p></div><div class="sect3" lang="fr"><div class="titlepage"><div><div><h4 class="title"><a id="W9x_ESCD" />Utiliser Windows pour configurer l'ESCD</h4></div></div></div><p>Éventuellement, Linux pourrait initialiser l'ESCD. Depuis Linux 2.6, une fonction du nouveau code pourrait le faire si le noyau a été compilé avec PNPBIOS. Mais elle reste pour l'instant inutilisée.</p><p>Si le <acronym class="acronym">BIOS</acronym> ne configure pas l'<acronym class="acronym">ESCD</acronym> de la façon souhaitée (ou de la bonne façon), alors il serait bien de disposer d'un utilitaire Linux pour le faire. Donc, vous pourriez vouloir utiliser Windows (si vous l'avez sur le même PC) pour faire cela.</p><p>Il existe trois façons d'utiliser Windows pour tenter de modifier l'ESCD. La première est d'utiliser l'utilitaire ICU pour DOS ou Windows 3.x. Il devrait aussi fonctionner pour Windows 9x/2k ?? Une autre façon est de configurer les périphériques manuellement (« <span class="quote">en forçant</span> ») sous Windows 9x/2k de façon à ce que Windows enregistre les informations dans l'<acronym class="acronym">ESCD</acronym> lorsque Windows est arrêté normalement. La troisième façon est possible uniquement pour les périphériques non <acronym class="acronym">PnP</acronym>. Si Windows connaît quelque chose sur eux, notamment quelles ressources bus ils utilisent, alors Windows enregistrera cette information dans l'ESCD.</p><p>Si les périphériques <acronym class="acronym">PnP</acronym> sont configurés automatiquement par Windows sans que l'utilisateur ait besoin de forcer cette reconnaissance, alors ces paramétrages ne se trouveront probablement pas dans l'ESCD. Bien sûr, Windows pourrait bien décider de lui-même de configurer ce qui est enregistré dans l'ESCD, ce qui pourrait aboutir au même par coïncidence. </p><p>Windows 9x est un système d'exploitation <acronym class="acronym">PnP</acronym> et configure automatiquement via <acronym class="acronym">PnP</acronym> les périphériques. Il maintient leur propre base de données <acronym class="acronym">PnP</acronym> dans la base de registre (fichiers binaires de Windows). Beaucoup d'autres données de configuration résident dans la base de registre en plus des ressources bus <acronym class="acronym">PnP</acronym>. Il y a à la fois une configuration des ressources <acronym class="acronym">PnP</acronym> actuelles et une autre (peut-être la même) enregistrée sur le disque dur. Pour voir ça avec Windows 98, ou pour forcer l'enregistrement des modifications, utilisez le gestionnaire des périphériques.</p><p>Dans Windows 98, il existe deux façons d'arriver au gestionnaire des périphériques : <div class="itemizedlist"><ul><li><p>1. Poste de travail --> Panneau de configuration --> Système --> Gestionnaire de périphériques</p></li><li><p>2. (clic droit) Poste de travail --> Propriétés --> Gestionnaire de périphériques.</p></li></ul></div> Ensuite, dans ce gestionnaire, vous sélectionnez un périphérique (parfois un processus en plusieurs étapes s'il existe plusieurs périphériques de la même classe). Ensuite, cliquez sur « <span class="quote">Propriétés</span> » puis « <span class="quote">Ressources</span> ». Pour essayer de modifier la configuration des ressources manuellement, décochez « <span class="quote">Utilisez la configuration automatique</span> » puis cliquez sur « <span class="quote">Changer la configuration</span> ». Maintenant, essayez de modifier les paramétrages. Il peut ne pas vous laisser les modifier. S'il vous le permet, vous avez « <span class="quote">forcé</span> » un changement. Du coup, un message devrait vous avertir que vous avez forcé cette modification. Si vous souhaitez garder le paramétrage existant affiché par Windows, mais que vous voulez forcer, alors vous devrez forcer un autre changement et de nouveau forcer sa modification en sa valeur précédente.</p><p>Pour voir ce qui a été forcé sous Windows 98, regardez la liste des matériels « <span class="quote">forcés</span> » : Démarrer --> Programme --> Accessoires --> Outils système --> Information système --> Ressources matérielles --> Matériel forcé. Lorsque vous « <span class="quote">forcez</span> » un changement des ressources bus dans Windows, il devrait enregistrer votre modification dans l'<acronym class="acronym">ESCD</acronym> (à condition que vous ayez quitté Windows normalement). À partir de la fenêtre « <span class="quote">Informations système</span> », vous pouvez aussi voir comment les <acronym class="acronym">IRQ</acronym> et les ports d'entrées/sorties ont été alloués par Windows.</p><p>Même si Windows ne montre aucun conflit des ressources bus, il peut exister un conflit sous Linux. Ceci est dû au fait que Windows peut affecter des ressources bus différentes de celles de l'ESCD. Dans le cas rare où les périphériques sous Windows sont soit non <acronym class="acronym">PnP</acronym> soit « <span class="quote">forcés</span> », alors la configuration Windows et celle de l'ESCD devraient être les mêmes. </p></div><div class="sect3" lang="fr"><div class="titlepage"><div><div><h4 class="title"><a id="N10A96" />Ajouter un nouveau périphérique (sous Linux ou Windows)</h4></div></div></div><p>Si vous ajoutez un nouveau périphérique <acronym class="acronym">PnP</acronym> et avez configuré le <acronym class="acronym">BIOS</acronym> à « <span class="quote">pas un système d'exploitation <acronym class="acronym">PnP</acronym></span> », alors le <acronym class="acronym">BIOS</acronym> devrait automatiquement le configurer et enregistrer la configuration dans l'ESCD. S'il ne s'agit pas d'un périphérique non <acronym class="acronym">PnP</acronym> (ou un utilisant les cavaliers), alors il existe quelques options pour le gérer.</p><p>Vous pouvez indiquer directement au <acronym class="acronym">BIOS</acronym> (via le menu de configuration <acronym class="acronym">CMOS</acronym>) que certaines ressources bus qu'il utilise sont réservées et ne peuvent pas être allouées avec <acronym class="acronym">PnP</acronym>. Ceci ne met pas cette information dans l'ESCD. Il existe un menu de sélection du <acronym class="acronym">BIOS</acronym> permettant d'indiquer si les choix <acronym class="acronym">CMOS</acronym> supplantent ceux de l'<acronym class="acronym">ESCD</acronym> en cas de conflit. Une autre méthode revient à lancer ICU sous DOS/Windows. Encore une autre permet de l'installer manuellement sous Windows 9x/2k puis de s'assurer que cette configuration est « <span class="quote">forcée</span> » (voir la section précédente). Si elle l'est, Windows devrait mettre à jour l'<acronym class="acronym">ESCD</acronym> à l'arrêt du PC.</p></div></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="disable_pnp" /><acronym class="acronym">ISA</acronym> seulement : Désactiver <acronym class="acronym">PnP</acronym> ?</h3></div></div></div><p>Les périphériques <acronym class="acronym">PCI</acronym> sont <acronym class="acronym">PnP</acronym> à la base donc cela ne peut pas être désactivé. Mais quelques périphériques <acronym class="acronym">ISA</acronym> ont des options pour désactiver <acronym class="acronym">PnP</acronym> par l'intermédiaire de cavaliers ou en lançant un programme Windows fourni avec le périphérique (configuration logicielle). Si le pilote du périphérique ne peut pas le configurer, ceci évitera la tâche probablement compliquée de la configuration <acronym class="acronym">PnP</acronym>. N'oubliez pas de dire au <acronym class="acronym">BIOS</acronym> que ces ressources bus sont réservées. Mais comme le support de Linux pour le <acronym class="acronym">PnP</acronym> a été amélioré, vous ne voulez généralement pas désactiver <acronym class="acronym">PnP</acronym>. Voici quelques arguments pour lesquels vous ne voudrez pas désactiver <acronym class="acronym">PnP</acronym> : <div class="itemizedlist"><ul><li><p>Si vous avez Windows sur la même machine, alors vous pouvez permettre à <acronym class="acronym">PnP</acronym> de configurer les périphériques différemment entre Windows et Linux.</p></li><li><p>L'ensemble des choix pour les numéros d'<acronym class="acronym">IRQ</acronym> (ou ports d'adresse) peut être assez limité sauf si vous utilisez <acronym class="acronym">PnP</acronym>.</p></li><li><p>Vous pourriez avoir un pilote de périphérique Linux utilisant des méthodes <acronym class="acronym">PnP</acronym> pour rechercher le périphérique qu'il contrôle.</p></li><li><p>Si vous avez besoin de modifier la configuration plus tard, il serait plus facile de faire ceci avec <acronym class="acronym">PnP</acronym> (sans utiliser de cavaliers ou d'avoir à lancer un programme Dos/Windows). </p></li></ul></div> </p><p>Une fois vos périphériques configurés sans <acronym class="acronym">PnP</acronym>, ils ne peuvent plus être configurés par un logiciel <acronym class="acronym">PnP</acronym> ou par un <acronym class="acronym">BIOS</acronym> <acronym class="acronym">PnP</acronym> (jusqu'à ce que vous changiez les cavaliers ou utilisiez le logiciel de configuration Dos/Windows).</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="isapnp_" />Bus <acronym class="acronym">ISA</acronym> : Isapnp (outil faisant partie d'isapnptools)</h3></div></div></div><p>Le programme <span class="command"><strong>isapnp</strong></span> est utilisé uniquement pour les périphériques <acronym class="acronym">PnP</acronym> du bus <acronym class="acronym">ISA</acronym> (donc non <acronym class="acronym">PCI</acronym>). Il était vraiment nécessaire avant les noyaux 2.4. Avec le noyau 2.4, qui a apporté des fonctionnalités permettant aux pilotes de gérer le <acronym class="acronym">PnP</acronym> sur le bus <acronym class="acronym">ISA</acronym>, le programme <span class="command"><strong>isapnp</strong></span> devient moins important. De plus, le <acronym class="acronym">BIOS</acronym> pourrait configurer <acronym class="acronym">ISA</acronym> <acronym class="acronym">PnP</acronym> de manière satisfaisante. Mais, le module isa-pnp (ou l'équivalent intégré au noyau) est déjà très satisfaisant car de nombreux pilotes de périphériques <acronym class="acronym">ISA</acronym> l'appellent pour configurer les ressources du bus. Avant le noyau 2.6, cela résultait en un « <span class="quote">fichier</span> » <code class="filename">/proc/isapnp</code> pouvant être utilisé pour configurer manuellement (voir isapnp.txt dans la documentation du noyau).</p><p>Dans certains cas, les distributions Linux ont été configurées pour lancer <span class="command"><strong>isapnp</strong></span> automatiquement au démarrage. Il est toujours utilisé en 2004 mais il n'est pas réellement nécessaire si les pilotes de périphériques fonctionnent bien. Si vous avez besoin de le configurer vous-même, la grande partie de la documentation d'isapnp est difficile à comprendre sauf si vous possédez des notions de base de <acronym class="acronym">PnP</acronym>. Ce guide pratique devrait vous aider à le comprendre, ainsi que la FAQ qui accompagne <span class="command"><strong>isapnp</strong></span>. Lancer le programme <span class="command"><strong>isapnp</strong></span> au démarrage vous permettra de configurer ces périphériques suivant les valeurs spécifiées dans <code class="filename">/etc/isapnp.conf</code>. Il est possible de créer ce fichier de configuration automatiquement mais vous devrez alors l'éditer manuellement pour choisir entre les différentes options. Puis pour que le pilote connaisse ces ressources, vous avez souvent besoin de les spécifier en tant que paramètres pour les modules appropriés (pilotes). Ceci se fait avec des fichiers de configuration, généralement dans le répertoire <code class="filename">/etc</code>. Cherchez-y des fichiers nommés <code class="filename">mod*</code>, et cætera. Si le pilote est intégré au noyau, alors ils pourraient parfois être donnés comme paramètre du noyau. Voir le <a class="ulink" href="http://www.traduc.org/docs/howto/lecture//BootPrompt-HOWTO.html" target="_top">guide pratique des options de démarrage</a>.</p><p>Avec <span class="command"><strong>isapnp</strong></span>, il existait un risque qu'un pilote de périphérique, intégré au noyau, soit lancé trop tôt, avant qu'<span class="command"><strong>isapnp</strong></span> n'ait pu configurer les adresses, et cætera au niveau matériel. En conséquence, le pilote de périphérique ne serait plus capable de trouver le périphérique. Le pilote essaie la bonne adresse mais cette adresse n'est pas configurée au niveau matériel. Cela est-il toujours un problème ??</p><p>Si votre distribution Linux a automatiquement installé <span class="command"><strong>isapnptools</strong></span>, <span class="command"><strong>isapnp</strong></span> est probablement lancé au démarrage. Dans ce cas, il ne vous reste qu'à éditer <code class="filename">/etc/isapnp.conf</code> suivant <strong class="userinput"><code>man isapnp.conf</code></strong>. Notez que cela revient à configurer manuellement <acronym class="acronym">PnP</acronym> car vous prendrez les décisions sur la façon de configurer lors de l'édition du fichier de configuration.</p><p>Si le fichier de configuration est mauvais ou n'existe pas, vous pouvez utiliser le programme <span class="command"><strong>pnpdump</strong></span> pour vous aider à créer le fichier de configuration. Il crée pour vous un fichier de configuration mais vous devrez l'éditer avec intelligence avant de l'utiliser. Il contient quelques commentaires pour vous aider. Alors que le <acronym class="acronym">BIOS</acronym> pourrait aussi avoir configuré les périphériques <acronym class="acronym">ISA</acronym> (si vous lui avez dit que vous ne disposez pas de système d'exploitation <acronym class="acronym">PnP</acronym>), <span class="command"><strong>isapnp</strong></span> le refera.</p><p>La terminologie utilisée dans le fichier <code class="filename">/etc/isapnp.conf</code> peut sembler étrange au début. Par exemple, pour une adresse d'entrée/sortie 0x3e8, vous pourriez voir « <span class="quote">(IO 0 (BASE 0x3e8))</span> » à la place. « <span class="quote">IO 0</span> » veut dire qu'il s'agit de la première plage d'adresses que ce périphérique utilise. Une autre façon d'exprimer ceci serait : « <span class="quote">IO[0] = 0x3e8</span> » mais <span class="command"><strong>isapnp</strong></span> ne le fait pas de cette façon. « <span class="quote">IO 1</span> » voudrait dire qu'il s'agit de la deuxième plage d'adresse utilisée par ce périphérique, et cætera. « <span class="quote">INT 0</span> » a une signification similaire mais pour les <acronym class="acronym">IRQ</acronym> (interruptions). Une carte simple peut contenir plusieurs périphériques physiques mais l'explication ci-dessus était seulement pour un des périphériques.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="pciutils_" />Les utilitaires <acronym class="acronym">PCI</acronym></h3></div></div></div><p>Le paquetage des utilitaires <acronym class="acronym">PCI</acronym> (<span class="command"><strong>pciutils</strong></span>, quelque fois appelé « <span class="quote">pcitools</span> ») vous permet de configurer manuellement via <acronym class="acronym">PnP</acronym> le bus <acronym class="acronym">PCI</acronym> (avec difficulté). <span class="command"><strong>lspci</strong></span> ou <span class="command"><strong>scanpci</strong></span> liste les ressources bus alors que <span class="command"><strong>setpci</strong></span> enregistre les allocations des ressources (sauf les <acronym class="acronym">IRQ</acronym>) dans les périphériques physiques. Il semble que <span class="command"><strong>setpci</strong></span> soit principalement utilisé dans des scripts et en fait, vous aurez besoin de comprendre le détail des registres de configuration du <acronym class="acronym">PCI</acronym> pour pouvoir l'utiliser. Ce thème n'est pas expliqué ici, et pas plus dans la page de manuel de <span class="command"><strong>setpci</strong></span>.</p><p>Les gens l'ont utilisé pour configurer les périphériques <acronym class="acronym">PCI</acronym> dont le pilote a échoué dans cette action. Un exemple est disponible dans le guide pratique sur les modems et le guide pratique sur les ports séries dans la sous-section « <span class="quote"><acronym class="acronym">PCI</acronym> : Activer un port désactivé</span> ». Néanmoins, activer un périphérique n'est d'aucune utilité si vous n'avez pas de pilote fonctionnel pour ce périphérique.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="windows_conf" />Configuration de Windows</h3></div></div></div><p>Cette méthode utilise MS Windows pour configurer et devrait être utilisée seulement si tout le reste échoue. Si vous avez Windows 9x (ou 2k) sur le même PC, alors lancez simplement Windows et laissez-le configurer <acronym class="acronym">PnP</acronym>. Puis lancez Linux à partir de Windows (ou DOS) en utilisant, par exemple, <span class="command"><strong>loadlin.exe</strong></span>. Il peut y avoir un problème avec les <acronym class="acronym">IRQ</acronym> pour les périphériques <acronym class="acronym">PCI</acronym>. Quand Windows s'arrête (sans messages) pour laisser la place à Linux, il pourrait écraser l'<acronym class="acronym">IRQ</acronym> (en y mettant 0) qui est stocké dans un des registres de configuration du périphérique <acronym class="acronym">PCI</acronym>. Linux se plaindra de trouver une <acronym class="acronym">IRQ</acronym> 0.</p><p>Ce qu'on vient d'aborder arrive lorsque vous lancez Linux en utilisant un raccourci (fichier PIF). Mais un moyen de contourner ce problème est connu si vous utilisez toujours le raccourci PIF. Un raccourci est en quelque sorte l'équivalent du lien symbolique sous Linux, mais il est en fait plus que ça car il est paramétrable. Pour lancer Linux, à partir de DOS, vous créez un fichier batch (script) qui lance Linux. (Le programme qui lance Linux est dans le paquet appelé <span class="application">loadlin</span>.) Ensuite, créez un raccourci PIF vers ce fichier batch et allez dans la fenêtre des propriétés du raccourci. Sélectionnez « <span class="quote">Avancé</span> », puis vérifiez que le « <span class="quote">mode MS-DOS</span> » est bien coché.</p><p>Maintenant, voici une astuce empêchant de mettre à zéro les <acronym class="acronym">IRQ</acronym> <acronym class="acronym">PCI</acronym>. Cochez « <span class="quote">Spécifier une nouvelle configuration MS-DOS</span> ». Ensuite, soit vous acceptez la configuration par défaut qui vous est proposée soit vous cliquez sur « <span class="quote">Configuration</span> » pour la modifier. Maintenant, lorsque vous lancerez Linux en cliquant sur le raccourci, des nouveaux fichiers de configurations (<code class="filename">config.sys</code> et <code class="filename">autoexec.bat</code>) seront créés pour votre nouvelle configuration.</p><p>Les anciens fichiers sont enregistrés comme <code class="filename">Config.wos</code> et <code class="filename">Autoexec.wos</code>. Une fois que vous avez terminé d'utiliser Linux et que vous avez arrêté votre PC, vous aurez encore besoin de ces fichiers pour pouvoir lancer DIS la prochaine fois que vous démarrerez votre PC. Vous devez vous assurer que les noms redeviennent <code class="filename">*.sys</code> et <code class="filename">*.bat</code>. Lorsque vous quittez Windows/DOS pour aller sous Linux, Windows s'attend que, une fois que vous avez fini avec Linux, vous retourniez à Windows pour que celui-ci puisse restaurer ces fichiers avec leur noms originaux. Mais ceci n'arrivera pas car lorsque vous quitterez Linux, vous éteindrez votre PC et ne retournerez pas sous Windows. Donc, comment renommer ces fichiers ? C'est facile, placez ces commandes dans votre fichier batch de lancement de Linux pour qu'il renomme les fichiers. Mettez ces commandes de renommage dans votre fichier batch juste avant la ligne qui charge Linux.</p><p>De la même façon, il a été rapporté que vous devez cliquer sur l'onglet « <span class="quote">Général</span> » (de la fenêtre « <span class="quote">Propriétés</span> » de votre raccourci) et cochez « <span class="quote">Lecture seule</span> ». Sinon, Windows pourrait remettre à zéro les « <span class="quote">Paramétrages avancées</span> » en « <span class="quote">Utilisez la configuration MS-DOS courante</span> » et les <acronym class="acronym">IRQ</acronym> <acronym class="acronym">PCI</acronym> se retrouveraient à zéro. Comme Windows efface les <acronym class="acronym">IRQ</acronym> lorsque vous utilisez la configuration MS-DOS courante mais il n'efface pas une nouvelle configuration (qui peut configurer tout de manière identique à l'ancienne configuration). Windows ne semble pas très cohérent.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="sw_and_docs" />Documents/Logiciels <acronym class="acronym">PnP</acronym></h3></div></div></div><p> <div class="itemizedlist"><ul><li><p><a class="ulink" href="http://www.roestock.demon.co.uk/isapnptools/" target="_top">Page d'accueil d'<span class="command"><strong>Isapnptools</strong></span></a> ; </p></li><li><p><a class="ulink" href="http://www.astarte.free-online.co.uk" target="_top">Proposition pour un gestionnaire de configuration pour Linux</a> 1999 (n'a jamais fait partie du noyau) ;</p></li><li><p><a class="ulink" href="http://www.microsoft.com/hwdev/tech/pnp/default.asp" target="_top"> Spécifications <acronym class="acronym">PnP</acronym> de Microsoft</a> ; </p></li><li><p>Livre : <acronym class="acronym">PCI</acronym> System Architecture, quatrième édition par Tom Shanley +, MindShare 1999. Couvre les fonctionnalités <acronym class="acronym">PnP</acronym> du bus <acronym class="acronym">PCI</acronym> ;</p></li><li><p><a id="pnp_book" />Livre : Plug and Play System Architecture, par Tom Shanley, Mind Share 1999. Détails sur <acronym class="acronym">PnP</acronym> pour le bus <acronym class="acronym">ISA</acronym>. Une vue de <acronym class="acronym">PnP</acronym> avec le bus <acronym class="acronym">PCI</acronym> ;</p></li><li><p>Livre : Programming Plug and Play, par James Kelsey, Sams 1995. Détails sur la programmation pour communiquer avec un <acronym class="acronym">BIOS</acronym> <acronym class="acronym">PnP</acronym>. Couvre les bus <acronym class="acronym">ISA</acronym>, <acronym class="acronym">PCI</acronym> et PCMCIA.</p></li></ul></div> </p></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ar01s04.html">Précédent</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="ar01s06.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">Configurer un <acronym class="acronym">BIOS</acronym> <acronym class="acronym">PnP</acronym> </td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%"> Indiquer au pilote la configuration ??</td></tr></table></div></body></html>