Configuration du réseau Wi-Fi en ligne de commande

Il existe des outils graphiques qui permettent de se faciliter grandement la tâche pour se connecter à un réseau sans fil. Mais il est tout à fait possible de le configurer à la main, directement dans les fichiers de configuration réseaux, ou avec l'outil wpa-supplicant.

Au sujet de la sécurité des réseaux sachez qu'il existe :

  • Le WEP est un système dépassé en terme de sécurité. Il n'est pas conseillé d'utilisation.
  • Le WPA (Wi-Fi Protected Access) est un mécanisme pour sécuriser les réseaux sans-fil Wi-Fi. Il est utilisé en remplacement de l'ancien système WEP, il existe actuellement le WPA et le WPA2 :
    • Le WPA ne se trouve plus que sur les anciens systèmes et n'est pas considéré comme complètement sécurisé même s'il offre déjà une très bonne protection.
    • Le WPA2 est présent sur tous les nouveaux matériels certifié Wi-Fi. C'est le seul à être considéré comme complètement sécurisé et est donc privilégié d'utilisation.

Il est possible de configurer son réseau Wi-Fi en modifiant directement le fichier interfaces ou en utilisant Par wpa-supplicant.

On peut modifier avec les droits d'administration le fichier /etc/network/interfaces : Exemple du contenu du fichier interfaces :

auto lo
iface lo inet loopback
 
 
iface eth1 inet static
 wireless-keymode open
 wireless-mode managed
 wireless-nick  Laptop
 address 192.168.1.4
 netmask 255.255.255.0
 gateway 192.168.1.1
 
 
wireless-essid 9T_B800A
wireless-key XXXXXXXXXXXXXXXXXXXXXXXXXX
wireless-channel 11
 
auto eth1
wireless-essid 9T_B800A
wireless-key XXXXXXXXXXXXXXXXXXXXXXXXXX
wireless-channel 11
 
auto eth1

ou :

auto wlan0
iface wlan0 inet dhcp
   wpa-ssid nom_de_votre_connexion_wifi
   wpa-psk mot_de_passe_de_votre_connexion

Les paramètres possibles

  • wpa-ssid <nom de votre connexion> : Définit le nom du réseau Wi-Fi auquel se connecter, exemple :
    wpa-ssid Livebox-3818
  • wpa-bssid <adresse MAC de votre point d'accès> : Définit l'adresse Ethernet de votre point d'accès auquel se connecter, exemple :
    wpa-bssid 01:2a:3b:4c:5d:6e
  • wpa-psk <mot de passe de votre connexion> : Votre mot de passe WPA (peut être votre mot de passe directement en ASCII ou en Hexadécimal), exemple 1 :
    wpa-psk totomaison


Exemple 2 :

wpa-psk 2f38e12c698a
  • wpa-key-mgmt <protocole> : Définit les protocoles de connexion autorisés. Les valeurs possibles sont NONE, WPA-PSK, WPA-EAP et IEEE8021X, exemple WPA/WPA2 classique autorisé :
    wpa-key-mgmt WPA-PSK
  • wpa-group <chiffrage> : Définit les modes de chiffrage autorisés. Les valeurs possibles sont CCMP, TKIP, WEP104 et WEP40. CCMP correspond à AES, exemple AES autorisé :
    wpa-group CCMP


Exemple AES et TKIP autorisés :

wpa-group CCMP TKIP
  • wpa-pairwise <chiffrage par paires> : Définit les modes de chiffrage par paires autorisés pour le WPA/WPA2. Les valeurs possibles sont CCMP, TKIP et NONE, exemple AES et TKIP autorisés :
    wpa-pairwise CCMP TKIP
  • wpa-auth-alg <système d'authenfication> : Définit les systèmes d'authentification autorisés. Les valeurs possibles sont OPEN (pour le WPA/WPA2), SHARED (pour le WEP) et LEAP, exemple WPA/WPA2 :
    wpa-auth-alg OPEN
  • wpa-proto <norme WPA autorisée> : Définit les normes WPA autorisées. Les valeurs possibles sont WPA et RSN. RSN correspond à WPA2, exemple WPA2 seulement :
    wpa-proto RSN

    exemple WPA et WPA2 :

    wpa-proto WPA RSN
  • wpa-scan-ssid <0 ou 1> : Autorise ou non le scan des requêtes (normalement autorisé), exemple :
    wpa-scan-ssid 1
  • wpa-ap-scan <0 ou 1 ou 2> : Définit le mode de sélection du point d'accès. 0: IEEE8021X, 1: classique, 2: sécurisé (pour le mode ad-hoc notamment), exemple point d'accès classique :
    wpa-ap-scan 1

    exemple ad-hoc (PC à PC) :

    wpa-ap-scan 2

