Important note (added October 17). Today Acer pushed out an update to the built-in wireless drivers, and it seems to work much better than the old ones. I’ve been able to get strong, stable signals using it both at work and at home (I’m using that connection to type this). Therefore, the instructions below are unlikely to be necessary if you have up-to-date software.
The big negative for my new Aspire One turned out to be the wireless. Using the packaged drivers, I managed to get a connection at work once, but it was soon dropped and I never repeated that success. I was able to get a stable connection to our neighbor’s wireless network, but never connected at home. Why do the open-source wireless drivers suck so much? I’ve had this problem with the Broadcom driver for my Dell at home, forcing me to use ndiswrapper. This one’s Atheros/MadWifi, but just as bad if not worse. Part of the problem seems to be that the open-source drivers will not set the transmit power and sensitivity to their proper values even if you try to set them manually. Yeah yeah, FCC blahblah make all the excuses you want, but the vendor drivers seem to get away with using higher power and besides, that can’t be the whole problem because I can put the machine right next to my access point at home and it still fails. Using the vendor driver with the exact same settings works just dandy; my Aspire One is demonstrating that fact right this moment.
OK, so how do you get the vendor driver working on your Aspire One? Here are the steps I took.
- Make sure gcc is installed on your system.
- Download the kernel source from Acer. Do not try to get the sources via the package manager; that’s an old version and not the one actually shipped on the system.
- Go into /usr/src and unpack the source. Create a symbolic link with “ln -s linux-22.214.171.124 linux” so that module builds and such will work.
- Go into the linux directory. Copy /boot/config_080627 (or whatever the latest version is) to .config here. Acer needs to get their source-control together a bit here; there are several config files in the unpacked source at well, using many different naming conventions. I used config_080609v2 and it worked OK for me, but good practice would be to use the one from /boot. Whichever one you use, run “make oldconfig” to finish the kernel-configuration process.
- At this point I actually built the kernel because I figure I’ll want to strip out a bunch of stuff some day (there are a surprising number of drivers configured in for devices that are not physically present on the system). For what we’re doing right now, the only value of this is to validate that the build tools are all working. I actually did find some minor breakage, which is that asm-offsets.h is present in include/asm-i386 but not include/asm (which is supposed to be a symlink to include/asm-$ARCH but Acer screwed that up). A simple symlink for that one file fixed the problem.
- Get ndiswrapper from SourceForge and unpack it. Go into the directory where it was unpacked and run “make install”; if you did the previous steps correctly this should just work.
- Go to the unofficial Atheros driver download site and grab the Windows XP 32-bit driver for this chip. I tried the 7.x-series driver and it didn’t work, complaining about being a WDM driver instead of NDIS. Working backward, I fetched the only 6.x-series driver (xp32-126.96.36.199.zip) and that seems to load without complaint.
- Unpack the zip file and run “ndiswrapper -i net5416.inf” to install the driver.
- Run “madwifi-unload” to unload all of the MadWifi junk and “modprobe ndiswrapper” to load the driver that works.
- Configure your wireless network as you should have been able to do in the first place.
- Enjoy your wireless connectivity.
Obviously, your mileage may vary. Certain aspects of this formula are almost certain to change, as Acer ships new systems with slightly different hardware or an updated kernel config. Nonetheless, the basics worked for me and should approximate what you’ll need to do. Feel free to comment here or contact me via email if you use these instructions, whether you succeed or fail, so I can update appropriately.