Carte wifi aironet et wpa_supplicant qui ne se lance pas

Je viens de faire une installation de debian unstable sur un vieil thinkpad X31 équipé d’une carte wifi aironet :

$ lspci | grep Network 02:02.0 Network controller: Cisco Aironet Wireless Communications Cisco Aironet Wireless 802.11b
Cette carte fonctionne avec le driver airo qui est chargé automatiquement. Après l’installation, network-manager peut se connecter à des réseaux wifi en wep mais pas en wpa. Je ne peux donc pas me connecter à ma freebox v6 dont le réseau est crypté en WPA personnel. Avec wicd, je peux aussi me connecter à des réseau WEP mais pas WPA (erreur bad password alors que ce n’est pas le cas).

Le problème vient donc de wpa_supplicant (le paquet wpasupplicant est bien installé ainsi que wireless-tools). Si je désinstalle nm/wicd et que j’essaie d’établir une connection en configurant le fichier /etc/network/interfaces comme suis, j’obtiens une erreur : “ioctl[SIOCSIWENCODEEXT]: Invalid argument”. Après quelques recherches, il semble que cette erreur soit du au driver par défaut de wpa_supplicant (wext).

Je fais un deuxième essai en changant le driver wext (auparavant non spécifié mais automatiquement lancé) par le driver nl80211 (ajout de “wpa-driver nl80211” dans le fichier interfaces). Cette fois, l’erreur a disparue mais a été remplacée par :

wpa_supplicant: /sbin/wpa_supplicant daemon failed to start run-parts: /etc/network/if-pre-up.d/wpasupplicant exited with return code 1
On y voit plus clair, c’est parce que wpa_supplicant ne se lance pas que nm et wicd ne sont pas arrivés à se connecter à des réseaux WPA.

J’ai essayé de regarder ce qui bloquait wpa_supplicant dans /etc/network/if-pre-up.d/wpasupplicant mais sans plus d’infos, c’est un peu dur.

Des idées ?

Infos :
Le module airo est bien chargé :

# lsmod | grep airo airo 57847 0
Mon interface wifi est en eth0. Étrangement, cette est doublée par une interface virtuelle (wifi0). eth1 designe la connection ethernet :

[code]# iwconfig
wifi0 IEEE 802.11-DS ESSID:"Freebox-xxxxx"
Mode:Managed Frequency:2.412 GHz Access Point: Invalid
Bit Rate:11 Mb/s Tx-Power=17 dBm Sensitivity=0/65535
Retry limit:16 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=100/100 Signal level=-10 dBm Noise level=-100 dBm
Rx invalid nwid:52753 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:2 Invalid misc:250341 Missed beacon:0

lo no wireless extensions.

eth1 no wireless extensions.

irda0 no wireless extensions.

eth0 IEEE 802.11-DS ESSID:"Freebox-XXXXX"
Mode:Managed Frequency:2.412 GHz Access Point: Invalid
Bit Rate:11 Mb/s Tx-Power=17 dBm Sensitivity=0/65535
Retry limit:16 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=100/100 Signal level=-10 dBm Noise level=-100 dBm
Rx invalid nwid:52753 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:2 Invalid misc:250341 Missed beacon:0

[/code]

Ma configuration dans /etc/network/interfaces. À noter que j’ai choisi de tout mettre dans ce fichier et de ne pas utiliser un fichier wpa_supplicant.conf. C’est documenté dans le fichier /usr/share/doc/wpasupplicant/README.modes.gz.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# ethernet
auto eth1
iface eth1 inet dhcp

# wifi
auto eth0
iface eth0 inet dhcp
      wpa-ssid Freebox-XXXXXX
      wpa-proto WPA
      wpa-key_mgmt WPA-PSK
      wpa-pairwise TKIP CCMP
      wpa-group TKIP CCMP
      wpa-psk xxxxxxxxxxxxxxx_ma_clef_encryptée_avec_wpa_passphrase_xxxxxx

Essai 1 : l’ethernet se connecte sans problème (eth1) mais il y a une erreur “ioctl[SIOCSIWENCODEEXT]: Invalid argument” pour le wifi (eth0)[code]# /etc/init.d/networking restart
Running /etc/init.d/networking restart is deprecated because it may not re-enable some interfaces … (warning).
Reconfiguring network interfaces…Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth1/00:0d:60:8f:65:95
Sending on LPF/eth1/00:0d:60:8f:65:95
Sending on Socket/fallback
DHCPREQUEST on eth1 to 255.255.255.255 port 67
DHCPACK from 192.168.1.254
RTNETLINK answers: File exists
bound to 192.168.1.20 – renewal in 17961 seconds.
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:0e:9b:21:93:ef
Sending on LPF/eth0/00:0e:9b:21:93:ef
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 21
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 17
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 2
No DHCPOFFERS received.
Unable to obtain a lease on first try. Exiting.
Failed to bring up eth0.
done.
[/code]

Essai 2 avec “wpa-driver nl80211” dans /etc/network/interfaces : erreur “wpa_supplicant: /sbin/wpa_supplicant daemon failed to start
run-parts: /etc/network/if-pre-up.d/wpasupplicant exited with return code 1”