wpa-identity et wpa-password sont pour les utilisateurs avancés réalisant une connexion d'entreprise EAP :

  • wpa-identity <nom d'utilisateur> : Définit le nom d'utilisateur de la connexion EAP
  • wpa-password <mot de passe> : Définit le mot de passe utilisateur de la connexion EAP

Quelques exemples

  • Connexion à un point d'accès en WPA2 AES :
    auto wlan0
    iface wlan0 inet dhcp
       wpa-ssid Livebox-3818
       wpa-ap-scan 1
       wpa-scan-ssid 1
       wpa-key-mgmt WPA-PSK
       wpa-group CCMP
       wpa-proto RSN
       wpa-psk totomaison
  • Connexion à un point d'accès en WPA/WPA2 TKIP/AES:
    auto wlan0
    iface wlan0 inet dhcp
       wpa-ssid Livebox-3818
       wpa-ap-scan 1
       wpa-scan-ssid 1
       wpa-key-mgmt WPA-PSK
       wpa-group CCMP TKIP
       wpa-proto RSN WPA
       wpa-psk totomaison
  • Connexion Ad-Hoc (PC à PC) WPA TKIP :
    auto wlan0
    iface wlan0 inet static
       address 192.168.0.12
       netmask 255.255.255.0
       gateway 192.168.0.1
    
       wpa-ssid ReseauJP
       wpa-ap-scan 2
       wpa-scan-ssid 1
       wpa-key-mgmt WPA-NONE
       wpa-group TKIP
       wpa-pairwise NONE
       wpa-proto WPA
       wpa-psk totomaison

Pour relancer le réseau sans fil, effectuez la commande suivante :

sudo /etc/init.d/networking restart

Pour la syntaxe du fichier utiliser l'aide disponible

  • dans un terminal man interfaces,
  • dans les configuration des différentes cartes.

Configuration en IP Automatique (DHCP)

  • Pour obtenir une adresse IP, si elle est automatique il suffit d'une commande après s'être connecté au réseau :
    sudo dhclient wlan0
  • S'il y a une ligne comme DHCPOFFER 192.168.1.100 par exemple, cela veut dire que l'adresse IP a bien été donnée et donc la carte Wi-Fi et le routeur peuvent communiquer : vous pouvez ainsi surfer sur internet.
  • Depuis la version feisty du système Ubuntu et l'introduction du démon d'avahi-daemon, la commande dhclient peut marcher mais avec certains ordinateurs il faut exécuter cette commande pour rétablir la connexion au net :
    sudo /etc/init.d/avahi-daemon stop
  • Il faut ensuite refaire la commande dhclient.

Pour vérifier qu'une adresse IP a bien été donnée , taper ip addr show wlan0 et vérifier qu'il y a une adresse IP à côté de l'interface wlan0.

En revanche s'il n'y a que des échecs ( répétition des lignes DHCPDISCOVER on 255.255.255.255 … ), cela est peut être dû à un problème au niveau de la connexion au réseau (première commande) ou alors le routeur n'est pas en IP automatique (DHCP). Dans ce cas il faut configurer le DHCP sur le routeur ou une configuration en IP statique sur le client (ordinateur).

Configuration en IP Statique

