Configurer manuellement un interface réseau wifi

Bonjour,

Je m’escrime sur ma Debian Jessie depuis plusieurs jours. Je souhaite gérer mes interfaces réseaux en manuel sans network-manager ou autre wicd. J’ai réussi à trouver la solution pour mes interfaces filaires mais je suis coincé avec mon interface wifi. J’ai fait tellement de choses différentes que je m’en remets à vous pour répondre à vos questions et à votre cheminement logique. En parcourant les forums je me suis rendu compte notamment que mon ‘wpa_supplicant.conf’ est un fichier XML. Inhabituel pour un fichier de conf et impossible à modifier. Quoi que je fasse mon interface wifi reste silencieuse sans recevoir aucune adresse IP du DHCP de mon routeur FREE malgré la conf suivante dans /etc/network/interfaces :

[code]# This file describes the network interfaces available on your system

and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

The loopback network interface

auto lo
iface lo inet loopback

Modifications PI 30/04/17

auto eth0
iface eth0 inet static
address 192.168.0.51
netmask 255.255.255.0
gateway 192.168.0.254
dns-nameservers 212.27.40.240 212.27.40.241 # DNS Free

auto wlan0
iface wlan0 inet dhcp
wpa-ssid "freebox_idlas"
wpa-psk “ce5e31a930c814da382a989fb12150429fcf52b54687e5f9e518d385f7e9f4e5”[/code]

Pas très sûr de la syntaxe des commandes wpa-. J’ai vu qu’il existait d’autre format avec wireless-.

Je ne pense pas qu’il s’agisse d’un problème matériel car la commande iw wlan0 scan donne le résultat suivant :

BSS a6:56:0b:36:99:6c(on wlan0) TSF: 31815671307 usec (0d, 08:50:15) freq: 2462 beacon interval: 100 TUs capability: ESS Privacy ShortSlotTime (0x0411) signal: 80/100 last seen: 440 ms ago Information elements from Probe Response frame: SSID: freebox_idlas Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 DS Parameter set: channel 11 ERP: Barker_Preamble_Mode Extended supported rates: 6.0 12.0 24.0 48.0 HT capabilities: Capabilities: 0x106e HT20/HT40 SM Power Save disabled RX HT20 SGI RX HT40 SGI No RX STBC Max AMSDU length: 3839 bytes DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 4 usec (0x05) HT RX MCS rate indexes supported: 0-15, 32 HT TX MCS rate indexes are undefined HT operation: * primary channel: 11 * secondary channel offset: below * STA channel width: any * RIFS: 0 * HT protection: no * non-GF present: 1 * OBSS non-GF present: 0 * dual beacon: 0 * dual CTS protection: 0 * STBC beacon: 0 * L-SIG TXOP Prot: 0 * PCO active: 0 * PCO phase: 0 Secondary Channel Offset: no secondary (0) WPA: * Version: 1 * Group cipher: TKIP * Pairwise ciphers: TKIP CCMP * Authentication suites: PSK WMM: * Parameter version 1 * BE: CW 15-1023, AIFSN 3 * BK: CW 15-1023, AIFSN 7 * VI: CW 7-15, AIFSN 2, TXOP 3008 usec * VO: CW 3-7, AIFSN 2, TXOP 1504 usec Extended capabilities: HT Information Exchange Supported

De même je viens de découvrir que la commande iwconfig n’existe pas sur ma Debian Jessie. J’utilise donc iw à la place. Mais est-ce bien la même chose ?

Merci pour votre assistance.

Cordialement.

Bonjour pidlas,

ton fichier /etc/network/interfaces semble correct, à l’exception des guillemets à la suite des commandes wpa-ssid et wpa-psk .

J’ai le même script (sans les guillemets) pour accéder au wifi de ma Freebox et ça marche très bien.

Pour la commande iwconfig, il faut installer le paquet wireless-tools, en tant que super-utilisateur root :
# aptitude install wireless-tools

Bonsoir libresurf,

Merci pour ta réponse. Cela ne change rien ! J’ai supprimé les doubles-quotes. J’ai redemarré le réseau et je n’ai toujours pas d’adresse IP pour ma carte wifi. Merci pour le tuyau concernant iwconfig. D’autres idées ?

Bonsoir libresurf,

La commande sudo ip addr show donne :

6: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 00:13:46:29:9f:d4 brd ff:ff:ff:ff:ff:ff

As-tu essayé de faire un ifup wlan0 ?

Tu auras peut-être plus d’informations (ou en regardant dans /var/log/syslog)…

sudo ifup wlan0 donne ceci :

wpa_supplicant: /sbin/wpa_supplicant daemon failed to start
run-parts: /etc/network/if-pre-up.d/wpasupplicant exited with return code 1
Failed to bring up wlan0.

Voilà ce que cela donne un tail sur syslog :

