rfkill key on eeepc 701 breaks ath5k driver

Bug #358820 reported by Cesar Eduardo Barros
6
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Triaged
Medium
Unassigned
Jaunty
Triaged
Medium
Unassigned

Bug Description

Binary package hint: linux-image-2.6.28-11-generic

As I mentioned on bug #354878, using the rfkill key (Fn+F2) after modprobing rfkill-input kills the wireless, which then becomes unable to recover until the next full reboot (a suspend/resume cycle is not enough).

The kernel log shows the driver becomes confused by the sudden removal of the hardware:

Apr 9 20:09:19 cesarb-eeepc kernel: [ 312.653867] ath5k phy0: failed to wakeup the MAC Chip
Apr 9 20:09:19 cesarb-eeepc kernel: [ 312.653881] ath5k phy0: can't reset hardware (-5)
Apr 9 20:09:19 cesarb-eeepc kernel: [ 312.653887] wlan0: Failed to config new SSID to the low-level driver
Apr 9 20:09:19 cesarb-eeepc kernel: [ 312.655171] wlan0: disassociating by local choice (reason=3)
Apr 9 20:09:19 cesarb-eeepc kernel: [ 312.722370] ath5k phy0: failed to wakeup the MAC Chip
Apr 9 20:09:19 cesarb-eeepc kernel: [ 312.722384] ath5k phy0: can't reset hardware (-5)
Apr 9 20:09:19 cesarb-eeepc kernel: [ 312.722391] wlan0: Failed to config new BSSID to the low-level driver
Apr 9 20:09:32 cesarb-eeepc kernel: [ 325.453079] ath5k phy0: failed to wakeup the MAC Chip
Apr 9 20:09:32 cesarb-eeepc kernel: [ 325.453095] ath5k phy0: can't reset hardware (-5)

(For completeness, this log fragment shows network-manager does notice the rfkill switch:

Apr 9 20:09:19 cesarb-eeepc NetworkManager: <info> Wireless now disabled by radio killswitch
Apr 9 20:09:19 cesarb-eeepc NetworkManager: <info> (wlan0): device state change: 8 -> 2
Apr 9 20:09:19 cesarb-eeepc NetworkManager: <info> (wlan0): deactivating device (reason: 0).
[...]
Apr 9 20:09:32 cesarb-eeepc NetworkManager: <info> Wireless now enabled by radio killswitch
Apr 9 20:09:32 cesarb-eeepc NetworkManager: <info> (wlan0): bringing up device.
)

I suspect this bug has been fixed upstream by commit 5740294ca3a9b113fe146f2826effb69ca50008d (eeepc-laptop: Implement rfkill hotplugging in eeepc-laptop); see http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5740294ca3a9b113fe146f2826effb69ca50008d;hp=c9ddf8fede1271bde0a512fa94f77c4cb1ef4040 for the patch.

ProblemType: Bug
Architecture: i386
DistroRelease: Ubuntu 9.04
MachineType: ASUSTeK Computer INC. 701
Package: linux-image-2.6.28-11-generic 2.6.28-11.40
ProcCmdLine: root=UUID=ea75bb1b-2a44-4ac4-8dae-42f8930f1087 ro locale=pt_BR quiet splash
ProcEnviron:
 LANG=pt_BR.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.28-11.40-generic
SourcePackage: linux

Revision history for this message
Cesar Eduardo Barros (cesarb) wrote :
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Cesar,

Thanks for the upstream reference. Unfortunately the kernel is currently frozen for the upcoming Jaunty release. I'll leave it to the discrection of the kernel team if this will qualify for a Stable Release Update for jaunty. In the mean time, I would point you to the upstream kernel builds that the Ubuntu kernel team has started packaging. The more recent builds (ie 2.6.30-rc1 or 2.6.29) should contain the patch you've referenced. Definitely let us know if you test and confirm it indeed resolves this issue. Thanks.

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Ooops, forgot to give the reference to the upstream kernel builds - https://wiki.ubuntu.com/KernelMainlineBuilds

Revision history for this message
Cesar Eduardo Barros (cesarb) wrote :
Download full text (4.5 KiB)

I tried with http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.29.1/linux-image-2.6.29-02062901-generic_2.6.29-02062901_i386.deb and it worked as expected:

