ThinkPad 11a/b/g/n Wireless LAN Mini Express Adapter

From ThinkWiki
Revision as of 21:47, 13 August 2008 by Kevmitch (Talk | contribs) (Problems/Bugs?)
Jump to: navigation, search

This is a WiFi Adapter that is installed in a Mini-PCI Express slot IBM partnumber 42T0825 [1]


  • Chipset: Atheros AR5418/AR5008
  • Integrated Mac Processor and Radio Chip: Atheros, unknown model
  • IEEE Standards: 802.11a, 802.11b, 802.11g, 802.11n (draft)
  • PCI ID: 168c:0024



To determine the chipset your card uses, issue the following commands:

# update-pciids
# lspci | egrep -i 'network|atheros|wireless'
03:00.0 Network controller: Atheros Communications, Inc. AR5418 802.11a/b/g/n Wireless PCI Express Adapter (rev 01)

If you get something different than above despite having the most current PCI IDs, please report it here!

Linux WiFi drivers


For native Linux support, a development snapshot of the "madwifi" driver, which uses a non-free binary-only HAL, can be used. It does not support the draft 11n protocol, but will work in "legacy" 11g mode. Support for this chipset was initially planned for release 0.9.4, but this inclusion had to be postponed as a critical update with a bug fix for compilation with the 2.6.24 kernel was necessary before the pre-release trunk was sufficiently stable. Thus, it is still necessary to download the prerelease snapshot from trunk using subversion.

There is a howto, which describes the procedure for getting the snapshot to work.

There is an old ticket for this card at madwifi, #1001.

There is an new ticket for this card at madwifi-branch, #1243. Insert non-formatted text here


There is now active development of a free driver ath9k that is purported to support the draft 11n protocol and is aiming for inclusion in the mainline Linux kernel. If you're impatient and want to try it out NOW, however, you'll have to jump through a few hoops.

Using the Windows Driver in Linux

If you have a weak stomach for pre-release software, you can always use "ndiswrapper" (>= 1.29) to wrap the Windows driver supplied by Lenovo. This isn't as bad as you think. It does work like a charm, but you may have problems if you're using a 64 bit kernel since it's not clear that a 64 bit windows XP driver exists (ndiswrapper currently doesn't support Vista drivers). Here's the Howto.


Non-Maskable Interrupt with madwifi

This problem appears to be more or less fixed with recent subversion snapshots. If you are still experiencing this, try upgrading to the latest version.

A number of folks have reported getting errors while using the experimental madwifi driver with the AR5418. After hours of flawless operation, the Kernel sometimes throws an NMI after which, the wifi dies. Aside from rebooting, suspending (to ram or disk) and resuming seems to be the only method to recover.

Uhhuh. NMI received for unknown reason b0 on CPU 0.
You have some hardware problem, likely on the PCI bus.
Dazed and confused, but trying to continue
wifi0: rx FIFO overrun; resetting
wifi0: rx FIFO overrun; resetting
wifi0: rx FIFO overrun; resetting

See the following threads and bug reports: [2] [3] [4] [5] [6]

There's a ticket on madwifi with some discussion and suggestions for the rx FIFO overrun problem.

A possible preventitive measure is issuing the command # iwpriv <device> bgscan 0 each time you load the driver. To make this change "permanent", you could add this command to your distribution's ifup networking scripts as described below.


Open up /etc/network/interfaces in a text editor and find the entry for your wireless device. Which should look something like

iface wlan0 inet manual
    wpa-driver madwifi
    wpa-roam   /etc/network/wpa_supplicant.conf

and add the line

    post-up iwpriv wlan0 bgscan 0

to the end of it where of course you substitute your interface name (e.g., "ath0") for "wlan0".

Hardware switch

Some ThinkPads have a hardware switch that must be in the on position for the radio to work, regardless of driver state:

(ThinkPad R60 radio switch in the ON position)

In addition to hard-switching the wireless card, the switch also generates an acpi event on transition from hi->lo and vice versa. It is however the same event in both directions.

ThinkPads this card may be found in

Related Links