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

From ThinkWiki
Revision as of 12:09, 6 December 2006 by Shamuki (Talk | contribs)
Jump to: navigation, search

Got it working on my T60 2007VEH by installing the windows driver via ndiswrapper. You need a recent version of ndiswrapper (I used driver version 1.30).

This is the procedure I used:

- Download the Windows driver from IBM's support site

- extract its contents with cabextract:

:~> cabextract IBM-driver_7iwc16ww.exe
Extracting cabinet: IBM-driver_7iwc16ww.exe
 extracting DATA1.CAB
 extracting DATA1.HDR
 extracting DATA2.CAB
 extracting IBMTPI.XML
 extracting IKERNEL.EX_
 extracting IMDRV/WSIMD.CAT
 extracting IMDRV/WSIMD.INF
 extracting IMDRV/WSIMD.SYS
 extracting IMDRV/WSIMDP.CAT
 extracting IMDRV/WSIMDP.INF
 extracting LAYOUT.BIN
 extracting SETUP.EXE
 extracting SETUP.INI
 extracting SETUP.INX
 extracting SETUP.ISS
 extracting UNINSTLL.ISS
 extracting WINXP_2K/AR5416.SYS
 extracting WINXP_2K/NET5416.CAT
 extracting WINXP_2K/NET5416.INF
 extracting WLLANATH.TPI

- In the WINXP_2K directory, install the driver file with ndiswrapper:

:~> cd WINXP_2K/
:~> sudo /usr/sbin/ndiswrapper -i NET5416.INF
installing net5416 ...
forcing parameter MapRegisters from 256 to 64
[...last line repeats a few times...]

Note that the last line only occurs with a recent version of ndiswrapper. I had to compile ndiswrapper from source to get the new version. This went smoothly on SUSE 10.1 with the kernel-developer selection installed.

- ndiswrapper (run as root) tells you that the driver is installed:

root:~> ndiswrapper -l
net5416         driver installed, hardware (168C:FF1D) present

Strange, the PCI ID changed. ndiswrapper reports it as 168C:FF1D, while lspci -l reports 168c:0024.

- load the ndiswrapper module:

root:~> modprobe ndiswrapper

- iwconfig shows the card:

root:~> iwconfig wlan0
wlan0     IEEE 802.11b  ESSID:"youknowit"
         Mode:Managed  Frequency:2.462 GHz  Access Point: 01:23:45:67:89:AB
         Bit Rate:11 Mb/s
         Encryption key:off
         Power Management:off
         Link Quality:42/100  Signal level:-69 dBm  Noise level:-96 dBm
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
         Tx excessive retries:0  Invalid misc:0   Missed beacon:0

This is with KNetworkManager running; it automatically connected to the network. ESSID and Access Point MAC are faked for this howto.

I must add that a few days ago, with another access point, the exact same porcedure did not work. The card was tuned to some 5.?? GHz and would not recognize the 802.11g network that was present. Suceeded to connect with another PCMCIA WLAN card, also driven by ndiswrapper, so it wasn't the network or ndiswrapper's fault. Have to wait until tonight to see if I can reproduce the failure now I got it working once, though.