Apr 11 10:33:40 cesarb-eeepc kernel: [ 565.341076] wlan0: deauthenticating by local choice (reason=3)
Apr 11 10:33:40 cesarb-eeepc kernel: [ 565.650457] ath5k 0000:01:00.0: PCI INT A disabled
Apr 11 10:33:48 cesarb-eeepc kernel: [ 573.920913] pci 0000:01:00.0: reg 10 64bit mmio: [0x000000-0x00ffff]
Apr 11 10:33:48 cesarb-eeepc kernel: [ 573.927648] ath5k 0000:01:00.0: enabling device (0000 -> 0002)
Apr 11 10:33:48 cesarb-eeepc kernel: [ 573.927673] ath5k 0000:01:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
Apr 11 10:33:48 cesarb-eeepc kernel: [ 573.927697] ath5k 0000:01:00.0: setting latency timer to 64
Apr 11 10:33:48 cesarb-eeepc kernel: [ 573.927843] ath5k 0000:01:00.0: registered as 'phy1'
Apr 11 10:33:48 cesarb-eeepc kernel: [ 574.057012] wmaster0 (ath5k): not using net_device_ops yet
Apr 11 10:33:48 cesarb-eeepc kernel: [ 574.059899] phy1: Selected rate control algorithm 'minstrel'
Apr 11 10:33:48 cesarb-eeepc kernel: [ 574.061000] wlan0 (ath5k): not using net_device_ops yet
Apr 11 10:33:48 cesarb-eeepc kernel: [ 574.064809] ath5k phy1: Atheros AR2425 chip found (MAC: 0xe2, PHY: 0x70)
Apr 11 10:33:53 cesarb-eeepc kernel: [ 578.133571] ADDRCONF(NETDEV_UP): wlan0: link is not ready
Apr 11 10:33:56 cesarb-eeepc kernel: [ 581.876915] wlan0: authenticate with AP 00:1e:58:c3:3a:7f
Apr 11 10:33:56 cesarb-eeepc kernel: [ 581.878542] wlan0: authenticated
Apr 11 10:33:56 cesarb-eeepc kernel: [ 581.878550] wlan0: associate with AP 00:1e:58:c3:3a:7f
Apr 11 10:33:56 cesarb-eeepc kernel: [ 581.882382] wlan0: RX AssocResp from 00:1e:58:c3:3a:7f (capab=0x411 status=0 aid=1)
Apr 11 10:33:56 cesarb-eeepc kernel: [ 581.882392] wlan0: associated
Apr 11 10:33:56 cesarb-eeepc kernel: [ 581.885152] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Apr 11 10:34:07 cesarb-eeepc kernel: [ 592.472022] wlan0: no IPv6 routers present

And here is network-manager's log:

Apr 11 10:33:40 cesarb-eeepc avahi-daemon[2610]: Interface wlan0.IPv4 no longer relevant for mDNS.
Apr 11 10:33:40 cesarb-eeepc avahi-daemon[2610]: Leaving mDNS multicast group on interface wlan0.IPv4 with address 192.168.96.123.
Apr 11 10:33:40 cesarb-eeepc dhclient: receive_packet failed on wlan0: Network is down
Apr 11 10:33:40 cesarb-eeepc NetworkManager: <info> (wlan0): supplicant connection state: completed -> disconnected
Apr 11 10:33:40 cesarb-eeepc avahi-daemon[2610]: Withdrawing address record for fe80::215:afff:feb7:5bbf on wlan0.
Apr 11 10:33:40 cesarb-eeepc avahi-daemon[2610]: Withdrawing address record for 192.168.96.123 on wlan0.
Apr 11 10:33:40 cesarb-eeepc nm-system-settings: SCPlugin-Ifupdown: devices removed (udi: /org/freedesktop/Hal/devices/net_00_15_af_b7_5b_bf)
Apr 11 10:33:40 cesarb-eeepc NetworkManager: <info> (wlan0): now unmanaged
Apr 11 10:33:40 cesarb-eeepc NetworkManager: <info> (wlan0): device state change: 8 -> 1
Apr 11 10:33:40 cesarb-eeepc NetworkManager: <info> (wlan0): deactivating device (reason: 36).
Apr 11 10:33:40 cesarb-eeepc NetworkManager: <info> wlan0: canceled DHC...

Read more...

Revision history for this message
Cesar Eduardo Barros (cesarb) wrote :

Forgot to mention, I am using the wireless to send this just after the test shown above - with no reboot or suspend/resume cycle needed (which shows it does recover the wireless correctly after rfkill).

tags: added: ubuntu-unr
Revision history for this message
Troy Ready (troyready) wrote :

Marked as a duplicate of bug 232170 (https://bugs.launchpad.net/bugs/232170), just to keep things tidy.

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.