Configuration matérielle

État : {publie}

Retour au document principal

Pré-requis

Aucun

Objectifs

Allocation de ressources

Pour que les périphériques d'un PC puissent communiquer directement avec les ressources du système, essentiellement le processeur, le système alloue des ressources (canaux, lignes) à chaque périphérique. Ces ressources sont les requêtes d'interruption matérielle (IRQ), les adresses d'entrée/sortie (I/O) et les canaux d'accès directs à la mémoire (DMA).

Interruptions (IRQs) : les périphériques utilisent les interruptions matérielles pour demander du temps processeur. Le processeur arrête son activité et traite les instructions demandées par le matériel. Sur PC, il y a 16 interruptions directement connectées sur les périphériques, elles vont de 0 à 15.

Entrées/sorties (I/O) : les entrées/sorties correspondent à des adresses spécifiques dans la mémoire système. Le processeur et le périphérique communiquent en écrivant et en lisant à ces adresses.

Accès direct à la mémoire (DMA) : certains périphériques accèdent à la mémoire système au travers d'un canal d'accès direct à la mémoire. Ainsi ils accèdent aux données sans passer par le processeur, ce qui peut améliorer les performances.

Liste des ressources allouées

Le noyau inscrit dans les fichiers suivants sur /proc les ressources utilisées par le matériel :

 /proc/dma
 /proc/interrupts
 /proc/ioports
 /proc/pci

Les commandes lspci et dmesg permettent également d'avoir la liste des ressources allouées.

lspci : liste les informations des composants pour tous les périphériques PCI. Vous obtenez les IRQs et les ports d'entrées/sorties avec l'option -v. L'option -b affiche les ressources affectées par le BIOS et non plus par le noyau.

dmesg : affiche les messages du noyau en continu. Cette commande affiche également les messages affichés au démarrage du système à l'étape de chargement du noyau. À cette étape, le noyau recherche les périphériques et charge les pilotes (modules ou inclus au noyau) automatiquement. Ces informations se trouvent dans /var/log/dmesg.

Ressources typiques

Périphérique

Port d'entrée/sortie

IRQ

/dev/ttyS0

0x03f8

4

/dev/ttyS1

0x02f8

3

/dev/lp0

0x378

7

/dev/lp1

0x278

5

soundcard

0x220

Affectation manuelle de ressources

Remarque : l'exemple suivant est très courant, mais comme les modules du noyau ne seront vus que pour les LPI 102, certains auront des difficultés à le comprendre. Vous pouvez sans problème passer cet exemple et vous rendre à la partie 2.

Exemple : configuration de deux cartes réseau

  1. Vous pouvez passer des paramètres au noyau au démarrage pour les pilotes inclus au noyau. Dans cet exemple typique, vous disposez de deux cartes réseau, mais une seule est détectée. La commande suivante indique au noyau :
    • qu'une carte utilise l'IRQ 10 et le port d'entrée/sortie 0x300 ;
    • que l'autre carte utilise l'IRQ 9 et le port d'entrée/sortie 0x340

 ether=10,0x300,eth0   ether=9,0x340,eth1

Vous pouvez taper cette commande en option à l'invite de LILO ou GRUB. Sinon, comme pour les paramètres de mémoire vus précédemment, ajoutez ces informations au champ append= dans /etc/lilo.conf ou /etc/grub.conf (ou /boot/grub/grub.conf).

Vous pouvez constater que l'instruction ether= est une commande générique pour le noyau comme root=, mem= ou init=. Notez également que vous n'avez pas besoin de donner d'autres informations sur les cartes réseau (Intel, Netgear, etc.).

  1. Vous pouvez passer les mêmes paramètres aux modules (pilotes de périphériques chargés dynamiquement) en utilisant /etc/modules.conf ou /etc/conf.modules. Dans l'exemple précédent, si on suppose que les deux cartes utilisent le module e100.o, le fichier /etc/modules.conf contiendrait :

 alias eth0 e100
 alias eth1 e100

 options eth0 io=0x300 irq=10
 options eth1 io=0x340 irq=9

Cartes d'extension

Les cartes d'extension les plus courantes sont les cartes ISA et PCI. Il n'y a presque plus rien à faire pour les configurer depuis les noyaux 2.4. Cependant, pour les bus ISA et avec des noyaux plus anciens, il était nécessaire de scanner le bus pour détecter les cartes présentes (son, ethernet, etc.).

