Aujourd'hui, la plupart des nouvelles cartes internes sont Plug-and-Play (PnP). Bien qu'il existe quelques logiciels sous Linux pour g�rer le PnP ils ne sont pas toujours d'utilisation facile. Il y a 6 m�thodes diff�rentes, dont la liste suit, pour s'occuper du PnP (mais certaines peuvent ne pas �tre utilisables dans notre situation). Celle(s) � utiliser d�pend(ent) de nos objectifs. Ce qui semble �tre le plus efficace dans l'imm�diat peut se r�v�ler ne pas �tre le plus facile et le meilleur dans le long terme. Une m�thode qui para�t simple consiste � ne rien faire et � laisser le BIOS-PnP effectuer la configuration, mais vous devrez faire quelques investigations pour d�couvrir ce qu'a fait le BIOS. Il faudrait que quelqu'un qui a tester toutes les m�thodes en fasse une comparaison et l'�crive. Vous pouvez avoir � utiliser plus d'une m�thode pour arriver � vos fins.
Chacune des solutions ci-dessus configurera les ressources du bus dans le mat�riel. Seule les deux derni�res solutions devraient informer le pilote du p�riph�rique de ce qui a �t� fait. Mais seule la derni�re le fait s�rement (puisque c'est le pilote lui-m�me qui le fait). La fa�on dont le pilote se trouve inform� d�pend de lui et vous pouvez avoir � faire quelque chose pour le renseigner. Voir Indiquer la configuration au pilote
De nombreux p�riph�riques sont uniquement PnP, sans option pour le d�sactiver. Mais, pour certains, vous pouvez d�sactiver le PnP avec des cavaliers ou en utilisant un programme sous Windows qui est fourni avec le p�riph�rique (configuration sans cavaliers). Cela �vite la t�che souvent compliqu�e de configuration PnP. N'oubliez d'indiquer au BIOS que ces ressources du bus sont r�serv�es. Il y a aussi plusieurs raisons pour lesquelles vous pouvez ne pas vouloir d�sactiver le PnP :
Si vous avez un BIOS PnP, il peut configurer le mat�riel. Cela signifie que votre BIOS lit les besoins en ressources de tous les p�riph�riques et les configure (leur alloue les ressources du bus). C'est un substitut de SE PnP � l'exception pr�s que le BIOS ne fait pas le lien entre les p�riph�riques et leurs pilotes et qu'il n'indique pas aux pilotes comment il a fait la configuration. Il devrait normalement utiliser la configuration qu'il a stock� en m�moire non volatile (ESCD). S'il trouve un nouveau p�riph�rique ou en pr�sence d'un conflit, le BIOS devrait effectuer les modifications n�cessaires dans la configuration et ne pas utiliser exactement ce qu'il y avait dans l'ESCD.
Votre BIOS doit supporter une telle configuration mais il y a eu des cas o� il ne l'a pas fait correctement ou l'a fait de mani�re incompl�te. Un avantage de l'utilisation du BIOS r�side dans sa simplicit� puisque, dans la plupart des cas, il n'y a rien � param�trer (sauf � indiquer dans le menu CMOS du BIOS que le SE n'est pas PnP). Alors que quelques pilotes de p�riph�riques peuvent �tre capables de d�tecter automatiquement ce que le BIOS a fait, dans certains cas, vous devrez le faire (ce qui n'est pas toujours facile). Voir Quelle est ma configuration actuelle ? Un autre avantage possible vient de ce que le BIOS fait son boulot avant que Linux ne d�marre et donc que toutes les ressources du bus sont pr�tes � �tre utilis�es (et trouv�es) par les pilotes de p�riph�riques qui d�marrent plus tard.
Selon MS le fait qu'un BIOS PNP soit capable de configurer au sens PnP les p�riph�riques (sans l'aide de MS Windows) est optionnel (pas obligatoire). Mais il semble que la plupart de ceux cr��s apr�s 1996 ?? ou aux environs en sont capables. Nous devrions leur envoyer des lettres de remerciements s'ils le font correctement. Ils configurent � la fois les bus ISA et PCI, mais on a dit que quelques vieux BIOS ne le faisaient que pour le PCI. Pour essayer d'avoir plus d'informations concernant votre BIOS, regardez sur le Web. Merci de ne pas me poser de questions sur ce sujet car je n'ai aucunes donn�es. Les d�tails que vous aimeriez conna�tre concernant votre BIOS peuvent �tre difficiles � trouver (ou pas disponibles). Quelques BIOS ont des fonctionnalit�s PnP minimales et essaient de se d�charger de la partie difficile de la t�che de configuration sur des utilitaires Windows. Si cela arrive, soit vous devrez trouver une autre m�thode (comme les outils isapnp) soit vous devrez essayer de param�trer la base de donn�es ESCD si le BIOS en poss�de une. Consulter le paragraphe suivant.
Le BIOS entretient une base de donn�es non volatile contenant la configuration PnP qu'il essaiera d'utiliser. On l'appelle ESCD (Extended System Configuration Data). Encore une fois, l'existence de l'ESCD est optionnelle mais la plupart des BIOS-PnP la poss�de. L'ESCD non seulement stocke la configuration des ressources des p�riph�riques PnP mais aussi stocke les informations de configuration des p�riph�riques non-PnP (et les rep�re comme �tant non-PnP) pour �viter les conflits. Les donn�es ESCD sont habituellement sauvegard�es dans un circuit qui conserve ces donn�es quand on arr�te l'alimentation, mais quelquefois elles sont stock�es sur un disque dur ??
L'objectif de l'ESCD est de garder la derni�re configuration utilis�e, mais si vous utilisez un programme tel que isapnp sous Linux ou des utilitaires PCI (qui ne mettent pas � jour l'ESCD) alors, l'ESCD n'en n'aura aucune connaissance et ne sauvegardera pas cette configuration dans l'ESCD. Un bon SE PnP doit mettre � jour l'ESCD de fa�on � ce que vous puissiez l'utiliser plus tard avec un SE non-PnP (comme Linux standard). Windows peut le faire dans certaines circonstances. Voir Utilisation des Windows pour param�trer l'ESCD.
Pour utiliser ce qui a �t� param�tr� dans l'ESCD assurez-vous de choisir "SE non-PnP" �quivalent dans la CMOS du BIOS. Ensuite, chaque fois que le BIOS d�marre (avant le chargement du SE Linux) il doit configurer les choses de cette fa�on. Si le BIOS d�tecte une nouvelle carte PnP qui n'est pas dans l'ESCD, il doit alors allouer des ressources du bus � cette carte et mettre l'ESCD � jour. Il peut m�me avoir � modifier les ressources du bus d�j� assign�es � des cartes PnP existantes et modifier l'ESCD en cons�quence.
Si chaque p�riph�rique a enregistr� sa derni�re configuration, il ne devrait pas �tre n�cessaire de les reconfigurer � chaque red�marrage de votre PC. Mais cela ne fonctionne pas comme cela. Donc toutes les donn�es ESCD doivent �tre correctes si vous utilisez le BIOS pour le PnP. Il y a quelques BIOS qui n'ont pas d'ESCD mais poss�dent une sorte de m�moire non volatile pour stocker les informations concernant les ressources du bus qui ont �t� r�serv�es par les cartes non-PnP. De nombreux BIOS poss�dent les deux.
Si le BIOS ne param�tre pas l'ESCD de la fa�on que vous le voulez (ou de la fa�on dont il faudrait), il serait int�ressant d'avoir un utilitaire Linux qui le fasse. Au d�but 1999, il n'y en avait pas. Il faut donc essayer d'utiliser Windows pour le faire (si vous l'avez sur le m�me PC).
Il y a trois mani�res d'utiliser Windows pour essayer de param�trer/modifier l'ESCD. L'une consiste � utiliser l'utilitaire ICU con�u pour DOS ou Windows 3.x. Cela devrait aussi fonctionner correctement pour Windows 9x/2k ?? Une autre m�thode consiste � initialiser les p�riph�riques manuellement ("forc�e") sous Windows 9x/2k de sorte que Windows mette cette information dans l'ESCD lorsqu'on stoppe Windows normalement. La troisi�me m�thode est destin�e aux p�riph�riques anciens qui ne sont pas plug-and-play. Si Windows les reconna�t et sait quelles ressources du bus ils utilisent, alors Windows devrait mettre cette info dans l'ESCD.
Si les p�riph�riques PnP sont configur�s automatiquement par Windows sans que l'utilisateur ne le "force" � changer les param�tres, alors ceux-ci ne seront probablement inscrit dans l'ESCD. Naturellement Windows peut d�cider de lui-m�me de les configurer en utilisant des param�tres identiques � ceux qui sont dans l'ESCD mais ce n'est qu'une co�ncidence.
Les syst�mes d'exploitation Windows 9x sont PnP et configurent, au sens PnP les p�riph�riques. Ils entretiennent leur propre base de donn�es PnP au plus profond des Registres (stock�s dans des fichiers binaires Windows). Il y a �galement tout un tas de renseignements concernant la configuration dans les registres, en plus des ressources du bus pour le PnP. Il y a � la fois la configuration courante des ressources PnP en m�moire et une autre (peut-�tre � peu pr�s la m�me) stock�e sur le disque dur. Pour la consulter (celle qui est en m�moire ?)indirectement dans Windows98 ou pour y forcer des modifications vous utilisez le gestionnaire de p�riph�riques.
Dans Windows98, il y a 2 mani�res d'invoquer le gestionnaire de p�riph�riques :
Pour voir ce qui a �t� "forc�" sous Windows98 regardez dans la liste du "mat�riel forc�" : D�marrer --> Programmes --> Accessoires --> Outils syst�me -- Information syst�me --> Ressources mat�rielles --> Mat�riel forc�. Quand vous "forcez une modification des ressources du bus sous Windows, il doit mettre votre modification dans l'ESCD (� condition que vous quittiez Windows normalement).
> De la fen�tre "Information syst�me" vous pouvez �galement contr�ler comment les IRQ et les ports d'E/S ont �t� allou�s sous Windows.
M�me si Windows ne signale pas de conflit de ressources du bus, il peut en exister sous Linux. Cela vient du fait que Windows peut assigner les ressources du bus de mani�re diff�rente de l'ESCD. Dans les rares cas o� tous les p�riph�riques sous Windows sont soit des p�riph�riques anciens soit des p�riph�riques "forc�s", il faut que les configurations Windows et ESCD soient identiques.
Si vous ajoutez un nouveau p�riph�rique PnP et que vous ayez param�tr� votre BIOS pour un "SE non PnP", alors le BIOS devrait le configurer automatiquement et en enregistrer la configuration dans l'ESCD. S'il s'agit d'un p�riph�rique non PnP ancien (ou d'un p�riph�rique configurable par cavaliers, etc...), vous n'avez alors que peu d'options pour le prendre en compte.
Vous devez �tre capable d'indiquer directement au BIOS (par l'interm�diaire des menus de configuration de la CMOS) que certaines ressources du bus qu'il utilise sont r�serv�es et ne doivent pas �tre allou�es par le PnP. Cette information n'est pas sauvegard�e dans l'ESCD. Mais, en cas de conflit, il peut y avoir une option du menu BIOS permettant de rendre pr�pond�rant ou non, sur le contenu de l'ESCD, les choix faits au niveau de la CMOS. Une autre m�thode consiste � faire tourner ICU sous DOS/Windows. Encore une autre consiste � installer manuellement le p�riph�rique sous Windows 9x/2k et de s'assurer que cette configuration a �t� "forc�e" (voir le paragraphe pr�c�dent). Si elle a �t� "forc�e" Windows devrait avoir mis � jour l'ESCD lors de l'arr�t du PC.
Une bonne partie de la documentation concernant isapnp est difficile �
comprendre si l'on ne
conna�t pas les bases du PnP. Cet HOWTO devrait aider � la comprendre
ainsi que les FAQ (Questions fr�quemment pos�es) qui l'accompagne.
isapnp
ne concerne que les p�riph�riques PnP sur le bus ISA (non PCI).
En lan�ant le programme Linux "isapnp" au d�marrage, on configure ces
p�riph�riques avec les valeurs indiqu�es dans /etc/isapnp.conf. Il est
possible de cr�er ce fichier de configuration automatiquement mais vous
devrez l'�diter manuellement pour faire des choix entre diff�rentes options.
Avec isapnp, un pilote de p�riph�rique, faisant partie du noyau, peut
�tre lanc� pr�matur�ment, avant que isapnp ait param�tr� l'adresse, etc.
dans le mat�riel. Ce qui entra�ne que le pilote de p�riph�rique ne sera
pas capable de trouver le p�riph�rique correspondant. Le pilote utilise
la bonne adresse alors que celle-ci n'a pas encore �t� param�tr�e dans
le mat�riel.
Si votre distribution Linux installe
automatiquement isapnptools, isapnp peut d�j� �tre lanc� au d�marrage. Dans
ce cas, tout ce que vous avez besoin de faire est d'�diter /etc/isapnp.conf
selon "man isapnp.conf
". Notez que cela revient � configurer
manuellement PnP puisque vous avez � prendre les d�cisions sur la mani�re
de configurer � mesure que vous �ditez le fichier de configuration.
Vous pouvez utiliser le programme "pnpdump" pour vous aider � cr�er
le fichier de configuration. Si vous utilisez "isapnp" tel quel et que
vous ayez un BIOS PnP, vous devrez probablement indiquer au
BIOS (quand vous le param�trerez) que vous n'avez pas de SE PnP
puisque vous voudrez toujours que que le BIOS configure les
p�riph�riques PCI. Alors que le BIOS peut �galement configurer les
p�riph�riques ISA, isapnp le refera.
Le nouveau paquetage Utilitaires PCI (= pciutils, improprement appel� "pcitools"), devrait vous permettre de configurer manuellement, � la PnP, le bus PCI. "lspci" donne la liste des ressources bus, alors que "setpci" param�tre les allocations de ressources dans le mat�riel.
David Howells a cr�� une telle mise � jour pour le faire. C'est le "Gestionnaire de configuration/ressource du noyau Linux" ("Linux Kernel Configuration/Resource Manager") quelquefois appel� "Gestionnaire de configuration mat�rielle". Cette adaptation peut ne pas correspondre au noyau le plus r�cent. Le noyau r�sultant est r�put� stable mais cependant des bogues ont �t� signal�s. Une documentation est incluse comme serial.txt, pour montrer comment faire pour un port s�rie. Elle fournit des "fichiers" dans l'arborescence /proc pour que vous puissiez voir ce qui se passe et peut enregistrer des commandes dans l'un de ces fichiers pour une configuration personnalis�e. Un probl�me vient de ce que de nombreux pilotes de p�riph�riques ne le prennent pas en compte et qu'il vous faut encore utiliser les fichiers de configuration traditionnels etc. pour effectuer la configuration. Consultez http://www.astarte.free-online.co.uk
Si vous avez Windows9x (ou 2k) sur le m�me PC, d�marrer alors simplement Windows et laissez-le configurer le PnP. Puis lancez alors Linux � partir de Windows (ou du DOS). On a signal� que Windows effa�ait les IRQ des registres des p�riph�riques PCI. Dans ce cas, Linux signale qu'il a trouv� une IRQ � z�ro. Dans ce cas, vous ne pouvez pas utiliser cette m�thode.
Quelques pilotes de p�riph�riques utilisent les m�thodes PnP pour param�trer les ressources du bus au point de vue mat�riel et seulement pour les p�riph�riques qu'ils contr�lent. Dans ce cas, puisque le pilote a effectu� la configuration, il conna�t �videmment la configuration et il n'y a aucun besoin de lui fournir ces informations.
Le probl�me ici porte sur deux points. Il est difficile de mettre dans le pilote tout ce qui est n�cessaire et le pilote peut accaparer des ressources du bus qui seraient n�cessaires pour d'autres p�riph�riques. Cela serait plus facile pour l'utilisateur, mais un noyau Linux PnP serait une meilleure solution. Voir Linux doit mieux prendre en compte le <em>PnP</em>
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:43