Avant de pouvoir configurer une interface, il faut que le pilote de périphérique correspondant ait été chargé en mémoire. Comme une interface réseau est un dispositif matériel, c'est au niveau du noyau Linux que l'opération doit s'effectuer. Soit le pilote d'interface a été inclus dans la partie monolithique du noyau soit il est chargé sous forme de module. C'est cette dernière solution qui est le plus souvent retenue. Un module peut être chargé ou déchargé à volonté sans avoir à redémarrer la machine.
Il existe une grande variété de contrôleurs d'interface réseau sans fil. À chaque composant correspond un pilote logiciel spécifique. Qu'il s'agisse d'une carte additionnelle ou d'un composant intégré sur la carte mère, le contrôleur est toujours un périphérique connecté à un bus PCI ou ISA. Les commandes lspci du paquet pciutils et lspcmcia du paquet pcmciautils donnent la liste des périphériques reliés respectivement aux bus PCI et ISA.
Voici quelques exemples caractéristiques obtenus à l'aide des
commandes et
$ lspci -v.$ lspcmcia -v
Un contrôleur de marque Intel™ intégré sur carte mère.
03:03.0 Network controller: Intel Corporation PRO/Wireless 2915ABG ...
Subsystem: Intel Corporation Unknown device 1021
Flags: bus master, medium devsel, latency 64, IRQ 18
Memory at dceff000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [dc] Power Management version 2
Un contrôleur de marque Broadcom™ sur une carte PCCARD.
06:00.0 Network controller: Broadcom Corporation BCM4306 \
802.11b/g Wireless LAN Controller (rev 03)
Subsystem: Linksys Device 4320
Flags: bus master, fast devsel, latency 64, IRQ 11
Memory at 2c000000 (32-bit, non-prefetchable) [size=8K]
Capabilities: [40] Power Management version 2
Kernel driver in use: b43-pci-bridge
Kernel modules: ssb
Un contrôleur de marque Cisco™ sur une carte PCMCIA.
Socket 1 Bridge: [yenta_cardbus] (bus ID: 0000:00:04.1)
Configuration: state: on ready: yes
Voltage: 5.0V Vcc: 5.0V Vpp: 5.0V
Socket 1 Device 0: [airo_cs] (bus ID: 1.0)
Configuration: state: on
Product Name: Cisco Systems 350 Series Wireless LAN Adapter
Identification: manf_id: 0x015f card_id: 0x000a
function: 6 (network)
prod_id(1): "Cisco Systems" (0xa17c320e)
prod_id(2): "350 Series Wireless LAN Adapter" (0x3d011600)
Certaines interfaces présentent quelques singularités quant à l'emploi de logiciel directement intégré sur les composants ; les firmwares. Quelques éléments sur l'obtention de ces firmwares sont donné à la Section 9, « Notes sur le support matériel et les firmwares ».
Les pilotes logiciels des composants sont chargés dynamiquement lors de l'initialisation du système d'exploitation. Dans la plupart des cas, ils sont chargés en mémoire sous forme de modules. On peut vérifier que ces pilotes logiciels ont bien été chargés en consultant les messages systèmes et la liste des modules chargés en mémoire.
Voici un extrait des messages d'initialisation du système avec le
contrôleur Intel™ dont le pilote logiciel est baptisé
ipw2200. Ces messages sont obtenus à l'aide de la
commande dmesg.
# dmesg |grep -1 ipw2200 ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.0kdmprq ipw2200: Copyright(c) 2003-2006 Intel Corporation ACPI: PCI Interrupt 0000:03:03.0[A] -> GSI 17 (level, low) -> IRQ 18 ipw2200: Detected Intel PRO/Wireless 2915ABG Network Connection ipw2200: Detected geography ZZE (13 802.11bg channels, 19 802.11a channels) ACPI: PCI Interrupt 0000:00:1e.3[B] -> GSI 17 (level, low) -> IRQ 18
On retrouve aussi ce nom de pilote dans la liste des modules chargés en mémoire. Cette liste est obtenue à l'aide de la commande lsmod.
# lsmod |grep ipw2200 ipw2200 177864 0 ieee80211 33864 1 ipw2200 firmware_class 10240 2 pcmcia,ipw2200
Vous êtes ici :