Le programme pnpdump fournit par le paquet isapnptools permet de scanner le bus ISA pour détecter les périphériques « Plug and Play ». Il renvoie en sortie le composant de la carte ainsi que les paramètres d'adresses d'entrée/sortie, DMA et IRQ. Si la sortie du programme est sauvegardée dans le fichier /etc/isapnp.conf, les périphériques ISA sont configurés au démarrage par isapnp.

Depuis les noyaux 2.4, l'initialisation des périphériques PnP est gérée par le module isapnp.o.

USB

L' Universal Serial Bus (USB) est un bus informatique plug-and-play à transmission série servant à brancher des périphériques informatiques à un ordinateur. Il existe plusieurs types de périphériques USB :

Ces périphériques sont branchés sur un port USB qui est géré par un contrôleur USB. Linux gère les contrôleurs USB depuis les noyaux 2.2.7 (voir le Linux USB sub-system HOWTO).

Les contrôleurs USB

Il existe 3 types de contrôleurs USB :

Contrôleur USB

Module du noyau

OHCI (Compaq)

usb-ohci.o

UHCI (Intel)

usb-uhci.o

EHCI (USB v 2.0)

ehci-hdc.o

La commande lsusb donne la liste des périphériques USB connectés sur la machine :

 lsusb
 Bus 001 Device 001: ID 0000:0000
 Bus 001 Device 002: ID 04a9:1055 Canon, Inc.

Hotplug (branchement à chaud)

Hotplug est un système utilisé pour tenir à jour l'état du système lorsque vous branchez ou débranchez des périphériques amovibles. Dans la plupart des cas, le noyau signale les évènements en envoyant des paramètres au script /sbin/hotplug.

Le script hotplug lance les scripts situés dans le répertoire /etc/hotplug.d (le script par défaut est default.hotplug) qui lance à son tour l'agent approprié défini dans /etc/hotplug. Les noms des agents correspondent aux type de connexions : ieee1394, net, pci et usb.

Le journal ci-dessous montre ce qu'il se passe lorsqu'on branche une caméra USB :

 13:26:19  kernel: hub.c: new USB device 00:07.2-1, assigned address 5
 13:26:19  kernel: usb.c: USB device 5 (vend/prod 0x4a9/0x3058) is not claimed by any active driver.

 13:26:19 default.hotplug[10507]: arguments (usb) env (DEVFS=/proc/bus/usb OLDPWD=/ PATH=/bin:/sbin:/usr/sbin:/usr/bin ACTION=add PWD=/etc/hotplug HOME=/ SHLVL=2 DEVICE=/proc/bus/usb/001/005 PRODUCT=4a9/3058/1 TYPE=255/255/255 DEBUG=yes _=/bin/env)

 13:26:19  default.hotplug[10507]: invoke /etc/hotplug/usb.agent ()
 13:26:23  usb.agent[10507]: Setup usbcam for USB product 4a9/3058/1
 13:26:23 usb.agent[10507]: Module setup usbcam for USB product 4a9/3058/1
 13:26:38 devlabel: devlabel service started/restarted

À partir de cet exemple, vous pouvez voir que la première étape utilise les modules du noyau et que les étapes suivantes utilisent hotplug. Il faut également avoir une bonne carte des matériels USB (usb.usermap) pour pouvoir utiliser le matériel.

usbmgr

Il existe sur les systèmes Debian une alternative à hotplug : usbmgr. Voici les fichiers principaux à connaître :

SCSI

Types d'interfaces SCSI

Il y a 2 (NdT : maintenant 3) types d'interfaces SCSI:

Les périphériques SCSI sont identifiés de façon unique à partir du triplet que l'on nomme SCSI_ID :

Le canal SCSI

Chaque carte carte SCSI utilise un canal de données sur lequel s'attachent les périphériques (disque, CDROM, etc.). Les canaux sont numérotés à partir de 0.

Le numéro identifiant du périphérique

Un identifiant unique (Device ID) est attribué à chaque périphérique manuellement à l'aide de cavaliers directement sur le périphérique. Sur une carte SCSI-1, les identifiants vont de 0 à 7 et donc de 0 à 15 pour une carte SCSI-2.

Le numéro logique LUN

