Sunday, December 17, 2006

Installing Wireless Drivers on Lenovo 3000 n100 Laptop w/ Intel's IPW3945ABG wireless setup on Fedora Core 6 ( FC6 )

Installing Wireless Drivers on Lenovo 3000 n100 Laptop
w/ Intel's IPW3945ABG wireless setup
on Fedora Core 6 ( FC6 )

I recently got a warranty replacement on a Sager laptop machine I'd bought ~4 years ago for college. Sager build's a hard core machine. It had a p4 with 1 GB ram and a radeon 9000 graphics card and a 17" monitor. It weight probably around 10 lbs and had a 15 minute battery life (literally), but it was worth it. I needed the power, because it was my only machine and I was still very much a gamer. Over time it showed other issues. Specifically it had a massive heating issue. After 2 years of use, with a significant amount of protein folding, it started having heat failures. It had to be babied constantly -- propped up on stuff to allow air flow -- big pain. I started sending it in for warranty repair. Huzzah for warranties. I'm so hard on stuff I can't imagine buying a laptop without a warranty. Finally, one of the warranty requests they gave me a new computer! Which happened to be much cooler than my old one. A Lenovo 3000 n100 laptop. The rest of this post describes how to get wireless going on this laptop after having installed Fedora Core 6.

Installing Wireless Drivers
The easiest way to install the ipw3945 driver is to use Axel Thimm's repository at . This is what I'm going to show you how to do.

Assuming you have a wired connection to the internet. Update your machine using yum. This is because the repository from which you will be downloading later on uses the latest released Fedora Core 6 kernel.

yum update # <-- requires root permission. If you don't want to answer 'yes' use 'yum update -y' -Install Repository-
Start a new terminal and log in as root. As root, create a new file named
atrpms.repo using your favorite editor (my favorite is jedit )
insert the following text ( per's instructions )
name=Fedora Core $releasever - $basearch - ATrpms

save and exit

-Install your version of the kernel module-
This should be installed first ( as opposed to letting yum auto-resolve the dependency ), because you'll want to specify which kernel module. Especially, if you're using the kernel modified for xen. In the console with root permissions, issue the commands:
yum install 'ipw3945*kmdl*' # <-- with root permissions

If you want to install the xen kernel module use the command:
yum install 'ipw3945*kmdl*xen*' #
<-- with root permissions

-Install the ipw3945 module-

Now that you have chosen the kernel module, use yum to install the driver
yum install ipw3945 # <-- with root permissions

Once yum is done, the driver is installed! Reboot your machine.

-Using the ipw3945 driver-
Using the ipw3945 is not pretty, but it works. To get things going you'll need to load the ipw3945 kernel module and start the ipw3945 daemon:
modprobe ipw3945 # <- load ipw3945 kernel module
/sbin/ipw3945d # <- start ipw3945 daemon

Now you'll have to use some linux tools to connect to a wireless station.


/sbin/iwlist scan

to find an network. Example output

eth1 Scan completed :
Cell 01 - Address: 00:12:17:32:B3:06
Protocol:IEEE 802.11bg
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Quality=59/100 Signal level=-72 dBm Noise level=-72 dBm
Extra: Last beacon: 72ms ago

Note the 'essid' of your prefered network.

Then connect to the access point using

/sbin/iwconfig eth1 essid free_but_dont_abuse

For some reason you also have to 'activate' the interface too.


highlight your wireless connection on the first tab and click activate.