Network configuration (Français)/Wireless (Français)

From ArchWiki

Tango-preferences-desktop-locale.pngCet article ou section a besoin d'être traduit(e).Tango-preferences-desktop-locale.png

Notes: Cet article ne respecte pas la structure de sa version anglophone, merci de le réécrire en conséquence. Vous pouvez aussi ajouter à la version anglophone les informations à-jour et dignes d’intérêt qui ne seraient portées que par la version francophone. Voir ArchWiki:Translation Team (Français) (Discuss in Talk:Network configuration (Français)/Wireless (Français)#)

Le Wi-Fi (également orthographié Wi-fi, WiFi, Wifi ou encore wifi, prononcé [uifi]) est une technologie de réseau informatique sans fil mise en place pour fonctionner en réseau interne et, depuis, devenue un moyen d'accès à haut débit à Internet. Il est basé sur la norme IEEE 802.11 (ISO/CEI 8802-11). -- (extrait de la documentation de Wikipedia) --

Vérification du matériel

Détection du modèle

Vous pouvez utiliser la commande lspci pour lister les périphériques PCI connectés, ou lsusb si vous utilisez une carte wi-fi connectée en usb.

Note: certaines cartes wifi sont activées par leur firmware et ne sont pas listées par lspci, bien que fonctionnelles après installation du pilote.

Pilotes natifs

  • wlan-ng gère de nombreux (vieux) chipsets, vous pouvez voir si le votre n'est pas listé.
    • madwifi pour les chipsets Atheros (AR5210, AR5211, AR5212 and AR5213)
  • ath5k (pilote FOSS, contrairement à madwifi, ce dernier ne contient pas de BLOB binaire) (AR5001).
  • ath9k pour les chipsets 11n (AR5416, AR5418, AR9160, AR9280, AR9281, AR9285).
  • rt2x00 pour les chipsets Ralink (rt2400, rt2500, and rt2570)
  • ipw2100/ipw2200 pour les cartes Intel BG2100/2200 Mini PCI
  • iwl3945/4965 pour les cartes Intel 3945/4965 AB/G Mini PCI-E
  • b43 pour les cartes broadcom (ex: TRENDware TEW-401PC pcmcia)
  • orinoco pour certaines cartes basées sur Prism 2
  • prism54 pour les cartes Prism 54
  • ...
  • Consulter les pages Linux Wireless Support, HCL[dead link 2021-11-13 ⓘ] et linux

Ndiswrapper

Si votre matériel ne fonctionne que sous Windows :

  • ndiswrapper pour ce type de matériel (Broadcom, 3Com, ...)
  • se procurer les fichiers *.inf et *.sys de votre pilote[dead link 2021-11-13 ⓘ] (attention, la liste ne semble plus être maintenue)
Astuce: Si vous n'entrez dans aucune de ces catégories :
  • vous vous êtes fait avoir et devrez changer de modèle
  • un moteur de recherche (ex : Google, Duck Duck Go...) ou les forums

Installation

Assurez-vous d'avoir le paquet iw.

pacman -S iw

Sans cet outil, ce n'est pas la peine de continuer.

Note: Bien que déprécié mais encore largement utilisé, wireless_tools peut vous sauver la mise en lieu et place de iw (ce dernier ne prenant en charge que le standard nl80211 et pas le plus ancien WEXT).

Le tableau suivant illustre quelques correspondances de commandes entre iw et iwconfig si vous aviez à basculer de l'un vers l'autre:

commande iw commande wireless_tools Description
iw dev wlan0 link iwconfig wlan0 Obtenir le statut des liens.
iw dev wlan0 scan iwlist wlan0 scan Scan des points d'accès accessibles.
iw dev wlan0 set type ibss iwconfig wlan0 mode ad-hoc Régler le mode opération sur ad-hoc.
iw dev wlan0 connect votre_essid iwconfig wlan0 essid votre_essid Connexion à un réseau ouvert.
iw dev wlan0 connect votre_essid 2432 iwconfig wlan0 essid votre_essid freq 2432M Connexion à un réseau ouvert en spécifiant un canal.
iw dev wlan0 connect your_essid key 0:votre_clé iwconfig wlan0 essid your_essid key votre_clé Connexion à un réseau chiffré par WEP en utilisant une clé hexadécimale.
iw dev wlan0 connect your_essid key 0:votre_clé iwconfig wlan0 essid your_essid key s:votre_clé Connexion à un réseau chiffré par WEP en utilisant une clé ASCII.
iw dev wlan0 set power_save on iwconfig wlan0 power on Établir l'économie d'énergie.

Avant même de commencer à configurer votre connexion, il faut faire en sorte que le noyau Linux sache que vous possédez une carte permettant d'accéder au réseau sans fil. Pour cela il faut installer le pilote. Udev chargera automatiquement le module adéquat et créera l'interface associée.

Pilote disponible pour GNU/Linux

Ce qui suit est une liste non exhaustive de pilotes avec les paquets (le module en lui même est parfois intégré au noyau) à installer.

Attention: Plus généralement, il suffit dans 95% des cas d'utiliser linux-firmware fournit lors de l'installation du kernel. Si et seulement si, la carte wifi ne fonctionne toujours pas après redémarrage, il faudra regarder vers les autres solutions ci-dessous.
Nom du pilote Carte / Chipset Paquet supplémentaire requis Précisions
ipw2100 Intel Wireless 2100 ipw2100-fw
ipw2200 Intel Wireless 2200 ipw2200-fw
rt2x00/RT61 Ralink voir wiki
rt2x00/RT71 Ralink voir wiki
madwifi
Note: Ce pilote est déprécié. Rabattez-vous plutôt sur ath5k ou ath9k.
Atheros madwifiAUR[broken link: package not found] (AUR) Module: ath_pci

Il faut blacklister ath5k.

Voir http://madwifi-project.org/wiki/UserDocs/CountryCode s'il vous faut définir un code pays (par exemple options ath_pci countrycode=528 à rajouter dans /etc/modprobe.d/modprobe.conf).

ath5k Atheros AR5xxx

liste

ath9k Atheros IEEE 802.11n PCI/PCI-Express et AHB WLAN

liste

iwl4965 Intel Corporation PRO/Wireless 4965
iwl3945 Intel Corporation PRO/Wireless 3945
iwl5000 Intel Corporation PRO/Wireless 5000
b43 ou b43legacy Broadcom série bcm43xx

liste par périphériques ou par modèles d'ordinateur

b43-firmwareAUR ou b43-firmware-legacyAUR[broken link: package not found] (AUR) Blacklister celui que vous n'utilisez pas.
brcmsmac ou brcmfmac (anc. brcm80211) liste Pour les kernels 3.0 et 3.1, blacklister bcma.
broadcom-wl
Note: L'emploi de ce pilote est particulièrement déconseillé.
liste[dead link 2021-11-13 ⓘ] broadcom-wl (AUR) Il faut blacklister les modules b43 et ssb (plus de détails: Broadcom wireless#broadcom-wl ).
orinoco Prism-2
Astuce: Si Udev ne charge pas automatiquement le module, ajoutez-le manuellement dans /etc/modules-load.d/mon_module.conf.

Pilote non disponible pour GNU/Linux

ndiswrapper est un module permettant d'utiliser un pilote Microsoft Windows sous GNU/Linux. Vous pouvez l'installer depuis AUR.

Il vous faut le fichier *.inf du pilote Windows ainsi que le *.sys présent dans le même répertoire. Si vous avez besoin d'extraire ces fichiers depuis un *.exe, vous pouvez passer par cabextract ou wine.

Attention: Attention à bien avoir les pilotes appropriés à votre architecture 32 ou 64 bits.

Installation du pilote dans /etc/ndiswrapper/*:

ndiswrapper -i filename.INF

Vérification de tous les pilotes pris en charge par ndiswrapper:

ndiswrapper -l 

Écriture du fichier de configuration /etc/modprobe.d/ndiswrapper.conf:

ndiswrapper -m

Régénération des dépendances entre les modules:

depmod -a

Vous pouvez désormais tenter le chargement du module:

modprobe ndiswrapper

et vérifier qu'il existe désormais une interface sans-fil (par exemple wlan0):

iw dev

Il vous restera alors à charger le module pour qu'il se lance au démarrage (Chargement de modules) et configurer votre réseau.

Configuration

Configuration du périphérique

Toute la configuration du wifi (ouvert/WEP) passe par l'utilitaire iw.

Attention: Nous allons supposer que l'interface en question se nomme wlan0 dans la suite de cette page. Entré avec l'argument dev, iw liste les interfaces et leurs paramètres. C'est utile pour connaître le nom de l'interface à utiliser, comme par exemple eth1 ou wlan0 ou pour vérifier les paramètres.

Certaines cartes ne se chargeant pas par défaut. Il est donc nécessaire de faire avant :

ip link set wlan0 up 
Note: Certaines cartes peuvent être soft-bloquées. Vous pouvez vous assurer que la carte est active avec l'utilitaire rfkill:
pacman -S rfkill

Vérification de l'activation de la carte :

rfkill list
0: acer-wireless: Wireless LAN
        Soft blocked: yes
        Hard blocked: no
1: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: yes

La carte n'est pas activée il faut donc la débloquer soit à l'aide d'une combinaison de touches (ou un bouton) sur les PC portables, soit avec la commande :

rfkill unblock all

Vérification:

 rfkill list
0: acer-wireless: Wireless LAN
        Soft blocked: no
        Hard blocked: no
1: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no

La carte est maintenant activée.

Astuce: rfkill fonctionne avec ou sans la possibilité d'une activation physique externe.

Pour scanner les réseaux wifi disponibles, il suffit de taper :

 iw wlan0 scan

Pas de chiffrement ou chiffrement WEP

Tout d'abord, il faut configurer le mode opératoire :

iw wlan0 set type [mode]

[mode] est un des paramètres suivants:

  • managed si la connexion s'effectue à partir d'un point unique central (AP) ce qui est le cas des boxes (Freebox, Livebox...) ou des routeurs wifi.
  • ibss si le réseau est un réseau point-à-point, c'est à dire que chaque ordinateur relaie le signal et peut se connecter aux autres ordinateurs, ou encore si vous créez un petit réseau rapide pour échanger des données entre amis.

Ensuite, il faut configurer le canal sur lequel votre wifi émet :

iw wlan0 set channel [canal]

Le canal est généralement entre 1 et 13 (en France).
On l'associe au réseau en question. Il faut aussi spécifier quel chiffrement sera utilisé :
Attention la clé wep est soit sur 40 bits, soit sur 104 bits

# Codée en hexadécimal (10 ou 26 caractères hexadécimaux) :
iw wlan0 connect [nom_reseau] keys 0:01234567890
# Texte (5 ou 13 caractères ASCII) :
iw wlan0 connect [nom_reseau] keys 0:ma-clé
# Sans clé:
iw wlan0 connect [nom_reseau]

Chiffrement en WPA

Exemples tirés du manuel

Il vous faut l’utilitaire wpa_supplicant :

pacman -S wpa_supplicant

Ce paquet crée un fichier /etc/wpa_supplicant/wpa_supplicant.conf qui contient un bon nombre d'exemples de configuration.Vous pouvez l'éditer directement ou créer le vôtre. Vous pouvez mettre autant de champs que vous voulez. Ça se connectera au réseau disponible, en testant dans l'ordre d'inscription.

Configuration minimaliste :

network={
  ssid="mon-reseau"
  psk="ma-clé"
  priority=5
}

Pour du WPA2-PSK simple :

 ctrl_interface=/var/run/wpa_supplicant
 ctrl_interface_group=0
 eapol_version=2
 ap_scan=1
 fast_reauth=1
 network={
        ssid="ssid du point"
        psk="le mot de passe"
        priority=5
 }

Pour du WPA(TKIP) :

 ctrl_interface=/var/run/wpa_supplicant
 ctrl_interface_group=0
 eapol_version=2
 ap_scan=1
 fast_reauth=1
 network={
        ssid="ssid du point"
        scan_ssid=1
        psk="clé wpa"
        key_mgmt=WPA-PSK
        proto=WPA
        pairwise=TKIP
        group=TKIP
}

Voici un exemple pour se connecter à un point d'accès avec un serveur RADIUS :

network={
	ssid="ssid du point"
	key_mgmt=WPA-EAP
	eap=PEAP
	identity="votre loggin"
	password="le mot de passe"
#	ca_cert="/etc/cert/ca.pem"
#	phase1="peaplabel=1"
#	phase2="auth=MSCHAPV2"
	priority=10
}

Exemple avec une autorisation WPA2-AES :

network={
        ssid="lalala-secure"
        key_mgmt=WPA-EAP
        eap=TTLS
        pairwise=CCMP
        group=CCMP
        phase2="auth=MS-CHAPV2"
        identity="LoGiNdElAmOrT"
        anonymous_identity="LoGiNdElAmOrT"
        password="MotDePasseDeLaMort"
}

Plus d'exemples sur le manuel: wpa_supplicant.conf(5)

On lance la commande ainsi :

wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf

Si la connexion est bien réalisée, on peut utiliser le mode tâche de fond :

wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf

Il ne manque maintenant que les adresses réseau, configurez ceci avec ip, ou bien utilisez simplement DHCP si le réseau l'offre :

dhcpcd wlan0

Le driver Wext est le plus stable et le plus utilisé.

Mais selon la carte que vous possédez, vous serez peut-être amené à en utiliser un autre.

Option -Dwext de wpa_supplicant :

wpa_supplicant -Dwext -i wlan0 -c /etc/wpa_supplicant.conf

Si vous aviez branché un câble sur votre carte réseau pour suivre le wiki, que vous le débranchez pour tester le wifi et que rien ne se passe : pas de panique, il faut juste désactiver l'interface réseau filaire.

ip link set eth0 down
Eduroam

Eduroam est un réseau WiFi protégé par WPA-Entreprise et il se peut que votre école ou université vous ait fourni des identifiants, auquel cas :

/etc/wpa_supplicant.conf
network={
        ssid="eduroam"
        key_mgmt=WPA-EAP
        identity="login@université"
        password="Mot de passe"
        anonymous_identity="anonymous@université"
}
Note: Il apparaît qu'il existe plusieurs configurations possibles dans différentes universités (utilisant auth_alg=OPEN au lieu de phase1 & phase2), mais la configuration proposée est fonctionnelle sur les différents sites de l'université AMU (Aix-Marseille Université).

Configuration logicielle

La configuration est détaillée ici.

Une fois associée, il reste à faire la configuration de l'interface (couche IP, alors que là on s'est interressé à la couche matérielle). Pour les chanceux disposant d'un serveur DHCP (cas de la majorité des box ADSL ou des routeurs), il suffira de faire :

killall dhcpcd
dhcpcd wlan0

Dans le cas contraire, il faudra tout faire à la main, et donc il faudra que vous ayez à disposition les informations suivantes: ip attribuée à l'ordinateur, passerelle, masque réseau et serveurs DNS.

ip addr add 192.168.0.66/24 dev wlan0
ip route add default via 192.168.0.254
echo nameserver 213.169.172.34 >> /etc/resolv.conf
echo nameserver 213.169.172.35 >> /etc/resolv.conf

Un dernier :

ping -c3 archlinux.org

pour vérifier que l'on a bien le réseau.

Figer sa configuration

Pour une connexion automatique au démarrage et la gestion de votre réseau en général (wifi comme filiaire), vous pouvez choisir parmi les outils suivants:

Attention: Pour un bon fonctionnement, veillez bien à désactiver tout autre service réseau (y compris dhcpcd.service si vous voulez aussi gérer le filiaire).

Cas des "Box"

Les fournisseurs d'accès au net (Orange, Bouygues, SFR, Free, etc...) utilisent maintenant des Box, modems comprenant interfaces ethernet et émetteur WiFi. Il peut-être utile de figer l'émission wifi de ces box sur un canal fixe et non variable (automatique) dans l'interface offerte par le fournisseur. Pour choisir le canal le moins encombré (donnant le moins de connexions-déconnexions intempestives), on peut analyser l'environnement avec LinSSID.