Les numéros logiques sont utilisés pour faire la différence entre les périphériques à l'intérieur d'un périphérique identifié : partitions d'un disque ou lecteur DAT pour un robot qui en comprend plusieurs. C'est devenu rare de nos jours avec la baisse des coûts des cartes SCSI et leur plus grande capacité.

Détection du matériel

La liste des périphériques détectés se trouve dans le fichier /proc/scsi/scsi. L'exemple suivant est tiré du SCSI-2.4-HOWTO :

Attached devices:

Host: scsi0 Channel: 00 Id: 02 Lun: 00

Vendor: PIONEER Model: DVD-ROM DVD-303 Rev: 1.10

Type: CD-ROM ANSI SCSI revision: 02

Host: scsi1 Channel: 00 Id: 00 Lun: 00

Vendor: IBM Model: DNES-309170W Rev: SA30

Type: Direct-Access ANSI SCSI revision: 03

La commande scsi_info affiche le SCSI_ID et le modèle du périphérique à partir des informations de /proc/scsi/scsi. À partir de l'exemple précédent, voici la sortie de la commande :

scsi_info /dev/sda

SCSI_ID="0,0,0"

MODEL="IBM DNES-309170W"

FW_REV="SA30"

Démarrer à partir d'un disque SCSI

Par défaut, le système démarre à partir du périphérique ayant le SCSI_ID 0. Vous pouvez modifier ce comportement dans le BIOS de la carte qui est accessible au démarrage.

Si le système est composé de disques IDE et SCSI, commencez par paramétrer le BIOS de la machine pour démarrer sur un périphérique SCSI.

Cartes réseau

Le pilote de la carte réseau (NIC) doit être compilé avec le noyau (ou en module). Vous trouverez des informations sur la ou les cartes utilisées sur votre machine avec :

dmesg, lspci, scanpci, /proc/interrupts, /sbin/lsmod ou /etc/modules.conf:

     dmesg
     Linux Tulip driver version 0.9.14 (February 20, 2001)
     PCI: Enabled device 00:0f.0 (0004 ->0007)
     PCI: Found IRQ 10 for device 00:0f.0
     eth0: Lite-On 82cl68 PNIC rev 32 at 0xf800, 00:0A:CC:D3:6E:0F,
     IRQ 10
     eth0: MII transceiver #1 config 3000 status 7829 advertising

     cat /proc/interrupts
      0:    8729602          XT-PIC  timer
      1:          4          XT-PIC  keyboard
      2:          0          XT-PIC  cascade
      7:          0          XT-PIC  parport0
      8:          1          XT-PIC  rtc
     10:     622417          XT-PIC  eth0
     11:          0          XT-PIC  usb-uhci
     14:     143040          XT-PIC  ide0
     15:        180          XT-PIC  ide1

     /sbin/lsmod
     Module                  Size  Used by
     tulip                  37360   1 (autoclean)

Dans l'exemple ci-dessus, on voit que la carte est basée sur un composant Tulip, que l'adresse d'entrées/sorties est 0xf800 et que l'IRQ est 10. Ces informations peuvent être utilisées pour insérer le module avec une adresse d'entrées/sorties différente en utilisant modprobe ou insmod ou en inscrivant les valeurs dans /etc/modules.conf (dans ce cas les paramètres seront utilisés au prochain démarrage).

Configuration des modems

Il nous faut d'abord détecter le modem. S'il s'agit d'un modem externe, il vous suffit de connaître le port série utilisé. Par contre, s'il s'agit un modem PCI, nous devons connaître l'adresse d'entrées/sorties et l'interruption qu'il utilise.

Le modem

Pour les modems externes, allez à la partie suivante : « le port série ».

Vous pouvez détecter les modems PCI à l'aide de la commande lspci (l'exemple qui suit est tiré du PCI-Modem micro HOWTO).

  lspci -v
          ----- extrait -----
     00:0c.0 Serial controller:US Robotics/3Com 56K FaxModem Model 5610 (rev 01)     (prog-if 02 [16550])
     Subsystem: US Robotics/3Com USR 56k Internal FAX Modem (Model 2977)
     Flags: medium devsel, IRQ 11
     I/O ports at e800 [size=8]
     Capabilities: <available only to root>
          ----- extrait -----