En IP static la configuration se fait avec plusieurs commandes. Il est recommandé tout d'abord :

  • De changer de service de gestion réseau en "arrêtant" Network-manager pour ré-activer networking :
    sudo service network-manager stop && sudo service networking start
    sudo update-rc.d network-manager remove
    sudo update-rc.d networking defaults
  • Puis avec une première commande de donner l'adresse IP "IPdeLaCarteWifi" à la carte Wi-Fi et avec une seconde de règler la passerelle par défaut (le routeur) :
    sudo ip a add IPdeLaCarteWifi/24 dev wlan0 (192.168.0.1 par exemple)
    sudo route add default gw IPDuRouteur (192.168.0.254 par exemple)
  • Il faut ensuite rajouter les adresses des serveurs DNS (qui traduisent google.fr par exemple en adresse IP exploitable par l'ordinateur). Pour cela il faut modifier avec les droits d'administration le fichier /etc/resolv.conf et y ajouter la ligne suivante :
nameserver IPduServeurDNS

Un exemple ici pour les personnes ayant pour FAI Orange :

nameserver 80.10.246.2

Se connecter à un réseau en mode console

Voici la commande pour se connecter au réseau en supposant que la carte Wi-Fi est wlan0 :

sudo iwconfig wlan0 essid MonSSID
Faites attention aux majuscules dans le SSID il faut respecter exactement le nom du SSID du routeur. Par exemple si votre SSID est Livebox-56G alors la commande sera sudo iwconfig wlan0 essid Livebox-56G et non … essid livebox-56g
  • Pour vérifier que la carte Wi-Fi s'est connectée au réseau, taper iwconfig et il devrait y avoir marqué dans SSID:"MonSSID", Dans access point il doit y avoir : Access Point : 00:C0:49:53:7C:7C ( l'adresse 00… ici n'est qu'un exemple c'est l'adresse MAC du routeur ).
  • Si vous avez une clé WEP, il faut taper une commande supplémentaire :
    sudo iwconfig wlan0 key LaCLEWEP
  • Si vous avez une sécurité WPA il faut suivre la méthode Par wpa supplicant,
  • Si vous n'avez aucune protection, il n'y a pas besoin de cette ligne il faut passer à l'obtention ou la configuration d'une adresse IP.

WPA Supplicant est un service utilisé pour réaliser votre connexion WPA.

Pré-requis

  • WPA Supplicant gère une majeure partie des systèmes Wi-Fi, néanmoins vous pouvez vérifier si votre carte est compatible sur leur site.
  • WPA Supplicant est normalement installé par défaut sur votre système, si ce n'est pas le cas Installez le paquet wpasupplicant.

La méthode qui suit est d'usage générale pour la configuration d'une ou plusieurs connexions WPA.

Configuration

Modifiez avec les droits d'administration le fichier /etc/network/interfaces. Chacune de vos interfaces réseau et leurs configurations apparaissent dans ce fichier:

  • À la suite de la configuration réseau de votre interface Wi-Fi (en général nommée "wlan0"), indiquer le fichier de configuration de WPA Supplicant comme suit :
    auto wlan0
    iface wlan0 inet dhcp
       wpa-conf /etc/wpa_supplicant.conf
  • Éditez ou créez avec les droits d'administration le fichier /etc/wpa_supplicant.conf pour qu'il ressemble à ceci en pensant à adapter les paramètres utiles, notamment le nom de votre connexion et votre mot de passe:
    ctrl_interface=/var/run/wpa_supplicant
    
    ap_scan=1
    
    network={
        ssid="<nom de votre connexion>"
        scan_ssid=1 # nécessaire quand le ssid n'est pas diffusé
        proto=WPA RSN
        key_mgmt=WPA-PSK
        psk="<mot de passe de votre connexion>"
    }

Vous pouvez ajouter autant de configuration de points d'accès différents en ajoutant des paramètres network={} à votre fichier.
D'autres paramètres plus avancés peuvent être utilisés voir ce qui suit.

Paramètres

Voici comment remplir votre fichier 'wpa_supplicant.conf'.

#On indique tout d'abord où se situe le programme (socket avec wpa_cli...)
ctrl_interface=/var/run/wpa_supplicant

#On protège l'accès à wpa_supplicant en l'attribuant à un groupe
#Le groupe peut être un identifiant (gid) ou un nom de groupe
#Par défaut le gid est à 0 pour signifier que c'est le root qui protège l'accès.
#ctrl_interface_group=wheel  #Un exemple de nom de groupe
ctrl_interface_group=0

#On définit la version d'EAPOL (un moyen de transport de données EAP) >> Version : IEEE 802.1X/EAPOL
#Pour info, wpa_supplicant gère la version 2 (IEEE 802-1X-REV-d8) mais il se peut qu'il y ait des soucis avec certaines cartes.
#On recommande donc l'utilisation de la version 1
eapol_version=1