[code]# /etc/init.d/networking restart
Running /etc/init.d/networking restart is deprecated because it may not re-enable some interfaces … (warning).
Reconfiguring network interfaces…Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth1/00:0d:60:8f:65:95
Sending on LPF/eth1/00:0d:60:8f:65:95
Sending on Socket/fallback
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 8
DHCPREQUEST on eth1 to 255.255.255.255 port 67
DHCPOFFER from 192.168.1.254
DHCPACK from 192.168.1.254
bound to 192.168.1.20 – renewal in 17931 seconds.
wpa_supplicant: /sbin/wpa_supplicant daemon failed to start
run-parts: /etc/network/if-pre-up.d/wpasupplicant exited with return code 1
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:0e:9b:21:93:ef
Sending on LPF/eth0/00:0e:9b:21:93:ef
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 14
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 15
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 14
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5
No DHCPOFFERS received.
Unable to obtain a lease on first try. Exiting.
Failed to bring up eth0.
done.
[/code]

as tu essayé de faire la même chose avec l’interface wifi0 ?

oui. exactement le meme résultat que eth0…

Et est ce qu’un iwlist … scan te trouve bien tout les points wifi aux alentours (pour écarter tout problème hors wpa).
Je suis étonné de voir ton niveau de qualité à 100% (même à coté du routeur, je n’ai jamais eu 100%)

Oui pour l’iwlist scan.

Et pour le niveau de qualité, j’étais aussi surpris mais faut dire que je suis tout à côté de la freebox v6 et que la carte wifi était une haut de gamme (il y a longtemps).

Si c’est une vieille carte, tu as peut étre un problème de version entre le driver et WPA-supplicant.
essais peut être une version plus ancienne.
J’ai du démonter récemment une carte wifi d’un vieux PC car le driver n’était plus compatibles avec les nouveaux kernels.
C’est un des inconvénient du libre, le maintient dans le temps des drivers …

Oui je pense qu’il s’agit d’un problème de driver dû à l’âge de ma carte. Mais si j’installe des drivers de stable (je suis en sid), apt-get m’indique plein de problème de dépendances…

J’ai essayé de me connecter en une ligne pour avoir plus d’infos :

# WPA-PSK/TKIP                                                                  

ctrl_interface=/var/run/wpa_supplicant

network={
        #driver=nl80211                                                         
        ssid="Freebox-xxxxxxxxxx"
        proto=WPA
        key_mgmt=WPA-PSK
        pairwise=CCMP TKIP
        group=CCMP TKIP                         
        psk=afe94ee287b81b9bfe9e87587f2014589a3ffaf7xxxxxxxxxxxxxxxxxx

}

Essai 1 avec le driver wext :

# wpa_supplicant -Dwext -ieth0 -c/etc/wpa_supplicant/wpa_supplicant.conf ioctl[SIOCSIWENCODEEXT]: Invalid argument ioctl[SIOCSIWENCODEEXT]: Invalid argument eth0: Trying to associate with f4:ca:e5:a2:14:ac (SSID='Freebox-xxxx' freq=2412 MHz) ioctl[SIOCSIWGENIE]: Operation not supported eth0: Association request to the driver failed eth0: CTRL-EVENT-DISCONNECTED bssid=f4:ca:e5:a2:14:ac reason=0 ioctl[SIOCSIWENCODEEXT]: Invalid argument ioctl[SIOCSIWENCODEEXT]: Invalid argument

L’erreur ioctl est courante est indique un problème de driver (dans mon cas peut-être à cause de ma carte obsolète), j’essaie avec un autre driver mais il ne semble pas reconnu :

# wpa_supplicant -Dnl80211 -ieth0 -c/etc/wpa_supplicant/wpa_supplicant.conf nl80211: 'nl80211' generic netlink not found Failed to initialize driver 'nl80211' eth0: Unsupported driver 'nl80211'

Ce que je voulais dire: garder ton driver qui fonctionne, mais essayé une version de wpa-supplicant plus ancienne.
qu’est ce que tu as comme dépendances requises par ta version driver pour wpa-supplicant ?

selon le constructeur :

[quote]Q. Does the Linux driver for the Cisco Aironet 350 Series Wireless Card support Wi-Fi Protected Access (WPA) encryption?

A. No, the Linux drivers for the Cisco Aironet 350 Series Wireless Card do not support WPA.

[/quote]

cisco.com/en/US/products/hw/ … shtml#may1

voir ici aussi
wireless.kernel.org/en/users/Drivers/airo

Merci pour l’info.

Ça explique mes efforts infructueux…

Je vais sans doute passer le cryptage de ma clef wifi en WEP depuis l’interface de la freebox. Mais ça m’embête un peu car on m’a dit que WEP n’était plus du tout sécurisé…

Il vaudrait mieux acheter une bonne petite clé wifi usb, ça ne coûte plus grand chose :wink:

(et le WEP se casse en quelques minutes)

c’est vrai que le wep se casse facilement, mais encore faut il tomber sur quelsu’un qui te veut du mal. WEP + filtrage MAC est déja bien suffisant pour une utilisation en milieu pas trop hostile.

ça vaut pas le coup de courir le risque :stuck_out_tongue: