2. Identification des interfaces disponibles

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.

2.1. Comment identifier le périphérique réseau ?

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, USB ou ISA pour les modèles les plus anciens. Les commandes lspci du paquet pciutils, lsusb du paquet usbutils et lspcmcia du paquet pcmciautils donnent la liste des périphériques reliés respectivement aux bus PCI, USB ou ISA.

Voici quelques exemples caractéristiques obtenus à l'aide des commandes $ lspci -v, $ lsusb ou $ lspcmcia -v.

  • Un contrôleur de marque Intel™ intégré sur carte mère

    0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
            Subsystem: Intel Corporation Device 1021
            Flags: bus master, fast devsel, latency 0, IRQ 31
            Memory at f1fff000 (32-bit, non-prefetchable) [size=4K]
            Capabilities: [c8] Power Management version 2
            Capabilities: [d0] MSI: Mask- 64bit+ Count=1/1 Enable+
            Capabilities: [e0] Express Legacy Endpoint, MSI 00
            Capabilities: [100] Advanced Error Reporting
            Capabilities: [140] Device Serial Number 65-5e-54-ff-ff-3c-1f-00
            Kernel driver in use: iwl3945
  • Un contrôleur mini PCI 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 Realtek™ connecté sur un bus USB.

    Bus 001 Device 003: ID 0bda:8187 Realtek Semiconductor Corp. RTL8187 Wireless Adapter
  • 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 ».

2.2. Comment vérifier que l'interface de réseau sans fil est bien gérée ?

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