May 1 20:08:09 srv-web-idlas networking[4430]: Configuring interface wlan0=wlan0 (inet)
May 1 20:08:09 srv-web-idlas networking[4430]: run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
May 1 20:08:09 srv-web-idlas networking[4430]: run-parts: executing /etc/network/if-pre-up.d/ethtool
May 1 20:08:09 srv-web-idlas networking[4430]: run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
May 1 20:08:09 srv-web-idlas networking[4430]: /etc/network/if-pre-up.d/wpasupplicant: 112: /etc/network/if-pre-up.d/wpasupplicant: cannot create /dev/stdout: No such device or address
May 1 20:08:09 srv-web-idlas networking[4430]: /etc/network/if-pre-up.d/wpasupplicant: 112: /etc/network/if-pre-up.d/wpasupplicant: cannot create /dev/stdout: No such device or address
May 1 20:08:09 srv-web-idlas wpa_supplicant[4515]: Successfully initialized wpa_supplicant
May 1 20:08:10 srv-web-idlas wpa_supplicant[4515]: ctrl_iface exists and seems to be in use - cannot override it
May 1 20:08:10 srv-web-idlas wpa_supplicant[4515]: Delete ‘/run/wpa_supplicant/wlan0’ manually if it is not used anymore
May 1 20:08:10 srv-web-idlas wpa_supplicant[4515]: Failed to initialize control interface ‘/run/wpa_supplicant’.#012You may have another wpa_supplicant process already running or the file was#012left by an unclean termination of wpa_supplicant in which case you will need#012to manually remove this file before starting wpa_supplicant again.
May 1 20:08:10 srv-web-idlas networking[4430]: /etc/network/if-pre-up.d/wpasupplicant: 120: /etc/network/if-pre-up.d/wpasupplicant: cannot create /dev/stderr: No such device or address
May 1 20:08:10 srv-web-idlas networking[4430]: run-parts: /etc/network/if-pre-up.d/wpasupplicant exited with return code 1
May 1 20:08:10 srv-web-idlas networking[4430]: run-parts --exit-on-error --verbose /etc/network/if-up.d
May 1 20:08:10 srv-web-idlas networking[4430]: Failed to bring up wlan0.
May 1 20:08:10 srv-web-idlas networking[4430]: run-parts: executing /etc/network/if-up.d/avahi-daemon
May 1 20:08:10 srv-web-idlas networking[4430]: run-parts: executing /etc/network/if-up.d/ethtool
May 1 20:08:10 srv-web-idlas networking[4430]: run-parts: executing /etc/network/if-up.d/mountnfs
May 1 20:08:10 srv-web-idlas networking[4430]: run-parts: executing /etc/network/if-up.d/openvpn
May 1 20:08:10 srv-web-idlas networking[4430]: run-parts: executing /etc/network/if-up.d/upstart
May 1 20:08:10 srv-web-idlas networking[4430]: run-parts: executing /etc/network/if-up.d/wpasupplicant
May 1 20:08:10 srv-web-idlas networking[4430]: done.
May 1 20:08:10 srv-web-idlas systemd[1]: Started LSB: Raise network interfaces…
May 1 20:08:11 srv-web-idlas avahi-daemon[734]: Joining mDNS multicast group on interface eth0.IPv6 with address fe80::20d:88ff:fecd:4100.
May 1 20:08:11 srv-web-idlas avahi-daemon[734]: New relevant interface eth0.IPv6 for mDNS.
May 1 20:08:11 srv-web-idlas avahi-daemon[734]: Registering new address record for fe80::20d:88ff:fecd:4100 on eth0.*.
May 1 20:08:41 srv-web-idlas dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
May 1 20:08:49 srv-web-idlas dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
May 1 20:08:57 srv-web-idlas dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 12
May 1 20:09:09 srv-web-idlas dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 11
May 1 20:09:20 srv-web-idlas dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 13
May 1 20:09:33 srv-web-idlas dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 9
May 1 20:09:42 srv-web-idlas dhclient: No DHCPOFFERS received.
May 1 20:09:42 srv-web-idlas dhclient: No working leases in persistent database - sleeping.

Le problème vient de wpasupplicant et d’un fichier d’état qui n’a pas été correctement détruit lors d’une précédente utilisation.

Il faut détruire le fichier /run/wpa_supplicant/wlan0.

C’est cela. Je complète ta réponse avec le fait que pour supprimer ce fichier spéciale de type s, il faut d’abord supprimer un autre fichier qui lui donne son .pid dans /run/wpa_supplicant. Maintenant la commande > ifup wlan0
donne :

Internet Systems Consortium DHCP Client 4.3.1
Copyright 2004-2014 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/00:13:46:29:9f:d4
Sending on LPF/wlan0/00:13:46:29:9f:d4
Sending on Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 14
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 11
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 11
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 12
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
No DHCPOFFERS received.
No working leases in persistent database - sleeping.

Bonjour,

iwconfig est effectivement quelque-peu obsolète. Disons que c’est une commande qui fait partie des wireless extensions et qui n’est plus maintenue.