#On définit le mode de sélection du point d'accès (AP : Access Point)
#1 : Configuration classique
#0 : Utilisé pour le protocole IEEE 802.1X (et les réseaux établis).
#2 : Associe les points d'accès dans un mode sécurisé. !!!Utilisé pour le mode Ad-Hoc!!!
#    Associe le SSID (nom de votre réseau) mais pas le BSSID (n° attribué à votre carte réseau).
#    A utiliser si vous avez une clef installée sous NDIS(WRAPPER) pour utiliser pleinement votre réseau :
#     dans ce cas le block network devra comprendre les informations 'key_mgmt', 'pairwise', 'group' et les variables de protocole.
ap_scan=1

#On configure la ré-authentification rapide pour protocoles EAP
#Par défaut, déjà initialisé puisque sa désactivation n'a pas lieu d'être apparemment.
fast_reauth=1

#On peut configurer un support de moteur OpenSSL
#Non-abordé

#On peut indiquer le pilote utilisé mais ce n'est pas forcément recommandé
#driver_param="nom=valeur"

#On configure son réseau :

#Chaque réseau différent utilise un bloc 'network' propre
#Contenu des blocs :
#
#disabled:
#	=0 : réseau authorisé (par défaut)
#	=1 : réseau interdit
#
#
#ssid:
#       "nom de votre réseau" : entre guillemets si c'est une chaîne de caractères
#       1f25e68 : directement si c'est un nom de réseau en hexadecimal
#
#
#scan_ssid:
#	=0 : ne scanne pas les requêtes des réseaux (par défaut)
#	=1 : scanne les requêtes (nécessaire quand le ssid n'est pas diffusé)
#
#
#bssid: 3f:58:56:fe:c9:68 : N° attribué à votre carte réseau (optionnel et non-recommandé surtout si votre carte change de BSSID)
#
#
#priority: 0 : Indique la priorité du réseau.
#
#
#mode:
#    =0 : Infrastructure ('Managed') (par défaut)
#    =1 : IBSS (ad-hoc, peer-to-peer)
#Le mode ad-hoc est utilisé pour un réseau de dongle :
# -il n'accepte que les modes key_mgmt=NONE (avec possibilité de clef WEP) ou WPA-NONE (avec groupe TKIP/CCMP)
# -plus important, ap_scan=2 obligatoirement.
# -enfin le bloc devra comporter : proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (ou CCMP(AES), mais pas les 2), et la clé psk devra être donnée.
#
#
#proto: protocole
#     =WPA : WPA(1) (WPA/IEEE 802.11i/D3.0)
#     =RSN : WPA2 (IEEE 802.11i) (par défaut)
#
#
#key_mgmt: encryption
#        =WPA-PSK : WPA 'pre-shared key' (requièrt une clef PSK)
#        =WPA-EAP : WPA utilisant une authentification EAP (peut utiliser un programme externe (Xsupplicant)).
#        =IEEE8021X : IEEE 802.1X utulisant une authentification EAP et, optionnellement la génération de clefs WEP dynamiques.
#        =NONE : Pas de WPA : clef WEP ou connexion directe.
#        =WPA-NONE : Pour réseaux Ad-Hoc (possibilité de groupage TKIP ou CCMP(AES))
#Par défaut : WPA-PSK WPA-EAP
#
#
#auth_alg: système d'authentification du réseau
#        =OPEN : pour WPA et WPA2
#        =SHARED : pour WEP
#        =LEAP : pour LEAP sur réseau EAP


#Par défaut : Sélection autmatique
#
#
#pairwise: !A ne pas confondre avec le 'group' qui est plus connu!
#        =CCMP : AES (CBC-MAC : RFC 3610, IEEE 802.11i/D7.0)
#        =TKIP : (IEEE 802.11i/D7.0)
#        =NONE : Utilisé pour le mode ad-hoc principalement
#Par défaut : CCMP TKIP
#
#
#group: Chiffrage (courant)
#     =CCMP : AES (RFC 3610, IEEE 802.11i/D7.0)
#     =TKIP : (IEEE 802.11i/D7.0)
#     =WEP104 : WEP avec clef 104bits
#     =WEP40 : WEP avec clef 40bits (IEEE 802.11)
#Par défaut : CCMP TKIP WEP104 WEP40
#
#
#psk: clef WPA (256bits)
#   ="mon mot de passe" : entre guillemets pour un mot de passe 'texte' (entre 8 et 63caractères compris)
#   =2effca35695fe31c3b : pour une clef hexadecimale (peut être générée avec  la commande 'wpa_passphrase "ssid" "mot de passe"')
#Non-utilisé en mode EAP.
# This field is not needed, if WPA-EAP is used.
#
#
#Paramètrage EAP
#Non-Rédigé
#

