FS#30583 - [wpa_supplicant] upgrade to 1.0-1 breaks WPA2 authentication

Attached to Project: Arch Linux
Opened by Stefan Förster (HotblackDesiato) - Saturday, 07 July 2012, 10:01 GMT
Last edited by Gerardo Exequiel Pozzi (djgera) - Wednesday, 12 February 2014, 01:55 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Thomas Bächler (brain0)
Architecture i686
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

A few days ago I updated two of my notebooks running Arch Linux. One of the updates was wpa_supplicant, from version 0.7.3-5 to 1.0-1.

The result was that I could no longer connect to my access point, even in the near vicinity with about 85% signal strength. I could single out a router problem or other external causes, since my son was still able to connect to this access point with his Nintendo DS and his Huawei MediaPad.

I donwgraded wpa_supplicant back to version 0.7.3-5 and both notebooks connected immediately to the router. Thus wpa_supplicant 1.0-1 is buggy.

On both notebooks I use wicd to connect to the internet. With version 1.0-1 of wpa_supplicant installed, wicd tries to connect to the access point several times for several minutes and finally displays "BAD PASSWORD", which is wrong, since there has been no change to settings (notebooks & router) and I checked that the password is correct.

notebook #1: IBM ThinkPad X41 with an Intel wifi interface (driver: ipw2200). KDE & wicd

notebook #2: IBM ThinkPad T23, SMC PCMCIA wifi card, prism chipset (driver: p54pci). fluxbox & wicd

Steps to reproduce:
1. install wpa_supplicant 1.0-1 and wicd
2. try to associate to an access point with WPA2 encryption
This task depends upon

Closed by  Gerardo Exequiel Pozzi (djgera)
Wednesday, 12 February 2014, 01:55 GMT
Reason for closing:  Works for me
Additional comments about closing:  Bug can not be replicated to test.
Comment by Tom Gundersen (tomegun) - Thursday, 12 July 2012, 15:07 GMT
Could you verify if this is wicd specific? I.e., can you connect if you use networkmanager instead, or perhaps netcfg? It would be useful to know if the bug is in the interface with wicd or inside wpa_supplicant itself.

Could this be related: http://ubuntuforums.org/showthread.php?t=1675398 ? I realise they talk about much older versions, but it seems the problem is the same.
Comment by Stefan Förster (HotblackDesiato) - Friday, 13 July 2012, 18:58 GMT
I don't think that it is wicd specific. On my wife's notebook (KDE), I tried networkmanager (and the KDE networkmanager plasmoid) instead of wicd. networkmanager does not work with the current wpa_supplicant version 1.0-1. It works like a charm with the old wpa_supplicant.

I don't know whether this is related to last year's discussion in the ubuntu forums. Last year, wicd (and also networkmanager, which I had also tried) had always worked for me under Arch Linux.
Comment by Thomas Bächler (brain0) - Monday, 27 August 2012, 12:20 GMT
Cannot reproduce this and need more info. I have been using this version for 2 months on many WPA2 networks, always working perfectly.

The "BAD PASSWORD" message by wicd is definitely a lie, in fact, there is no way to know why a connection failed (I have other devices that always say "out of range" whenever connection fails).

A logfile from wpa_supplicant with -d or -dd option may help determine what's wrong here. Details on your network might also be useful, as displayed by 'wpa_cli scan_results' or the more detailed output of 'iw dev wlan0 scan dump'.
Comment by Stefan Förster (HotblackDesiato) - Monday, 27 August 2012, 16:03 GMT
Thomas, thanks for your reply. I will not be at home for the next two weeks and thus not be able to provide further info now. I'll provide you with the additional information as soon as I am back.
Comment by Stefan Förster (HotblackDesiato) - Monday, 10 September 2012, 19:28 GMT
Thomas, I have the problem that I can't find a proper wpa_supplicant.conf to get a connection with my AP, regardless of the wpa_supplicant version. Normally I always use network-manager or wicd to connect, so I don't have to fiddle with the conf file.

On my notebook when using network-manager, I get a connection with wpa_supplicant 0.7.3-5, but not with 1.0-1. Thus I can confirm that this behaviour is not wicd specific also for my notebook, not only for my wife's notebook.

I also tried wpa_gui, which doesn't work (shows now device at all !?), but ifconfig clearly shows wlan0.

Can you give me a hint how to manually start wpa_supplicant?

I did the following:

1) I killed the nm-applet task
2) /etc/rc.d/network-manager stop
3) wpa_supplicant -dd -Dwext -iwlan0 -c/etc/wpa_supplicant.conf

I know that "wext" is correct, since wicd uses this setting. My wpa_supplicant.conf is just simple:

------------------
ctrl_interface=/var/run/wpa_supplicant
update_config=1

network={
ssid="Linux"
proto=WPA
key_mgmt=WPA-PSK
psk="?????????????????"
group=TKIP
}
-----------------
Comment by Thomas Bächler (brain0) - Monday, 10 September 2012, 19:47 GMT
-Dwext is incorrect, only -Dnl80211 should be used (-Dwext still works through a compatibility layer). The default -Dnl80211,wext should work fine.

The network block should be minimal, you provide too many options:

network={
ssid="..."
proto=RSN WPA
psk="..."
}

The proto=RSN WPA prefers WPA2 over WPA, but it isn't very important. proto=WPA limits to WPA only.
Comment by Stefan Förster (HotblackDesiato) - Tuesday, 11 September 2012, 18:01 GMT
Thomas, unfortunately wpa_supplicant (0.7.3-5) does not work with this minimal config file, see attached file. It spits out these messages in an endless loop. I'm so sorry, many thanks for your patience.
Comment by Patrick Melo (patrickmelo) - Tuesday, 26 March 2013, 14:50 GMT
Hi there, I'm having a similar problem after updating wpa_supplicant, libnl and networkmanager (this last one I gues does not make any difference).
Anyway, after the upgrade to libnl 0.21, wpa_supplicant needed to be updated because the name of the libnl shared library changed.

I downgraded both libnl and wpa_supplicant and they worked again, then I reinstalled the new versions and checked if they were working, but they were not.
After some testing I've decided to recompile the packages (don't ask me why, I had no ideia what else to do), and to my surprise they worked again!

I've noticed the connection was losing a lot of packets, but it was working so I didn't care about that.

But, yesterday, after an upgrade, it stoped working again. I checked the packages that were upgraded and to my surprise nor libnl nor wpa_supplicant were updated, but I've noticed the kernel was, so I started to wonder... maybe it's a driver issue? Any clues?
Comment by Patrick Melo (patrickmelo) - Tuesday, 26 March 2013, 14:52 GMT
I forgot to mention that I have the same arch setup on a desktop and on a laptop, the one not working is the desktop and the laptop still works after the upgrades, that's why I started to wonder about the drivers.
Comment by Doug Newgard (Scimmia) - Monday, 30 September 2013, 19:56 GMT
Status? Does this still happen with wpa_supplicatn 2.0?
Comment by Stefan Förster (HotblackDesiato) - Friday, 18 October 2013, 14:11 GMT
I don't know, or to be precise, I can't check it, since my old access point is meanwhile 10,000km away from my notebook (and not longer active)... My notebook works with the current wpa_supplicant version and my new router provided by my ISP. Thus I _believe_ that the problem's gone.

Loading...