Quand j’ai besoin de me connecter à un réseau WiFi WPA en ligne de commande, j’ai tendance à utiliser wpa_cli , comme dans cette documentation pour Arch Linux : Connecting with wpa_cli .

Il y a un pli à prendre, avec wpa_cli . Mais après l’avoir fait quelques fois, c’est bon.


AnonymousCoward

Bonjour,

Personnellement j’utilise la config suivante dans /etc/network/interfaces

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

puis dans le wpa_supplicant.conf (le creer peut-être si inexistant) voici ce que j’ai :

country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid=“ton ssid” #(les guillemets sont importants)
psk="ta clé"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
auth_alg=OPEN
}

pour moi cela fonctionne au poil

Bonsoir Anonymous Coward et fbix,

Oui j’ai eu l’info par ailleurs. Je vais donc créer ce fichier wpa_supplicant.conf. Merci pour le conseil concernant wpa_cli. Je vais m’y mettre. J’ai également une autre carte plus récente 802.11g car il se peut aussi que ma carte actuelle (802.11b) ne soit pas aussi ‘puissante’ compte tenu de mon environnement. Je poste mes réponses après mes essais. Aurais-tu un peu d’explication de texte pour le . conf, fbix ? Merci libresurf pour ton assistance.

Bonsoir fbix,

J’ai modifié /etc/network/interfaces comme indiqué. J’ai créé un wpa_supplicant.conf comme indiqué également. Le résultat est une erreur au moment du lancement avec /etc/init.d/networking restart. Voici le contenu de /var/log/syslog :

May 2 20:29:08 srv-web-idlas networking[2501]: Configuring interface wlan0=wlan0 (inet)
May 2 20:29:08 srv-web-idlas networking[2501]: run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
May 2 20:29:08 srv-web-idlas networking[2501]: run-parts: executing /etc/network/if-pre-up.d/ethtool
May 2 20:29:08 srv-web-idlas networking[2501]: run-parts: executing /etc/network/if-pre-up.d/wireless-tools
May 2 20:29:08 srv-web-idlas networking[2501]: run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
May 2 20:29:08 srv-web-idlas networking[2501]: /etc/network/if-pre-up.d/wpasupplicant: 120: /etc/network/if-pre-up.d/wpasupplicant: cannot create /dev/stderr: No such device or address
May 2 20:29:08 srv-web-idlas networking[2501]: run-parts: /etc/network/if-pre-up.d/wpasupplicant exited with return code 1
May 2 20:29:08 srv-web-idlas networking[2501]: run-parts --exit-on-error --verbose /etc/network/if-up.d
May 2 20:29:08 srv-web-idlas networking[2501]: Failed to bring up wlan0.
May 2 20:29:08 srv-web-idlas networking[2501]: run-parts: executing /etc/network/if-up.d/avahi-daemon
May 2 20:29:08 srv-web-idlas networking[2501]: run-parts: executing /etc/network/if-up.d/ethtool
May 2 20:29:08 srv-web-idlas networking[2501]: run-parts: executing /etc/network/if-up.d/mountnfs
May 2 20:29:08 srv-web-idlas networking[2501]: run-parts: executing /etc/network/if-up.d/openvpn
May 2 20:29:08 srv-web-idlas networking[2501]: run-parts: executing /etc/network/if-up.d/upstart
May 2 20:29:08 srv-web-idlas networking[2501]: run-parts: executing /etc/network/if-up.d/wpasupplicant
May 2 20:29:08 srv-web-idlas networking[2501]: done.
May 2 20:29:08 srv-web-idlas systemd[1]: Started LSB: Raise network interfaces…

Le script s’arrête ligne 120 avec une erreur.

Je continue mes recherches…

Hello
Honnêtement je n’ai pas trop de connaissance la dedans. Pour moi ces choses là ont fonctionnées sans c’est tout ce que je sais.
Néanmoins peut être des explications ici pour comprendre…? : http://www.fr.linuxfromscratch.org/view/blfs-systemd-svn/basicnet/wpa_supplicant.html

Desolé de pas pouvoir aider plus…

Merci pour vos réponses qui m’ont permis d’approfondir mes connaissances sur la gestion d’une carte wifi et de son interface réseau. Je vais clôturer ce ticket et en ouvrir un autre avec l’entièreté de ce que j’ai fait.
Cordialement.

Je ne réponds pas précisément à la question, mais si ça peut aider : avec quelques changement de configuration et le réseau géré par systemd-networkd, je suis totalement satisfait du passage vers systemd et l’abandon de network-manager, wicd, etc; j’ai gardé wpa_supplicant pour le wifi. Je me suis aidé parmi d’autres tutos de celui-ci en particulier pour le wifi : https://sunweavers.net/blog/node/34.

Merci maufab. Cela a l’air prometteur. Je suis passé à autre chose : je prépare un concours de gesionnaire d’infrastructure et j’ai dû mettre mes projets persos de côté. D’où le délai très long sans réponse à ton message. Merci encore. Je reviens vers toi et le forum dès qu’une éclaircie se pointe…