wifi connection drop (b43 eapol timeout)

Bug #1236937 reported by monochromec
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
Medium
Unassigned

Bug Description

Experiencing problems with a BMC4331 wlan chip controlled by the b43 kernel driver with the following environment:

- Stock raring with b43 wifi driver on a 3.0.8-31 generic kernel on a Macbook Pro 8,1 (although this problem has been around since kernel version 3.2),
- Router is a D-Link 625 with Openwrt Attitude Adjustment (12.09, r36008),
- Wireless cell is 2.4 GHz with WPA2 PSK authentication.

The symptoms:

- Openwrt hostapd issues a WPA rekeying request for the group temporal key (GTK),
- B43 / wpa_supplicant times out (the router log showing a "EAPOL-Key timeout" error message),
- Openwrt issues another GTK handshake message,
- The sequence repeats four times after which the router unauthorises the Mac,
- Ubuntu drops the connection and wpa_supplicant initiates a re-authentication sequence after a while.

I have a pretty good idea of what's happening on the router side, but fail to increase the logging level of wpa_supplicant on the Mac. "wpa_cli level" rejects any attempts to increase the level from "msgdump" to "excessive" so I am at a loss why wpa_supplicant / b43 fails to acknowledge the GTK re-keying request (the b43 module debugging is already turned on).

First step would be to convince the running wpa_supplicant instance to generate more debugging information to see why the request is not answered. Happy to provide more information once this is achieved.

ProblemType: Bug
DistroRelease: Ubuntu 13.04
Package: linux-image-3.8.0-31-generic 3.8.0-31.46
ProcVersionSignature: Ubuntu 3.8.0-31.46-generic 3.8.13.8
Uname: Linux 3.8.0-31-generic x86_64
ApportVersion: 2.9.2-0ubuntu8.3
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: root 2314 F.... pommed
                      christoph 3394 F.... enlightenment
                      christoph 3662 F.... pulseaudio
CRDA:
 country DE:
  (2400 - 2483 @ 40), (N/A, 20)
  (5150 - 5250 @ 40), (N/A, 20), NO-OUTDOOR
  (5250 - 5350 @ 40), (N/A, 20), NO-OUTDOOR, DFS
  (5470 - 5725 @ 40), (N/A, 26), DFS
Date: Tue Oct 8 17:43:10 2013
HibernationDevice: RESUME=UUID=b3b2afbf-edea-40c5-9506-44b7f0cbf4d2
InstallationDate: Installed on 2012-05-16 (509 days ago)
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
MachineType: Apple Inc. MacBookPro8,1
MarkForUpload: True
ProcEnviron:
 TERM=xterm
 SHELL=/bin/bash
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 XDG_RUNTIME_DIR=<set>
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.8.0-31-generic root=UUID=8f6ad9f9-1f9b-42b8-8da4-664a38a3422c ro resume=/dev/sda4
PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No PulseAudio daemon running, or not running as session daemon.
RelatedPackageVersions:
 linux-restricted-modules-3.8.0-31-generic N/A
 linux-backports-modules-3.8.0-31-generic N/A
 linux-firmware 1.106
SourcePackage: linux
UpgradeStatus: Upgraded to raring on 2013-04-27 (164 days ago)
dmi.bios.date: 01/24/12
dmi.bios.vendor: Apple Inc.
dmi.bios.version: MBP81.88Z.0047.B27.1201241646
dmi.board.asset.tag: Base Board Asset Tag#
dmi.board.name: Mac-94245B3640C91C81
dmi.board.vendor: Apple Inc.
dmi.board.version: MacBookPro8,1
dmi.chassis.type: 10
dmi.chassis.vendor: Apple Inc.
dmi.chassis.version: Mac-94245B3640C91C81
dmi.modalias: dmi:bvnAppleInc.:bvrMBP81.88Z.0047.B27.1201241646:bd01/24/12:svnAppleInc.:pnMacBookPro8,1:pvr1.0:rvnAppleInc.:rnMac-94245B3640C91C81:rvrMacBookPro8,1:cvnAppleInc.:ct10:cvrMac-94245B3640C91C81:
dmi.product.name: MacBookPro8,1
dmi.product.version: 1.0
dmi.sys.vendor: Apple Inc.

Revision history for this message
monochromec (monochromec) wrote :
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.12 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-rc4-saucy/

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: New → Incomplete
Revision history for this message
monochromec (monochromec) wrote :

Hi Joseph,

Thanks for the quick reply!

Strange error: Just tried to install a nightly DRM build (image + headers) and encountered an odd dependency when I tried to install the header:

dpkg -I linux-headers-3.12.0-994-generic_3.12.0-994.201310080405_amd64.deb

produces the following output:

 new debian package, version 2.0.
 size 1050954 bytes: control archive=37520 bytes.
     617 bytes, 16 lines control
  603391 bytes, 5669 lines md5sums
    3531 bytes, 126 lines * postinst #!/usr/bin/perl
 Package: linux-headers-3.12.0-994-generic
 Source: linux
 Version: 3.12.0-994.201310080405
 Architecture: amd64
 Maintainer: Ubuntu Kernel Team <email address hidden>
 Installed-Size: 12403
 Depends: linux-headers-3.12.0-994, libc6 (>= 2.14)
 Provides: linux-headers, linux-headers-3.0
 Section: devel
 Priority: optional
 Description: Linux kernel headers for version 3.12.0 on 64 bit x86 SMP
  This package provides kernel header files for version 3.12.0 on
  64 bit x86 SMP.
  .
  This is for sites that want the latest kernel headers. Please read
  /usr/share/doc/linux-headers-3.12.0-994/debian.README.gz for details.

The package depends on itself?!?!?

Needless to say, installing this will be tricky... :-)

What's the problem? An issue when packaging the deb? BTW: Can I boot the kernel without the headers installed? I suppose I only need the headers when going to compile modules from source code or is there any other reason to install them?

BTW: I encountered the original wifi problem with kernel version 3.9.-030900 back in April already when I gave the the then current mainline kernel a spin. So not sure if this has been fixed in 3.12...

Revision history for this message
monochromec (monochromec) wrote :

PS: same dependency issue surfaced with the Saucy RC4 kernel you mentioned in your post.

Revision history for this message
monochromec (monochromec) wrote :

Took Saucy 3.12 RC4 for a spin. Unfortunately, the symptoms remain the same. Seems to be a B43 issue as all devices (a few Droids (Gingerbread + ICS), Window machines and even the OSX driver on the same machine) handled a second re-keying request the way it is supposed to be: when getting a second request they simply send the correct answer instead of running into another time-out according to the OpenWRT logs.

Any thoughts? Now if I only could increase the debugging level of wpa_supplicant on the Mac to see if where exactly it's all going south...

tags: added: kernel-bug-exists-upstream
Revision history for this message
monochromec (monochromec) wrote :

PS: Tagging this as requested.

Revision history for this message
monochromec (monochromec) wrote :

Problem is gone after a complete fresh install of Saucy Salamander on the same machine.

I suspect a problem between the b43 kernel driver and the proprietary firmware as I noticed a different URL when running firmware-b43-installer as part of the wireless installation. The previous installation of the machine dates back to Precise so quite a few update cycles were done.

If somebody upstream wants to have more details, please update this bug so that I can get in touch.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.