#Exemple de blocs:

#WPA-PSK simple
network={
	ssid="simple"
	psk="very secret passphrase"
	priority=5
}

#EAP simple :
network={
	ssid="example"
	proto=RSN
	key_mgmt=WPA-EAP
	pairwise=CCMP TKIP
	group=CCMP TKIP
	eap=TLS
	identity="user@example.com"
	ca_cert="/etc/cert/ca.pem"
	client_cert="/etc/cert/user.pem"
	private_key="/etc/cert/user.prv"
	private_key_passwd="password"
	priority=1
}

#WPA-PSK et -EAP simple :
network={
	ssid="example"
	bssid=00:11:22:33:44:55
	proto=WPA RSN
	key_mgmt=WPA-PSK WPA-EAP
	pairwise=CCMP
	group=CCMP
	psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
}


#EAP-PSK simple :
network={
	ssid="eap-psk-test"
	key_mgmt=WPA-EAP
	eap=PSK
	identity="eap_psk_user"
	eappsk=06b4be19da289f475aa46a33cb793029
	nai="eap_psk_user@example.com"
}


#IEEE 802.1X avec clefs WEP dynamiques
network={
	ssid="1x-test"
	key_mgmt=IEEE8021X
	eap=TLS
	identity="user@example.com"
	ca_cert="/etc/cert/ca.pem"
	client_cert="/etc/cert/user.pem"
	private_key="/etc/cert/user.prv"
	private_key_passwd="password"
	eapol_flags=3
}


#LEAP avec clefs WEP dynamiques
network={
	ssid="leap-example"
	key_mgmt=IEEE8021X
	eap=LEAP
	identity="user"
	password="foobar"
}


#Connexion directe (sans chiffrage)
network={
	ssid="plaintext-test"
	key_mgmt=NONE
}


#Clef WEP partagée :
network={
	ssid="static-wep-test2"
	key_mgmt=NONE
	wep_key0="abcde"
	wep_key1=0102030405
	wep_key2="1234567890123"
	wep_tx_keyidx=0
	priority=5
	auth_alg=SHARED
}


#Ad-Hoc (IBSS) avec chiffrage TKIP
network={
	ssid="test adhoc"
	mode=1
	proto=WPA
	key_mgmt=WPA-NONE
	pairwise=NONE
	group=TKIP
	psk="secret passphrase"
}

Quelques exemples

Dans tous les cas votre fichier /etc/network/interfaces ressemblera à ça :

auto wlan0
iface wlan0 inet dhcp
   wpa-conf /etc/wpa_supplicant.conf

ou

auto wlan0
iface wlan0 inet static
   address 192.168.0.12
   netmask 255.255.255.0
   gateway 192.168.0.1

   wpa-conf /etc/wpa_supplicant.conf

et seul votre fichier de configuration /etc/wpa_supplicant.conf change :

  • Connexion à un point d'accès en WPA2 AES:
    ctrl_interface=/var/run/wpa_supplicant
    
    ap_scan=1
    
    network={
        ssid="Livebox-3818"
        proto=RSN
        key_mgmt=WPA-PSK
        group=CCMP
        psk="totomaison"
    }
  • Connexion à un point d'accès en WPA/WPA2 TKIP/AES:
    ctrl_interface=/var/run/wpa_supplicant
    
    ap_scan=1
    
    network={
        ssid="Livebox-3818"
        proto=WPA RSN
        key_mgmt=WPA-PSK
        group=CCMP TKIP
        psk="totomaison"
    }
  • Connexion Ad-Hoc (PC à PC) WPA TKIP:
    ctrl_interface=/var/run/wpa_supplicant
    
    ap_scan=2
    
    network={
        ssid="Livebox-3818"
        mode=1
        proto=WPA
        key_mgmt=WPA-NONE
        pairwise=NONE
        group=TKIP
        psk="totomaison"
    }

