Page suivante - Page précédente - Table des matières

6. Communication de la configuration au pilote

6.1 Introduction

La manière exacte dont cela s'effectue dépend du pilote. Certains pilotes disposent de plus d'une méthode pour détecter la configuration du périphérique physique. À l'extrême, on trouve le cas où il faut paramétrer "en dur" les ressources du bus dans le noyau et recompiler celui-ci. À l'autre extrême, le pilote fait tout automatiquement et vous n'avez rien à faire. Il peut même paramétrer les ressources du bus dans le matériel en utilisant les méthodes PnP.

Entre les deux, on trouve les cas où il faut faire tourner un programme pour faire passer les infos au pilote ou mettre ces infos dans un fichier. Dans certains cas, le pilote peut tester le périphériques à des adresses ou il pense trouver le périphérique. Il peut alors essayer de tester différentes IRQ pour voir laquelle fonctionne (IRQ = Interrupt ReQuest / ReQuête d'Interruption). Ce qu'il peut faire automatiquement ou non. Dans d'autres cas, le pilote utilise des méthodes PnP pour trouver le périphérique et la façon dont les ressources du bus ont été affectées, mais ne pas les paramétrer lui-même. Il peut aussi regarder certains fichiers du répertoire /proc.

On peut avoir besoin d'indiquer les ressources du bus comme paramètre au noyau pour un module chargeable. Voir /usr/lib/modules_help/descr.gz pour avoir une liste des paramètres possibles. Le modules à charger est indiqué dans /etc/modules avec ses paramètres. Dans certains autres cas les ressources du bus peuvent être indiquées au noyau par des paramètres. Ceux-ci sont mis dans le fichier lilo.conf sous la forme append="...". Dans ce cas le programme lilo doit être exécuté pour enregistrer ces données dans le code de démarrage du noyau.

Alors qu'il y a une grande diversité dans la manière dont les pilotes peuvent trouver les ressources du bus, le but final est le même. Il y a tellement de périphériques différents et de pilotes de périphériques pour les gérer que vous pouvez avoir besoin de consulter la documentation de votre pilote particulier pour trouver comment celui-ci gère les ressources du bus et ce que vous avez besoin de faire pour vous assurer qu'il trouve les infos dont il a besoin. Quelques brèves indications sur un petit nombre de pilotes de périphériques sont données dans les paragraphes suivants.

6.2 Pilote du port série : setserial

Pour le pilote de port série standard (et non pas pour les cartes multi-ports) vous utilisez setserial pour en configurer le pilote. Ce programme est souvent lancé à partir d'un fichier de démarrage. Dans les versions les plus récentes, on trouve un fichier /etc/serial.conf que vous pouvez "éditer" en utilisant simplement la commande setserial de la manière habituelle et ce que vous paramétrez en utilisant setserial est sauvegardé dans le fichier serial.conf. Le fichier serial.conf devrait être consulté lors de l'exécution de la commande setserial lancée par un fichier de démarrage. Votre distribution peut le faire ou ne pas le faire pour vous.

Il y a deux manières différentes d'utiliser setserial selon les options que vous choisissez. Une méthode consiste à indiquer la configuration manuellement au pilote. L'autre méthode consiste à tester une adresse donnée et à voir s'il y a un port série à cette adresse. On peut aussi tester cette adresses et essayer de détecter si une interruption est utilisée pour ce port. Le pilote exécute quelque chose comme setserial au démarrage, mais ne teste pas les interruptions, il affecte simplement l'interruption "standard" ce qui peut ne pas correspondre à la réalité. Il teste uniquement l'existence d'un port. Consulter le Serial-HOWTO pour avoir des détails complémentaires.

6.3 Pilotes de cartes son

OSS-Lite

Vous devez passer IO, IRQ, et DMA en tant que paramètres à un module ou les compiler dans le noyau. Mais quelques cartes PCI seront détectées automatiquement (par exemple en prenant les infos dans /proc/pci ou quelque chose d'équivalent). RedHat fournit un programme "sndconfig" qui détecte les cartes ISA PnP et paramètre automatiquement les modules pour les charger avec les ressources de bus trouvées.

OSS (Open Sound System) et ALSA

Ils détecteront les cartes par les méthodes PnP puis choisiront le pilote approprié et le chargeront. Ils paramètreront également les ressources du bus sur une carte ISA-PnP. Vous pouvez avoir à intervenir manuellement pour résoudre les problèmes de conflits. Pour le pilote ALSA, la prise en charge de l'ISA-PnP est optionnelle et vous pouvez utiliser isapnp si vous le voulez.


Page suivante - Page précédente - Table des matières