if_iwi on FreeBSD 6.0 on a Thinkpad T43

Nathan Lay nslay at comcast.net
Thu Feb 23 10:52:58 PST 2006

Hi all,
I've encountered a peculiar quirk in either this laptop or FreeBSD with 
IPW2915ABG.  For some reason or another, either the Thinkpad turns the 
card on at bootup, or FreeBSD's if_iwi driver and acpi_ibm mistakenly 
think the card is turned on.

My loaded modules:
Id Refs Address    Size     Name
 1   14 0xc0400000 4033b4   kernel
 2    1 0xc0804000 5e28     snd_ich.ko
 3    2 0xc080a000 20448    sound.ko
 4    1 0xc082b000 3f44     acpi_ibm.ko
 5   17 0xc082f000 6057c    acpi.ko
 6    1 0xc0890000 41c4     wlan_tkip.ko
 7    1 0xc0895000 6fe4     wlan_ccmp.ko
 8    1 0xc1d7c000 18000    linux.ko

Notice that if_iwi is NOT loaded.

Let's have a look at dev.acpi_ibm.0.wlan
dev.acpi_ibm.0.wlan: 1

Well thats odd, why would acpi think the wireless chip is turned on with 
no driver loaded?

Let's load if_iwi for kicks

iwi0: <Intel(R) PRO/Wireless 2915ABG> mem 0xa8401000-0xa8401fff irq 11 
at device 2.0 on pci4
iwi0: Ethernet address: 00:13:ce:b7:ea:8

That works just fine it seems.
But then:

%iwicontrol iwi0 -r
Radio is ON

So, now that the driver is loaded, both if_iwi and acpi_ibm think the 
card is turned on, but there is no firmware loaded.
Loading a firmware and then using either `ifconfig iwi0 up' or  
`dhclient iwi0' does absolutely nothing.

I've tried various things with the kernel and BIOS but with no luck.

here is my uname:
Feb 20 15:06:16 EST 2006     
root at LIGHTBULB.LOCAL:/usr/obj/usr/src/sys/LIGHTBULB  i386

Keep in mind, this also happens on GENERIC.

So, is this a bug in FreeBSD or a quirk in the laptop?  I've pondered 
whether to submit a PR but I'm not sure what exactly is going on here.  
Even disabling the card in the BIOS, acpi_ibm will still indicate that 
wlan is turned on. 

If anyone can clue me in here, please please do so.  Until then I'm 
surfing with an atheros card :)

Best Regards,
Nathan Lay

More information about the freebsd-questions mailing list