Plusieurs cartes à configurer en WPA

Si vous configurez plusieurs connexions en WPA il est recommandé d'indiquer à chaque connexion le driver à WPA Supplicant.

Utilisation de Bridges/Ponts

Si vous utilisez un pont pour votre connexion WPA, il faut appliquer le fichier de configuration WPA Supplicant aussi bien à l'interface de connexion qu'au pont.

Conflits avec logiciels de connexion Wi-Fi

Il se peut que WPA Supplicant entre en conflit avec vos logiciels de configuration réseau, dans ce cas désactiver les applications concernées comme indiqué plus haut.

Configuration propre à certains chipsets

WPA avec une carte rt2x00

Vous avez essayé les méthodes ci-dessus avec votre carte rt2x00 sans succès, voici une autre solution. En effet, les modules rt2x00 gèrent eux mêmes la cryptographie WPA, ce n'est donc pas possible d'utiliser les utilitaires ci-dessus. Ce qu'il faut savoir avant de s'y lancer :

- Tout se passe avec les commandes iwpriv et iwconfig, il faut donc que la configuration Wi-Fi soit complète. - Ce module a un défaut, il a besoin d'un certain temps pour se synchroniser avant de fonctionner, donc ne pas s'étonner des "sleep 3" dans le script ci-dessous.

Voici donc les commandes à enchainer pour se connecter à un réseau WPA :

ifconfig $IFACE down
ifconfig $IFACE up
ifconfig $IFACE down
ifconfig $IFACE up
sleep 3
iwconfig $IFACE mode Managed
iwpriv $IFACE enc 3
iwpriv $IFACE auth 3
iwconfig $IFACE essid "$ESSID"
sleep 3
iwpriv $IFACE wpapsk "$WPAPSK"
sleep 3
iwconfig $IFACE essid "$ESSID"
sleep 3

