[pkg-wpa-devel] Bug#790326: Bug#790326: [wpasupplicant] Driver Wext works but not nl80211

Stefan Lippers-Hollmann s.l-h at gmx.de
Thu Jul 2 04:38:33 UTC 2015


Hi

[ Just some brief responses, I hope to provide some more detailed
answers
  later today. Yes, I've seen/ read your follow-ups and might answer to 
  some aspects in this mail. Please don't hesitate to ask for
specifics, 
  if I miss anything here or leave anything unclear, it's not unlikely
  that I overlook an aspect in this response.. ]

On 2015-06-27, Samuel Smith wrote:
> Package: wpasupplicant
> Version: 2.3-1+deb8u1
> Severity: important
> 
> --- Please enter the report below this line. ---
> 
> Upon upgrading from Wheezy to Jessie today, my wireless no longer
> works on my thinkpad t61:
> 
> 03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG 
> [Golan] Network Connection (rev 02)
>          Subsystem: Intel Corporation Device 1010
>          Flags: bus master, fast devsel, latency 0, IRQ 49
>          Memory at df3ff000 (32-bit, non-prefetchable) [size=4K]
>          Capabilities: <access denied>
>          Kernel driver in use: iwl3945

While I have plenty of diverse wlan cards available, IPW3945ABG is
unfortunately not among them (or rather none more recent than the
legacy/
venerable ipw2200), so I can't really do any specific tests for these.

> I have used network-manager in KDE for years and have never had a 
> problem. After lots of investigation, I found that if I started 

I'm not really using network-manager myself, but rather tend to use
ifupdown (in the past) and nowadays systemd-networkd, but this shouldn't
make a difference for this bug.

> wpasupplicant up by itself with a config file, I could get it to 
> properly connect to my wireless if I ran it as:
> 
> wpa_supplicant -i wlan0 -ddd -Dwext -c wpa-psk-tkip.conf
> This does not work:
> wpa_supplicant -i wlan0 -ddd  -c wpa-psk-tkip.conf
> 
> The only difference is the driver in use. I have attached the log
> files from the two command runs above.
> 
> This is not a good bug as network-manager forces you to use nl80211.

ipw3945 is a mac80211 based driver, so you really want to use nl80211
for this anyways. The wext compatibility layer is only a small,
incomplete
(this is debatable, as wext doesn't really have a concise API to begin 
with) compatibility layer to support ancient frontends, which doesn't
get much debugging nor is likely to see non-trivial bugfixes anymore.
It 
really shouldn't be used for any mac80211 driver.

nl80211 is the default API for most modern(ish) wlan cards (basically
anything except vendor drivers or their descendants in staging), 
accordingly it used and tested very commonly; in other words it does
work in the general case (at least for other wlan hardware). ipw3945
itself has been dropped from Intel's support matrix, so there isn't
much continued development for this driver anymore, but it's still
rather common and should work - including its nl80211 driver interface.

Given that I've tested more than a dozen (non-intel) nl80211 based
drivers, in nl80211-mode, with the wpasupplicant versions in both jessie
and unstable/ testing, I'd tend to blame hardware specific kernel (or 
udev/ kmod) issues for your problems first, but let's take a closer look
at this. nl80211 is a hardware agnostic API between kernel an userspace
(wpasupplicant, hostapd, iw, network-manager, etc.), so once it works
with (more than-) one nl80211 based wlan card, it ought to work with all
of them, failure to do so is basically always a bug in the failing 
kernel module (driver).

In the particular case of ipw3945, I'm reminded two previous bugreports 
regarding this kernel module.

- #749201, http://bugs.debian.org/749201
  the kernel, or udev/ kmod not autoloading the ccm/ ctr kernel modules
  needed (under some circumstances) to decrypt wpa cyphers in the
kernel.
  This wouldn't be wpa_supplicant's job to do, but should be handled 
  transparently on demand. Please check if ccm/ ctr are loaded (lsmod)
  and load them manually (modprobe) if they aren't. Please confirm that
  nothing blacklists them (/etc/modprobe.d/* et al).

- #768130, http://bugs.debian.org/768130
  apparently a problem specific to kernel 3.16 in jessie, fixed (well, 
  circumvented) by upgrading to kernel >=3.19, to the best of my
knowledge
  this has never been debugged to fix jessie; might be the same reason
as 
  the bug above.
  If you can, please also try upgrading to a newer (>= 3.19) kernel, 
  unfortunately the kernel team doesn't appear to provide any for
  jessie-backports yet, but the current unstable 4.0.x based kernel
  should still install and work on jessie.

On 2015-06-29, Samuel Smith wrote:
[...]
> At work I tested on my other laptop ( a newer T520) that is still
> Wheezy. Running: wpa_supplicant -iwlan0 -dd -c wpa.conf seems to show
> that at least on the version in Wheezy, the default is to use the
> wext driver. I forced it to use nl80211 with: wpa_supplicant -iwlan0
> -dd -Dnl80211 -c wpa.conf Using nl80211 worked fine on this laptop
> with the following card:
> 
> 03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205
> [Taylor Peak] (rev 34)
>         Subsystem: Intel Corporation Centrino Advanced-N 6205 AGN

This card uses iwlwifi (for more recent Intel wlan cards), rather than
iwlegacy needed by iwl3945/ iwl4965, this module is still actively 
maintained by Intel and may not expose this problem. Yes, wheezy still
defaulted to using wext in many cases, however even there nl80211 should
have been preferred for drivers based on mac80211.

On 2015-07-01, Samuel Smith wrote:
> Just some more info.
> I took the t61 laptop to work, and using wpa_supplicant I was able to 
> connect to the wirless here using either wext or nl80211. This points
> to an issue with my home router which is a netgear WG102 with an
> atheros chip: http://support.netgear.com/product/WG102

While it's not impossible to be an issue between different Access
Points,
respectively their configuration and chosen cyphers (additionally 
interoperability issues aren't unheard of), I'd tend to blame the
iwl3945
driver instead.

> I have a newer minipci wifi card coming the mail for the t61, I am
> going to try that and see if it can connect to the WG102 router with
> nl80211 next.

I'd expect it to just work.

On 2015-07-02, Samuel Smith wrote:
> I booted a Wheezy 7.8 live CD and everything is working fine on my t61
> laptop connecting to my home router. Attached logs of:
> wpa_supplicant -i wlan0 -ddd -Dnl80211  -c wpa.conf  &> nl80211aa.log
> wpa_supplicant -i wlan0 -ddd -Dwext  -c wpa.conf &> wextaa.log

As mentioned before, I'd suspect kernel 3.16 in jessie to interfere
here,
if that's the case, it would need closer debugging with the kernel team
to get it fixed in jessie as well. Unfortunately I can't reproduces the
problem with the wlan hardware I have available and none of the previous
reporters appear to have taken it up.

Regards
	Stefan Lippers-Hollmann
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: Digitale Signatur von OpenPGP
URL: <http://lists.alioth.debian.org/pipermail/pkg-wpa-devel/attachments/20150702/d9b5ad49/attachment.sig>


More information about the Pkg-wpa-devel mailing list