Notez que l'adresse d'entrées/sorties est 0xe800 et l'IRQ 11. Nous pouvons utiliser ces informations et les attribuer à un port série.

Le port série

Le modem communique à travers une interface série. Les informations sont transmises à travers le réseau téléphonique sous la forme de séquences de bits (série) sur deux fils (entrant et sortant). Les informations entrantes sont converties de série en parallèle pour le bus du PC et vice versa pour les données sortantes issues de l'ordinateur. La conversion est effectuée par une puce UART située au niveau du port série sur la carte mère ou directement sur la carte PCI pour un modem interne.

Pour connaître les ports série détectés au démarrage, entrez la commande suivante :

   dmesg | grep ttyS

     /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
     /dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3

Pour le moment, ces ports utilisent les adresses couramment utilisées par des ports série.

REMARQUE : Pour les modems externes, ne considérez que les ports série avec les IRQ 3 ou 4. Les adresses d'entrées/sorties ci-dessus sont également standard.

Le tableau ci-dessous présente les équivalents entre les ports COM de DOS et les ports série de Linux :

DOS

Linux

COM1

/dev/ttyS0

COM2

/dev/ttyS1

COM3

/dev/ttyS2

Vous pouvez aussi utiliser la commande setserial pour rechercher les périphériques série. L'option -g permet de préciser les ports série à tester.

   setserial -g /dev/ttyS[01]

     /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
     /dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3

Si vous avez un modem interne détecté par lspci précédemment, vous devez garder en mémoire l'IRQ et l'adresse d'entrées/sorties utilisée :

Adresses utilisées par le modem interne

Adresse d'entrées sortie

IRQ

0xe800

11

À présent, utilisez setserial pour attribuer ces adresses à un port série virtuel :

   setserial /dev/ttyS4 port 0xe800 irq 11 autoconfig

L'option autoconfig permet de paramétrer automatiquement l'UART. Vous pouvez sauver cette commande dans un script que vous appellerez serial.rc qui se chargera de configurer le port série à chaque démarrage.

On utilise généralement un lien symbolique /dev/modem pointant vers le port série utilisé par le modem.

Création manuelle du lien symbolique :

  ln -s /dev/ttyS1 /dev/modem

On utilise aussi setserial pour configurer la vitesse du port série.

Option de setserial

Description

spd_hi

Utilise 56 kbaud au lieu de 38,4 kbaud

spd_vhi

Utilise 115 kbaud au lieu de 38,4 kbaud

spd_shi

Utilise 230 kbaud au lieu de 38,4 kbaud

spd_warp

Utilise 460 kbaud au lieu de 38,4 kbaud

spd_cust

Paramètre la vitesse à partir du diviseur (vitesse = vitesse de base en baud / diviseur)

spd_normal

Utilise 38,4 kbaud

Par exemple, si vous voulez paramétrer la vitesse du port série /dev/ttyS4 à 115 kBd :

   setserial /dev/ttyS4 spd_vhi

Configuration des connections

Le script de configuration wvdialconf du paquet wvdial recherche les modems série ou USB sur la machine et génère un fichier de configuration de base.

''Exemple de fichier /etc/wvdial.conf :''
  [Dialer Defaults]
  Modem = /dev/ttyS1
  Baud = 115200
  Init1 = ATZ''
  Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0
  ; Phone = <Target Phone Number>
  ; Username = <Your Login Name>
  ; Password = <Your Password>

Pour commencer, remplacez Defaults par le nom de votre fournisseur d'accès, par exemple MonFAI. Entrez également votre nom d'utilisateur, mot de passe et numéro de téléphone, puis tapez la commande suivante :

NdT : décommentez ces lignes en retirant les « ; ».

   wvdial MonFAI

Vous pouvez également utiliser minicom pour votre connexion. Il se configure en utilisant l'option -s :

   minicom -s

         +-----[configuration]------+
         |  Filenames and paths     |
         |  File transfer protocols |
         |  Serial port setup       |
         |  Modem and dialing       |
         |  Screen and keyboard     |
         |  Save setup as dfl       |
         |  Save setup as..         |
         |  Exit                    |
         |  Exit from Minicom       |
         +--------------------------+

Tout ce qui concerne le port série se trouve dans « Serial port setup » et les informations de connexion communiquées par votre fournisseur s'inscrivent dans « Modem and dialing ».