avec bien entendu $IFACE le nom de votre interface réseau, $ESSID le nom du réseau wifi et $WPAPSK la clé wpa en clair.. (il y a un moyen de la chiffrer mais celui-ci ne sera pas détaillé. Les commandes importantes sont donc : "iwpriv $IFACE enc 3" qui active la cryptographie, et "iwpriv $IFACE auth 3" qui dit que ce sera du WPA-PSK

L'intérêt est d'en faire un petit script qui se lancera en pre-up de la configuration de la carte Wi-Fi Voici un exemple de script :

IFACE="rausb0"   # a changer en fonction de l'interface
ESSID="*********"
WPAPSK="*********"  # en clair

ifconfig $IFACE down
ifconfig $IFACE up
ifconfig $IFACE down
ifconfig $IFACE up
sleep 3
iwconfig $IFACE mode Managed
iwpriv $IFACE enc 3
iwpriv $IFACE auth 3
iwconfig $IFACE essid "$ESSID"
sleep 3
iwpriv $IFACE wpapsk "$WPAPSK"
sleep 3
iwconfig $IFACE essid "$ESSID"
sleep 3

et ensuite, dans le fichier /etc/network/interfaces, vérifier que l'on a les notes suivantes :

auto rausb0 # à adapter
iface rausb0 inet dhcp # à adapter si on est en static
  pre-up /usr/local/bin/wpa-config.sh  # emplacement du script ci-dessus

Et voilà, votre carte Wi-Fi ira se connecter automatiquement au démarrage de la machine sur votre réseau Wi-Fi en WPA !

Attention: le script ci-dessus dépend fortement de votre version d'iwpriv. Ainsi les commandes auth et enc peuvent être refusées. Les trois lignes concernant iwpriv devront être remplacées par :

iwpriv $IFACE set EncrypType=TKIP
iwpriv $IFACE set AuthMode=WPAPSK
iwpriv $IFACE set WPAPSK="$WPAPSK"

Une variante peut être de ne pas se connecter automatiquement au boot et d'ajouter la commande "dhclient $IFACE" à la fin du script et de lancer le script à la main dès que l'on veut se connecter, utile pour un portable qui voyage beaucoup.

Méthode alternative pour les cartes RT

Après plusieurs recherches sur le net, j'ai trouvé une méthode qui fonctionne chez moi (sous Edgy).

Tout d'abord, je me suis assuré que ma carte fonctionne sans chiffrement. Comme je pouvais aller sur Internet sans problème, la carte est bien configurée.

Ensuite, après avoir configurer mon routeur pour l'encryption WPA (Pre-Shared Key) avec chiffrement TKIP, j'ai modifié mon fichier /etc/network/interfaces en y ajoutant ces lignes :

auto ra0
iface ra0 inet dhcp
   pre-up iwconfig ra0 essid votre-ssid
   pre-up iwconfig ra0 mode managed
   pre-up iwpriv ra0 set Channel=votre-channel
   pre-up iwpriv ra0 set AuthMode=WPAPSK
   pre-up iwpriv ra0 set EncrypType=TKIP
   pre-up iwpriv ra0 set WPAPSK="votre_mot_de_passe"
   pre-up iwpriv ra0 set TxRate=0

Mais ce n'est pas tout ! J'ai trouvé dans le dossier /etc/Wireless un dossier portant le nom de ma carte RT2500 et à l'intérieur de ce dossier, un fichier .dat que j'ai modifié un peu comme ci-dessus.

WPA-PSK avec ESSID masqué avec une carte Broadcom 4311 ou netgear wpn111

Vous avez essayé les méthodes ci-dessus avec votre carte Broadcom 4311 sans succès pour le wpa voici une solution (testé sur dv6022ea).

Voici donc le fichier de configuration pour se connecter à un réseau WPA-PSK avec ESSID masqué :

ctrl_interface=/var/run/wpa_supplicant
#fast_reauth=1
ap_scan=2
eapol_version=2

network={
    ssid="VOTRE_ESSID"
    pairwise=TKIP
    group=TKIP
    scan_ssid=0
    proto=RSN
    key_mgmt=WPA-PSK
    psk=VOTRE_CLEF_HEXA # attention ne pas utiliser d'accent dans la clef
    priority=0
    auth_alg=OPEN 
}

Dans le fichier /etc/network/interfaces vous devez rajouter :

auto <votre_interface>
iface <votre_interface> inet dhcp
     wpa-conf /etc/wpa_supplicant.conf

Utilisation

Tester le service wpa-supplicant

sudo wpa_supplicant -c/etc/wpa_supplicant.conf -w -D<pilote> -i<interface>
  • Le « pilote » générique est wext. Si vous utilisez un pilote Wi-Fi Windows via Ndiswrapper, remplacez <pilote> par Ndiswrapper.
    Vous pouvez exécuter wpa_supplicant pour avoir la liste de tous les types d'interface du pilote supportés.
  • L'interface la plus courante est wlan0.
    Vous pouvez vérifier quelle est votre carte avec la commande iwconfig pour peu que le module correspondant soit inséré dans le noyau.
  • Vous pouvez utiliser l'option -d pour avoir plus d'informations.
    L'option -B n'a pas été mise pour ne pas lancer le processus en service pour ce premier test.

Si les informations à l'écran vous permettent de conclure que l'interface est connectée au point d'accès, vous pouvez passer à la suite. (Arrêtez le processus wpa_supplicant avec les touches <CTRL> + C).

Lancer le service //wpa_supplicant// au démarrage

Éditez le fichier /etc/default/wpa_supplicant avec les droits d'administration pour y mettre ce qui suit :

ENABLED=1
OPTIONS="-w -D <pilote> -i <interface> -c /etc/wpa_supplicant.conf"

Pour restaurer le réseau apres hibernation

Pour restaurer le réseau apres hibernation enregistrez le script networking qui suit dans /etc/pm/sleep.d/ :

/etc/pm/sleep.d/networking
#!/bin/sh
# /etc/pm/sleep.d/networking
 
case "$1" in
	hibernate|suspend)
		 # /etc/init.d/networking stop
		;;
	thaw|resume)
		 (sleep 10 ; /etc/init.d/networking restart )&
		 (sleep 20 ; /etc/init.d/networking restart )&
		;;
	*)
		;;
esac

Rendez-le exécutable;

Source pour wpa supplicant: documentation (anglaise) de wpa_supplicant.


Contributeurs : Ju, Id2ndR livier

  • wifi_ligne_de_commande.txt
  • Dernière modification: Le 12/11/2023, 15:34
  • par Amiralgaby