As many of you saw, this past week I bought myself a new Macbook and have successfully installed Ubuntu on it via bootcamp. I plan on documenting many of the steps I took to be published this upcoming week, but first I have some great news. I have successfully configured wireless on this machine despite all the talks that it wasn’t available! If you are struggling with wireless on a Core 2 Duo Macbook you might give this a try.
First of all, you’ll need to use ndiswrapper. There is not a free solution (free as in freedom) to this *yet* but from the piles of articles, threads and bugs that I read the madwifi team is working on it. In the meantime we’ll have to use the Windows driver, which I will link to here.
Second, you’ll need to compile ndiswrapper yourself as even the Feisty package is out dated and will not support this hardware. I’ll walk through those few steps as well.
Third, if this works for you, you’ll have to share it with everyone you know because wireless is awesome, of course, and not something that one can easily live without.
Ok, now on to the good stuff.
How to setup wireless on a Macbook (Core 2 Duo) using ndiswrapper.
You’ll need the latest version of ndiswrapper available from their site. I am currently using the v1.38 release. You can find that here. (Feisty still includes the 1.30 version, which was released 2006-11-28!)
Unzip this package to a location you’ll remember. (ie; Desktop)
You’ll want to remove any previous installations or mentions of ndiswrapper. I used the following:
sudo aptitude remove –purge ndiswrapper-common ndiswrapper-utils (make sure you get any other package you’ve installed)
sudo rm -R /etc/ndiswrapper
sudo rm /etc/modprobe.d/ndiswrapper
After you’ve purged any of your previous attempts you can open a terminal and enter the directory where you unzipped the ndiswrapper-1.38 source (which, for this tutorial, will be on your Desktop)
cd ~/Desktop/ndiswrapper-1.38/
You will need the powers of compiling, which is tidily wrapped up in the build-essential package. Simply sudo aptitude install build-essential and you should have what you need for the next few steps.
make uninstall (repeat until it doesn’t find anything)
make
sudo make install
At this point your ndiswrapper version 1.38 should be installed to your system. You’re now ready to download the appropriate driver and unpack its contents. The driver I used is sourced from a Lenovo driver page but it appears to be the same hardware and it’s working so… you can get that here.
Note: if you want to verify that it is the suggested driver for your system you can run the following two commands, and verify that listing suggestion on the supported hardware page of ndiswrapper.
lspci
This is what I get in my output:
02:00.0 Network controller: Atheros Communications, Inc. Unknown device 0024 (rev 01)
You’ll then want to run
lspci -n | grep 02:00.0 (note this is grepping for the information at the beginning of the line above. alter if your information is different)
…the results you get here is the PCI-ID for that card, (mine being: 02:00.0 0280: 168c:0024 (rev 01)
). You’ll want to take the 168c:0024 section of this output and search for it at the ndiswrapper hardware list. (I know it sounds a bit complicated but give it a try, you should catch on to what you’re looking for pretty quickly)
So now that you’ve verified your card ID and downloaded the driver you can install it using the command below:
sudo ndiswrapper -i NET5416.INF
This should give you some output.. and then to verify that the system is happy with that driver:
sudo ndiswrapper -l
Hopefully you see the same thing I did:
net5416 : driver installed
device (168C:0024) present
If this is the case (and notice the device number matches the lspci -n information above, something I had trouble with in previous attempts) you can load the ndiswrapper module and you should be ready to rock.
sudo modprobe ndiswrapper
Take a look to see if the device was created using something like:
iwconfig or check network-manager to see if you’ve got a wireless device listed now.
…and to have it auto-load at each boot
sudo ndiswrapper -m
At this point set up your wireless card information, pull out that leash of a LAN cable and jump for joy! Yeah, it’s ok to dance around the room a little bit if you’ve been fighting this for a while.
If it doesn’t work for you feel free to drop me and email and we’ll see if we can’t get something figured out. Good luck!