Vous pouvez vous connecter à d'autres machines une fois que le modem est paramétré et fonctionnel, mais il faut lancer pppd pour établir une connexion réseau. pppd crée l'interface réseau ppp0 et assigne une adresse IP (fixe ou via DHCP). Des programmes comme wvdial s'en chargent tous seuls.

Winmodems

Si jamais la configuration précédente ne fonctionne pas, vous avez très probablement un winmodem, qui a besoin de pilotes supplémentaires. Pour avoir une définition fleurie des winmodem, jetez un oeil au winmodems-and-Linux-HOWTO.

Un winmodem qui peut fonctionner sous Linux est aussi appelé un linmodem (allez voir le linmodem-HOWTO si vous souhaitez en savoir un peu plus).

(NdT : ces guides pratiques sont obsolètes, consultez à la place le Modem-HOWTO)

RNIS

RNIS c'est le réseau téléphonique classique numérisé jusqu'à la prise du client. C'est le Réseau Numérique à Intégration de Services, commercialisé sous le nom de Numéris en France par France Telecom. Au lieu d'une ligne analogique à 56kbits/s, le RNIS offre un certain nombre de canaux (suivant les contrats) pour les données, les canaux B à 64 kbit/s, et un canal de plus faible débit, le canal D qui gère les informations de liaison. Le service de base dans un certain nombre de pays est RNIS2 : 2 canaux B et un canal D.

Vous pouvez vous connecter en RNIS de différentes façons sous Linux. La plus simple est d'utiliser un routeur RNIS qui se charge de la connexion à votre place et qui se branche directement à votre PC ou votre réseau en Ethernet.

Vous aurez besoin d'une carte adaptateur (Terminal Adapter or TA) si votre poste doit être directement connecté sur le réseau RNIS. Les détails concernant les différentes interfaces sortent du programme de ce cours mais vous trouverez en général :

ADSL

L'ADSL ou liaison numérique à débit asymétrique a très largement remplacé les connexions RNIS et les lignes louées (T1, etc.) pour les connexions haut débit. Tout comme pour le RNIS, l'utilisateur de Linux a plusieurs approches. La plus simple est d'utiliser un routeur ADSL autonome, auquel vous vous branchez directement en Ethernet. Dans ce cas, le routeur est traité comme n'importe quel routeur. De nombreux routeurs ADSL vendus actuellement sont des machines fonctionnant sous Linux. Si pour une raison ou une autre vous n'utilisez pas cette méthode, vous devez acheter un modem ADSL et choisir un accès pouvant utiliser le protocole PPoE (Protocole Point à Point sur Ethernet). Il existe différents projets de gestion de modems ADSL basés sur différents composants. Mais chacun utilise ses propres outils de configuration et son environnement.

Configuration des imprimantes

Le processus d'impression est vu en détail dans le cours de préparation LPI 102. Du point de vue matériel, les imprimantes sont automatiquement détectées au démarrage, ce que vous pouvez voir sur la sortie de dmesg.

L'impression sous Linux s'effectue en deux étapes. D'abord, les données brutes sont filtrées et adaptées au format postscript. Ensuite, l'impression est prise en charge par le programme ghostscript (ou gs).

Utilisation de printtool

printtool crée une entrée dans /etc/printcap. Les informations les plus importantes sont le chemin d'accès au filtre d'entrée (if), le répertoire de spool (sd) et le périphérique d'imprimante (lp).

Si printtool ne détecte pas le port parallèle correspondant à votre imprimante, utilisez dmesg pour voir ce que le noyau a trouvé au démarrage.

L'exemple suivant présente une imprimante connectée sur le premier port parallèle /dev/lp0 :

 parport0: PC-style at 0x378 (0x778) [SPP,ECP,ECPEPP,ECPPS2]
 parport0: detected irq 7; use procfs to enable interrupt-driven operation.
 parport_probe: succeeded
 parport0: Printer, HEWLETT-PACKARD DESKJET 610C
 lp0: using parport0 (polling)

Un fichier /etc/printcap :

 # This file can be edited with the printtool in the control-panel.
 ##PRINTTOOL3## LOCAL cdj550 300x300 a4 {} DeskJet550 3 {}
 lp:\
         :sd=/var/spool/lpd/lp:\
         :mx#0:\
         :sh:\
         :lp=/dev/lp0:\
         :if=/var/spool/lpd/lp/filter:

