The FreeBSD Diary

The FreeBSD Diary (TM)

Providing practical examples since 1998

If you buy from Amazon USA, please support us by using this link.
[ HOME | TOPICS | INDEX | WEB RESOURCES | BOOKS | CONTRIBUTE | SEARCH | FEEDBACK | FAQ | FORUMS ]
IBM ThinkPad T41 - going from ipw(4) to ath(4) 8 March 2006
Need more help on this topic? Click here
This article has no comments
Show me similar articles

I have an IBM ThinkPad T41. It's a great little laptop. It's been very reliable, despite some initial hardware problems. One major problem has been the wireless NIC. I've been having problems with it for over a year. The original problem was a total system freeze. This thread shows how the problem was resolved with a drive upgrade.

This is where my memory becomes hazy. With more recent versions of FreeBSD (e.g. 6), I found the ipw driver displayed the same problem again. This time, not even ndis(4) could rescue me. The NIC is pretty stable under Windows XP but under FreeBSD, the ipw driver was just not up to scratch. I quickly became annoyed with the situation.

I eventually decided that I would not spend any more time on this problem. It was time for new hardware. I ordered a ThinkPad 11a/b/g Wireless LAN Mini-PCI Adapter II (US) from IBM. The part number is 73P4301. I ordered it over the phone, but the IBM web page outlines all the details. Total cost was CAD$113 including shipping. Delivery took about a month, but IBM told me upfront that it would be 4-6 weeks.

I highly recommend the Linux ThinkPad Wiki. It is a great resource of ThinkPad information. They have a page for my T41 and it was there that I found a link to the Hardware Maintenance Manual. This very useful document has detailed instructions for replacing your NIC. I will not go into details here, but go slowly and do not miss any steps. Be gentle.

After replacement

After I replaced the NIC, I booted into XP to try out the card. I did not need to add any drivers and everything worked as expected.

For FreeBSD, I needed to add ath(4) support to the kernel. I did this by adding the following to the kernel configuration file:

device          ath
device          ath_hal         # Atheros HAL (includes binary component)
device          ath_rate_sample

Then I recompiled and installed the kernel. After a reboot, the ath0 device was found during probing. DHCP just worked. All good.

Infrastructure changes

With a new NIC comes a new MAC address. You may want to alter any filtering you have on your WAP.

In addition, I had to alter my /usr/local/etc/dhcpd.conf because of the way I handed out IP addresses under Windows. Here is what I had:

# windows XP
host laptop {
    hardware ethernet 00:94:02:27:67:32;
    fixed-address laptop.wifi.example.org;
}

I added a new line for the additional NIC:

# windows XP
host laptop {
    hardware ethernet 00:94:02:27:67:32;
    hardware ethernet 00:19:ae:06:45:23;
    fixed-address laptop.wifi.example.org;
}

The entry I used for FreeBSD did not require modification: host laptop.example.org { option dhcp-client-identifier "laptop.example.org"; fixed-address laptop.wifi.example.org; }

This is because my /etc/dhclient.conf contains:

send dhcp-client-identifier "laptop.example.org";

There is no such setting for Windows as far as I know.

Much happier
I'm much happier with ath(4) than I was with was with ipw(4). If anyone wishes to work on ipw(4) and needs a NIC, I'll gladly loan it out in the hopes of providing others with a better wifi experience.

Need more help on this topic? Click here
This article has no comments
Show me similar articles