I've noticed for a while that wireless is broken in linux-next, on both
the machines I use it on (a Fujitsu Siemens laptop using iwl3945 and an
Acer Aspire One using ath5k: both running openSUSE 11.1, with WPA):
I hoped to find it fixed later, but no, Linus's git is broken now.
Only found time to bisect it a couple of days ago (on the Aspire One:
guess the other would show the same, but that's no more than a guess).
It arrived at the commit below as the culprit, which from your own
words doesn't seem like a very hopeful place to land :-(
That commit does give me a "WARNING: at net/mac80211/mlme.c:1904",
followed by "WARNING: at net/mac80211/mlme.c:2308" every few seconds;
and those do get fixed later on (don't appear with latest git).
But I think there's another problem that comes in later, because
at this commit iwconfig does show my ESSID, whereas with later
git it just says "ESSID:off/any" (I have not bisected when that
change comes in).
I expect you'll need a lot more info from me: please do ask
(but bear in mind that I'm wireless and network ignorant).
Thanks,
Hugh
77fdaa12cea26c204cc12c312fe40bc0f3dcdfd8 is first bad commit
commit 77fdaa12cea26c204cc12c312fe40bc0f3dcdfd8
Author: Johannes Berg <[email protected]>
Date: Tue Jul 7 03:45:17 2009 +0200
mac80211: rework MLME for multiple authentications
Sit tight. This shakes up the world as you know
it. Let go of your spaghetti tongs, they will no
longer be required, the horrible statemachine in
net/mac80211/mlme.c is no more...
With the cfg80211 SME mac80211 now has much less
to keep track of, but, on the other hand, for FT
it needs to be able to keep track of at least one
authentication being in progress while associated.
So convert from a single state machine to having
small ones for all the different things we need to
do. For real FT it will still need work wrt. PS,
but this should be a good step.
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
:040000 040000 437301807c7c27495cee7692f293dac1ca56ed78 02520ec555c0873050318af669dade9e066f479d M net
On Thu, 2009-09-24 at 18:18 +0100, Hugh Dickins wrote:
> I've noticed for a while that wireless is broken in linux-next, on both
> the machines I use it on (a Fujitsu Siemens laptop using iwl3945 and an
> Acer Aspire One using ath5k: both running openSUSE 11.1, with WPA):
> I hoped to find it fixed later, but no, Linus's git is broken now.
>
> Only found time to bisect it a couple of days ago (on the Aspire One:
> guess the other would show the same, but that's no more than a guess).
> It arrived at the commit below as the culprit, which from your own
> words doesn't seem like a very hopeful place to land :-(
>
> That commit does give me a "WARNING: at net/mac80211/mlme.c:1904",
> followed by "WARNING: at net/mac80211/mlme.c:2308" every few seconds;
> and those do get fixed later on (don't appear with latest git).
> But I think there's another problem that comes in later, because
> at this commit iwconfig does show my ESSID, whereas with later
> git it just says "ESSID:off/any" (I have not bisected when that
> change comes in).
>
> I expect you'll need a lot more info from me: please do ask
> (but bear in mind that I'm wireless and network ignorant).
Thanks. I'm not sure why you'd get the warning there every few seconds,
but I suppose we don't really care all that much.
I think you're probably running afoul of a bugfix that I did while at
the wireless summit, and then the fix to it made it in, but not yet the
fix to the fix :(
Are you using an encrypted network, or an open one? If it's open, can
you try this patch?
http://johannes.sipsolutions.net/patches/kernel/all/2009-09-24-17%3a32/010-cfg80211-fix-wpas-open.patch
johannes
Many thanks for your rapid response.
On Thu, 24 Sep 2009, Johannes Berg wrote:
> On Thu, 2009-09-24 at 18:18 +0100, Hugh Dickins wrote:
> >
> > I expect you'll need a lot more info from me: please do ask
> > (but bear in mind that I'm wireless and network ignorant).
>
> Thanks. I'm not sure why you'd get the warning there every few seconds,
> but I suppose we don't really care all that much.
>
> I think you're probably running afoul of a bugfix that I did while at
> the wireless summit, and then the fix to it made it in, but not yet the
> fix to the fix :(
>
> Are you using an encrypted network, or an open one?
I've been working under the belief that it's WPA encrypted.
> If it's open, can you try this patch?
But I could try the patch, in case I've been fooled.
> http://johannes.sipsolutions.net/patches/kernel/all/2009-09-24-17%3a32/010-cfg80211-fix-wpas-open.patch
However, all the trees I'm working with (Linus latest, or the bisect
result, or a week old mmotm) have cfg80211_mgd_wext_connect saying:
if (!netif_running(wdev->netdev))
return 0;
wdev->wext.connect.ie = wdev->wext.ie;
wdev->wext.connect.ie_len = wdev->wext.ie_len;
wdev->wext.connect.privacy = wdev->wext.default_key != -1;
if (wdev->wext.keys) {
wdev->wext.keys->def = wdev->wext.default_key;
wdev->wext.keys->defmgmt = wdev->wext.default_mgmt_key;
}
if (!wdev->wext.connect.ssid_len)
return 0;
which is not consistent with the fix your patch is making.
But I do believe I'm encrypted anyway.
Hugh
On Fri, 2009-09-25 at 15:15 +0100, Hugh Dickins wrote:
> That bisection, focussing on wpa_supplicant running versus ESSID:off/any
> (indeed they match up), now completed on the Aspire One (I'll assume for
> the moment that the laptop would show the same).
>
> Yes, it does appear that the patch I originally pointed to introduced a
> problem which later got fixed, but was enough to throw the bisection off
> when I just looked for "wireless not working".
>
> But you can't escape, you've been too busy, the guilty patch is...
>
> a9a11622c5c742c115fad371c0397ae86dd3bb67 is first bad commit
> commit a9a11622c5c742c115fad371c0397ae86dd3bb67
> Author: Johannes Berg <[email protected]>
> Date: Mon Jul 27 12:01:53 2009 +0200
>
> cfg80211: self-contained wext handling where possible
Heh, fun.
Well the problem appears to be that wpa_supplicant isn't getting started
by your distro any more. Unfortunately I'm not familiar with opensuse.
It seems it thinks the device isn't wireless but wired, since it starts
ifplugd. OTOH maybe it wants ifplugd for wireless too? It's possible in
theory.
I'm downloading a livecd to figure out what might be going wrong.
Can you try running wpa_supplicant manually to make sure it's a problem
in the distro/kernel interaction and not in wpa_supplicant/kernel?
johannes
On Sat, 2009-09-26 at 15:00 +0200, Johannes Berg wrote:
> Well the problem appears to be that wpa_supplicant isn't getting started
> by your distro any more. Unfortunately I'm not familiar with opensuse.
> It seems it thinks the device isn't wireless but wired, since it starts
> ifplugd. OTOH maybe it wants ifplugd for wireless too? It's possible in
> theory.
>
> I'm downloading a livecd to figure out what might be going wrong.
It appears that just uses
test -d /sys/class/net/wlan0/wireless
but that should be ok, unless that's actually a link now for some reason
-- can you verify what happens there? And double-check you have
CONFIG_WIRELESS_EXT_SYSFS please, the config you sent me did have it
tho.
johannes
On Sat, 2009-09-26 at 16:33 +0100, Hugh Dickins wrote:
> I do have CONFIG_WIRELESS_EXT_SYSFS=y,
> and I do have /sys/class/net/wlan0/ containing various things,
> but I don't have any /sys/class/net/wlan0/wireless with recent kernels.
Curious. I found the problem, but maybe nobody else complaining before
you means we can get rid of CONFIG_WIRELESS_EXT_SYSFS quicker than I
thought ;)
Will post a fix later today.
johannes
On Friday 25 September 2009 10:45:38 Holger Schurig wrote:
> > I wonder, have there been more yet more regdom reworks since 2.6.31?
> > Would this be the stage at which regdom problems manifest? I'm not
> > running whatever-it-is daemon for setting regdom, usually just patch
> > static char *ieee80211_regdom = "EU";
> > into my kernels; but in the past have only needed that when the router
> > decides to use channel 13 or something - currently it's on channel 1.
>
> I've install crda and it works great with 2.6.31, althought I had
> to override the EEPROM, which reports bugus data:
>
> - ath_regd_sanitize(reg);
> -
> - printk(KERN_DEBUG "ath: EEPROM regdomain: 0x%0x\n", reg->current_rd);
> + reg->current_rd = CTRY_GERMANY | COUNTRY_ERD_FLAG;
>
FYI: the athinfo (from the madwifi-project) utility can be used to write a
a sane regdomain code into the EEPROM chip on most ath5k cards.
On Thu, 2009-09-24 at 19:14 +0100, Hugh Dickins wrote:
> I've been working under the belief that it's WPA encrypted.
>
> > If it's open, can you try this patch?
>
> But I could try the patch, in case I've been fooled.
>
> > http://johannes.sipsolutions.net/patches/kernel/all/2009-09-24-17%3a32/010-cfg80211-fix-wpas-open.patch
>
> However, all the trees I'm working with (Linus latest, or the bisect
> result, or a week old mmotm) have cfg80211_mgd_wext_connect saying:
>
> if (!netif_running(wdev->netdev))
> return 0;
>
> wdev->wext.connect.ie = wdev->wext.ie;
> wdev->wext.connect.ie_len = wdev->wext.ie_len;
> wdev->wext.connect.privacy = wdev->wext.default_key != -1;
>
> if (wdev->wext.keys) {
> wdev->wext.keys->def = wdev->wext.default_key;
> wdev->wext.keys->defmgmt = wdev->wext.default_mgmt_key;
> }
>
> if (!wdev->wext.connect.ssid_len)
> return 0;
>
> which is not consistent with the fix your patch is making.
Ah. That patch isn't in yet I guess. I wonder if that could still be an
issue though. Maybe you can try that patch along with this one:
http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=commitdiff_plain;h=55a00b83339f25d2979b85ab6e2151390327db80;hp=cfa53f1e753ed709f0a483fa8bd16bc7d08d402d
Anyhow, I'm grasping at straws -- can you tell me more about the failure
mode, and possibly enable CONFIG_MAC80211_DEBUG_MENU and
CONFIG_MAC80211_VERBOSE_DEBUG?
johannes
> I wonder, have there been more yet more regdom reworks since 2.6.31?
> Would this be the stage at which regdom problems manifest? I'm not
> running whatever-it-is daemon for setting regdom, usually just patch
> static char *ieee80211_regdom = "EU";
> into my kernels; but in the past have only needed that when the router
> decides to use channel 13 or something - currently it's on channel 1.
I've install crada and it works great with 2.6.31, althought I had
to override the EEPROM, which reports bugus data:
- ath_regd_sanitize(reg);
-
- printk(KERN_DEBUG "ath: EEPROM regdomain: 0x%0x\n", reg->current_rd);
+ reg->current_rd = CTRY_GERMANY | COUNTRY_ERD_FLAG;
--
http://www.holgerschurig.de
On Sat, 26 Sep 2009, Johannes Berg wrote:
> On Fri, 2009-09-25 at 15:15 +0100, Hugh Dickins wrote:
> >
> > a9a11622c5c742c115fad371c0397ae86dd3bb67 is first bad commit
> > commit a9a11622c5c742c115fad371c0397ae86dd3bb67
> > Author: Johannes Berg <[email protected]>
> > Date: Mon Jul 27 12:01:53 2009 +0200
> >
> > cfg80211: self-contained wext handling where possible
>
> Heh, fun.
>
> Well the problem appears to be that wpa_supplicant isn't getting started
> by your distro any more. Unfortunately I'm not familiar with opensuse.
> It seems it thinks the device isn't wireless but wired, since it starts
> ifplugd. OTOH maybe it wants ifplugd for wireless too? It's possible in
> theory.
No, ifplugd was my choice: IIRC, at some stage of installation you're
given a choice between traditional ifplugd and super new NetworkManager:
my choice has been ifplugd (after being somehow burnt by NetworkManager
once in the past).
>
> I'm downloading a livecd to figure out what might be going wrong.
Thanks a lot for going to this trouble - though I do realize it's not
all just for me! My guess is the LiveCD will favour NetworkManager
(if that turns out to make any difference).
>
> Can you try running wpa_supplicant manually to make sure it's a problem
> in the distro/kernel interaction and not in wpa_supplicant/kernel?
Good idea: I just tried that, and things indeed then work fine.
Hugh
Hugh Dickins wrote:
> On Sat, 26 Sep 2009, Johannes Berg wrote:
>> On Fri, 2009-09-25 at 15:15 +0100, Hugh Dickins wrote:
>>> a9a11622c5c742c115fad371c0397ae86dd3bb67 is first bad commit
>>> commit a9a11622c5c742c115fad371c0397ae86dd3bb67
>>> Author: Johannes Berg <[email protected]>
>>> Date: Mon Jul 27 12:01:53 2009 +0200
>>>
>>> cfg80211: self-contained wext handling where possible
>> Heh, fun.
>>
>> Well the problem appears to be that wpa_supplicant isn't getting started
>> by your distro any more. Unfortunately I'm not familiar with opensuse.
>> It seems it thinks the device isn't wireless but wired, since it starts
>> ifplugd. OTOH maybe it wants ifplugd for wireless too? It's possible in
>> theory.
>
> No, ifplugd was my choice: IIRC, at some stage of installation you're
> given a choice between traditional ifplugd and super new NetworkManager:
> my choice has been ifplugd (after being somehow burnt by NetworkManager
> once in the past).
FWIW, the current version of NetworkManager used by the KDE 3.5
desktop in openSUSE 11.1 works, as does the Gnome version. There have
been problems with KDE4.2 and earlier, but 4.3 works.
I have been testing openSUSE 11.2. As of Milestone 7, wireless
networking works with KDE and Gnome in both i386 and x86_64
architectures. I have also tested networks with no encryption, WEP,
WPA TKIP, and WPA2 TKIP.
My inclination is to set wired connections with ifplugd, but wireless
to "on boot".
Larry
On Fri, 25 Sep 2009, Johannes Berg wrote:
>
> Very odd. Haven't really looked at the config, but I see the phy0: idle
> message that indicates you have debug on. However, it's like nothing
> ever tells the kernel to connect to a network.
>
> Are you running wpa_supplicant?
Should be, but you're right, for whatever reason it is not running
with these recent kernels.
I expect that correlates with iwconfig showing me ESSID:off/any.
I'm thinking that (unless you've a better idea) I should do another
bisect for when that behaviour starts - hoping that whatever problem
led me to your patch, got fixed up later on, but superseded by this
different problem.
The bootup messages on the Aspire One tell me:
wlan0 device: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
wlan0 is controlled by ifplugd
wlan0
waiting
wlan0 device: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
wlan0 ifplugd is running
wlan0 no cable connected
wlan0 DHCP4 client NOT running
wlan0
And the bootup messages on the Fujitsu Siemens say:
wlan0 device: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
wlan0 is controlled by ifplugd
wlan0
wlan0 device: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
wlan0 ifplugd is running
wlan0 no cable connected
wlan0 . . . is just beeing set up
wlan0
In each case, "no cable connected".
I wonder, have there been more yet more regdom reworks since 2.6.31?
Would this be the stage at which regdom problems manifest? I'm not
running whatever-it-is daemon for setting regdom, usually just patch
static char *ieee80211_regdom = "EU";
into my kernels; but in the past have only needed that when the router
decides to use channel 13 or something - currently it's on channel 1.
Hugh
On Fri, 2009-09-25 at 09:06 +0100, Hugh Dickins wrote:
> Should be, but you're right, for whatever reason it is not running
> with these recent kernels.
>
> I expect that correlates with iwconfig showing me ESSID:off/any.
Well it showing you that means that nothing is even trying to connect :)
> I'm thinking that (unless you've a better idea) I should do another
> bisect for when that behaviour starts - hoping that whatever problem
> led me to your patch, got fixed up later on, but superseded by this
> different problem.
Not sure, might be very time consuming.
> The bootup messages on the Aspire One tell me:
> wlan0 device: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
> wlan0 is controlled by ifplugd
> wlan0
> waiting
> wlan0 device: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
> wlan0 ifplugd is running
> wlan0 no cable connected
> wlan0 DHCP4 client NOT running
> wlan0
>
> And the bootup messages on the Fujitsu Siemens say:
> wlan0 device: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
> wlan0 is controlled by ifplugd
> wlan0
> wlan0 device: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
> wlan0 ifplugd is running
> wlan0 no cable connected
> wlan0 . . . is just beeing set up
> wlan0
>
> In each case, "no cable connected".
Oi. This looks like it doesn't know that it's a wireless device I guess?
johannes
On Sat, 2009-09-26 at 16:33 +0100, Hugh Dickins wrote:
> I do have CONFIG_WIRELESS_EXT_SYSFS=y,
> and I do have /sys/class/net/wlan0/ containing various things,
> but I don't have any /sys/class/net/wlan0/wireless with recent kernels.
That appears to be the problem, though I wonder why that is. I'll look
into it.
johannes
On Thu, 2009-09-24 at 20:45 +0100, Hugh Dickins wrote:
> I've now tried recent Linus -git plus both those patches on both machines,
> but no joy on either.
Thanks.
> >
> > Anyhow, I'm grasping at straws -- can you tell me more about the failure
> > mode, and possibly enable CONFIG_MAC80211_DEBUG_MENU and
> > CONFIG_MAC80211_VERBOSE_DEBUG?
>
> I enabled those on both machines for that trial, will keep them on for now.
>
> The failure mode is that iwconfig says ESSID:off/any instead of showing
> my essid, and I've no connectivity; but you probably need something more
> specific than that.
>
> I'll send you privately the .config of each machine, and the dmesg of
> each machine, from that trial. I've just compared the .configs against
> what works for 2.6.31, and everything relevant still seems to be there.
Very odd. Haven't really looked at the config, but I see the phy0: idle
message that indicates you have debug on. However, it's like nothing
ever tells the kernel to connect to a network.
Are you running wpa_supplicant?
> I do wonder if this is an openSUSE interaction, whether another distro
> with the same kernel would be fine.
I'm not sure why that would be? But then again this is the first I've
heard of such a problem.
johannes
On Sat, 26 Sep 2009, Johannes Berg wrote:
> On Sat, 2009-09-26 at 15:00 +0200, Johannes Berg wrote:
>
> > Well the problem appears to be that wpa_supplicant isn't getting started
> > by your distro any more. Unfortunately I'm not familiar with opensuse.
> > It seems it thinks the device isn't wireless but wired, since it starts
> > ifplugd. OTOH maybe it wants ifplugd for wireless too? It's possible in
> > theory.
> >
> > I'm downloading a livecd to figure out what might be going wrong.
>
> It appears that just uses
> test -d /sys/class/net/wlan0/wireless
>
> but that should be ok, unless that's actually a link now for some reason
> -- can you verify what happens there? And double-check you have
> CONFIG_WIRELESS_EXT_SYSFS please, the config you sent me did have it
> tho.
just as a differnt datapoint:
My current 2.6.27 based on the ubuntu kernel with a compat-wireless-2.6
from yesterday (which works without problems for me with intel 3945)
does not have this subdir either, it just does not exist at all.
(there is a phy80211 symlink, but no "wireless")
c'ya
sven
--
The lights are fading out, once more...
On Thu, 24 Sep 2009, Johannes Berg wrote:
>
> Ah. That patch isn't in yet I guess. I wonder if that could still be an
> issue though. Maybe you can try that patch along with this one:
>
> http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=commitdiff_plain;h=55a00b83339f25d2979b85ab6e2151390327db80;hp=cfa53f1e753ed709f0a483fa8bd16bc7d08d402d
I've now tried recent Linus -git plus both those patches on both machines,
but no joy on either.
>
> Anyhow, I'm grasping at straws -- can you tell me more about the failure
> mode, and possibly enable CONFIG_MAC80211_DEBUG_MENU and
> CONFIG_MAC80211_VERBOSE_DEBUG?
I enabled those on both machines for that trial, will keep them on for now.
The failure mode is that iwconfig says ESSID:off/any instead of showing
my essid, and I've no connectivity; but you probably need something more
specific than that.
I'll send you privately the .config of each machine, and the dmesg of
each machine, from that trial. I've just compared the .configs against
what works for 2.6.31, and everything relevant still seems to be there.
I do wonder if this is an openSUSE interaction, whether another distro
with the same kernel would be fine.
Hugh
On Fri, 25 Sep 2009, Johannes Berg wrote:
> On Fri, 2009-09-25 at 09:06 +0100, Hugh Dickins wrote:
>
> > Should be, but you're right, for whatever reason it is not running
> > with these recent kernels.
> >
> > I expect that correlates with iwconfig showing me ESSID:off/any.
>
> Well it showing you that means that nothing is even trying to connect :)
>
> > I'm thinking that (unless you've a better idea) I should do another
> > bisect for when that behaviour starts - hoping that whatever problem
> > led me to your patch, got fixed up later on, but superseded by this
> > different problem.
>
> Not sure, might be very time consuming.
That bisection, focussing on wpa_supplicant running versus ESSID:off/any
(indeed they match up), now completed on the Aspire One (I'll assume for
the moment that the laptop would show the same).
Yes, it does appear that the patch I originally pointed to introduced a
problem which later got fixed, but was enough to throw the bisection off
when I just looked for "wireless not working".
But you can't escape, you've been too busy, the guilty patch is...
a9a11622c5c742c115fad371c0397ae86dd3bb67 is first bad commit
commit a9a11622c5c742c115fad371c0397ae86dd3bb67
Author: Johannes Berg <[email protected]>
Date: Mon Jul 27 12:01:53 2009 +0200
cfg80211: self-contained wext handling where possible
Finally! This is what you've all been waiting for!
This patch makes cfg80211 take care of wext emulation
_completely_ by itself, drivers that don't need things
cfg80211 doesn't do yet don't even need to be aware of
wireless extensions.
This means we can also clean up mac80211's and iwm's
Kconfig and make it possible to build them w/o wext
now!
RIP wext.
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
:040000 040000 ce98d49476cd6547eabab0db90bdff31cc40104e 8ea4d1374da1fb39e1ea431cd07da96ecdccd565 M drivers
:040000 040000 23a9348f55a10a0c8278049f71be02728514fc61 de6267de96e307e41bb5aded9666c5bc1e4fe938 M net
RIP wireless - not quite what I'd been waiting for ;)
Hugh
On Sat, 26 Sep 2009, Johannes Berg wrote:
> On Sat, 2009-09-26 at 15:00 +0200, Johannes Berg wrote:
> >
> > I'm downloading a livecd to figure out what might be going wrong.
>
> It appears that just uses
> test -d /sys/class/net/wlan0/wireless
>
> but that should be ok, unless that's actually a link now for some reason
> -- can you verify what happens there? And double-check you have
> CONFIG_WIRELESS_EXT_SYSFS please, the config you sent me did have it
> tho.
I do have CONFIG_WIRELESS_EXT_SYSFS=y,
and I do have /sys/class/net/wlan0/ containing various things,
but I don't have any /sys/class/net/wlan0/wireless with recent kernels.
Hugh