Utilisation de CUPS

CUPS est un nouvel outil d'administration et de configuration des imprimantes. Les fichiers de configuration sont situés dans /etc/cups. Le processus d'impression est le même sauf que CUPS utilise ses propres filtres que l'on trouve dans /usr/lib/cups.

CUPS se configure à partir d'une interface web, service qui utilise le port TCP 631.

CUPS remplace également le service lpd par cupsd.

REMARQUE : les imprimantes locales sont détectées au démarrage du système qu'elles soient parallèles ou USB. Vous pouvez retrouver ces informations avec la commande dmesg.

Cartes son

Il y a deux projets pour la gestion du son sous Linux : OSS (Open Sound System) et ALSA (Advanced Linux Sound Architecture). OSS est un projet commercial de gestion du son sur d'autres systèmes UNIX. Des pilotes modifiés ont été introduits au noyau à partir de la version 2.0.

ALSA est un projet beaucoup plus récent intégré seulement à partir du noyau 2.6. Pour les noyaux plus anciens, il faut recompiler le noyau pour intégrer la gestion d'ALSA, sauf pour certaines distributions qui ont très rapidement adopté ALSA, comme Suse.

Dans la plupart des cas, le son fonctionne à l'installation du système. La plupart des distributions Linux contiennent des outils graphiques de configuration du son.

Détection de la carte son

Comme d'habitude, on va utiliser dmesg pour voir si le noyau a détecté une carte son :

  dmesg | grep -i audio
 NeoMagic 256AV/256ZX audio driver, version 1.1p
 Initialized NeoMagic 256ZX audio in PCI native mode

REMARQUE : il est possible que cette commande ne vous renvoie rien. Dans ce cas, regardez plus en détail la sortie de dmesg pour déterminer quel périphérique correspond à votre carte son.

Utilisation de sndconfig

Configurer la carte précédente revient à trouver le module correspondant aux informations de dmesg. Avec OSS, ce module est associé à un fichier périphérique destiné à être utilisé par les programmes, sound-slot-0 pour le premier périphérique de son.

Ce travail est fait automatiquement par des programmes de configuration. Nous allons voir sndconfig, qui est au programme du LPI 101.

sndconfig est un programme RedHat de configuration des périphériques de son avec les modules OSS. Vous aurez sans doute besoin de l'installer car la plupart des distributions ne l'incluent plus à l'installation de base. Tapez :

 sndconfig

Au lancement, un menu graphique (ncurses) apparaît et sndconfig vous propose de rechercher des cartes sons sur votre machine. Allez sur « OK ».

Sur notre ordinateur, la carte a été détectée :

 Neomagic Corporation | NM2360 [MagicMedia 256ZX Audio]

Si sndconfig n'a rien trouvé, il vous présente la liste de fabricants et des cartes gérées par OSS. Dans ce cas, utilisez lspci pour obtenir le modèle et vérifiez sa compatibilité à la page http://www.opensound.com/osshw.html.

