Wireless with debian on a Macbook Pro
I have a new Macbook Pro from January 2008. This model wasn't yet referred to in the debian wiki, so i had a little difficulty at first. I also couldn't remember how to figure out what my wireless card was, and thus which drivers it needed, so ended up typing in a load of different commands. Here are some of the useful ones:
0 asm@origin:~$ lspci 00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller 00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root P 00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller 00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controlle 00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controll 00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller 00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (re 00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (re 00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (re 00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (re 00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controlle 00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controlle 00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controlle 00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controll 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3) 00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller ( 00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Control 00:1f.2 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Co 00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03) 01:00.0 VGA compatible controller: nVidia Corporation GeForce 8600M GT (rev a1) 0b:00.0 Network controller: Atheros Communications, Inc. AR5418 802.11a/b/g/n Wir 0c:00.0 Ethernet controller: Marvell Technology Group Ltd. Marvell Yukon 88E8058 0d:03.0 FireWire (IEEE 1394): Texas Instruments TSB82AA2 IEEE-1394b Link Layer Co
With that, I was able to google the wireless card (the Atheros one in the list above), which gave me some really helpful hints. First place it took me was an ubuntu tutorial, from which the outlook seemed bleak for the madwifi driver, but good for the ndiswrapper one. Following the links from that page, I then found the thinkwiki site which had precise instructions for the driver I required. I downloaded the windows version of the driver, and was able to proceed comfortably:
0 asm@origin:~/src/driver$ sudo aptitude install module-assistant cabexract
0 asm@origin:~/src/driver$ cabextract 7iwc28ww.exe
Extracting cabinet: 7iwc28ww.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.DLL
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
All done, no errors.
0 asm@origin:~/src/driver$ cd WINXP_2K/
0 asm@origin:~/src/driver/WINXP_2K$ sudo /usr/sbin/ndiswrapper -i NET5416.INF
installing net5416 ...
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
forcing parameter MapRegisters from 256 to 64
0 asm@origin:~/src/driver/WINXP_2K$ sudo ndiswrapper -l
net5416 : driver installed
device (168C:0024) present
0 asm@origin:~/src/driver/WINXP_2K$ sudo modprobe ndiswrapper
0 asm@origin:~/src/driver/WINXP_2K$ sudo iwconfig wlan0
wlan0 IEEE 802.11g ESSID:off/any
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Bit Rate:54 Mb/s
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
0 asm@origin:~/src/driver/WINXP_2K$ sudo nano /etc/network/interfaces
Next up is configuring it...I used wpasupplicant previously, so I'm going to use that again. Even better, when I went to install it, I remembered to read the documentation in /usr/share/doc/wpasupplicant/. That told me that a config file is no longer required, but then I discovered that it now supports roaming well, and it does use a config file. Thus, I just transferred over details from my old one.