Une fois la carte sélectionnée, sndconfig essaie de charger le module du noyau correspondant et de jouer un son (surprise !). Si tout a fonctionné, sndconfig met à jour /etc/modules.conf (vu dans la préparation de l'examen LPI 102). Voici dans notre cas, la ligne ajoutée par sndconfig :

 alias sound-slot-0 nm256_audio

Exercices et résumé

Exercices de révision

Oui ou non :

  1. La partition racine d'un système Linux doit toujours se trouver sur un disque IDE
  2. Un système Linux peut utiliser n'importe quel périphérique USB du moment où le noyau a été compilé avec le support USB

Voir les réponses

Glossaire

Terme

Définition

DMA

L'accès direct à la mémoire est utilisé par certains composants matériels pour effectuer des opérations de lecture / écriture directement en mémoire, sans utiliser le processeur.

Adresses d'entrées / sorties

Zones mémoires prédéfinies et réservées utilisées par les périphériques et le processeur pour des opérations de lecture / écriture.

IRQ

Signal envoyé par un périphérique au processeur pour exécuter une tâche en priorité : arrêt de l'exécution actuelle, exécution de la tâche prioritaire (par exemple saisie clavier) et reprise de la tâche précédente.

Allocation de ressources

Ensemble des ressources : DMA, adresses d'entrées/sorties et IRQ attribuées à un matériel.

SCSI

Interface de transfert de données entre un matériel et le bus du PC. Par exemple, les périphériques peuvent être un disque dur, un lecteur de bandes, un lecteur CD-ROM, un graveur de CD, un scanner...

USB

Standard de connexion haute vitesse permettant de connecter des périphériques externes à l'ordinateur sans avoir besoin de redémarrer. Le principe est un contrôleur sur l'ordinateur avec un concentrateur (hub) initial. Ce concentrateur peut accueillir des périphériques ou d'autres concentrateurs, avec un maximum de 127 périphériques connectés (concentrateurs compris) par contrôleur.

Ressources

Fichiers

Fichier

Description

/etc/isapnp.conf

Fichier de configuration de isapnp – voir isapnp.conf(5)

/proc/dma

Liste des canaux DMA utilisés

/proc/interrupts

Liste des interruptions utilisées

/proc/ioports

Liste des adresses d'entrées / sorties utilisées

/proc/pci

Informations sur le bus PCI

/etc/hotplug/usb.usermap

Liste des périphériques USB reconnus

/var/log/dmesg

Fichier journal des messages du noyau depuis le démarrage

/proc/scsi/scsi

Informations sur les périphériques SCSI – voir scsi_info(8)

Commandes

Commande

Description

dmesg

Affiche les messages du noyau depuis le démarrage

hotplug

Programme utilisé par le noyau pour traiter les évènements relatifs au matériel – voir hotplug(8)

isapnp

Programme utilisé pour initialiser les cartes ISA avant les noyaux 2.4 – voir isapnp(8)

lspci

Liste des périphériques PCI – voir lspci(8)

lsusb

Liste les périphériques USB – voir lsusb(8)

pnpdump

pnpdump(8) – affiche les informations sur les cartes ISA Plug-and-Play

scsi_info

scsi_info(8) – affiche la description des périphériques SCSI

setserial

setserial(8) – affiche ou règle les paramètres des ports série

usbmgr

Service utilisateur qui charge ou décharge les modules USB. C'est l'alternative à hotplug qui est généralement utilisée sur Debian.

usb.agent

Agent hotplug traitant les évènements relatifs à l'USB

usbmodules

usbmodules(8) – liste les pilotes du noyau qui devraient pouvoir gérer les périphériques USB connectés. usbmodules peut être utilisé par /sbin/hotplug ou un de ses agents (en général /etc/hotplug/usb/agent) quand les périphériques USB sont connectés à chaud.

wvdial

Outil utilisé pour les connexions PPP, voir wvdial(1)

Travaux pratiques

  1. Utilisez dmesg pour voir les messages de /var/log/dmesg. Recherchez les mots clés USB, tty, ou ETH0.

    • Quels sont les noms des contrôleurs USB utilisés ?
    • Quelles interruptions sont utilisées par les deux premiers ports série ?
  2. Consultez les fichiers suivants :
    • /proc/ioports

    • /proc/interrupts

    • /proc/pci

    • /proc/dma

  3. Le bus PCI
    • À partir des commandes lspci -v et scanpci -v, déterminez le type de votre carte ethernet

    • Vérifiez qu'il y a autant d'entrées de « bus » avec la commande lspci et /proc/pci

  4. Outils USB
    • Déterminez le type de contrôleur USB sur votre système (xHCI) à partir des commandes lsmod et lsusb ;

    • Utilisez usbmodules pour afficher les modules du noyau pouvant utiliser l'interface

  5. Périphériques SCSI
    • À partir du contenu du fichier /proc/scsi/scsi suivant, déduisez la sortie de la commande scsi_info (voir "scsi_info")):

      Attached devices:
      Host: scsi0 Channel: 00 Id: 00 Lun: 00
       Vendor: PHILIPS  Model: CDRW48A          Rev: P1.3
       Type:   CD-ROM                           ANSI SCSI revision: 02

Réponses aux questions (Oui ou non)

  1. Non : la partition racine peut se trouver sur n'importe quel type de disque.

  2. Non : le module du noyau ne gère que le contrôleur USB. Le noyau communique les évènements à un agent USB qui utilise des tables utilisateur pour configurer un périphérique en particulier.

Page consultée 307 fois

Site hébergé sur un Cloud Public IKOULA Ikoula