problems with wifi

Bill Paul wpaul at FreeBSD.ORG
Sat Dec 31 13:28:58 PST 2005

> yes, i can load if_ath, wireless card is found and i can set it up as 
> ath0, but i still have no signal (and there are many ap's - i can see
> with different pcmcia card)

Note that if this in fact a problem with ACPI not supporting the
wireless enable switch on your laptop correctly, it won't work
with the NDISulator any better than it will with the ath(4) driver.
I think the wireless enable switch controls the connection to the
antenna(s), and is a separate device from the NIC itself that varies
in implementation depending on the laptop. The NDIS driver only knows
how to manipulate the NIC hardware: the NIC manufacturer can't really
customize the driver for each laptop out there (and the laptop
manufacturers usually don't customize the drivers either, beyond
sticking their logo on them).

> therefore, i think i have to somehow turn it on (the special "wireless" 
> key on keyboard of course doesn't work)
> > 
> > Why don't you just load if_ath.ko? It should support that chipset.
> > 
> i know, i did it. loaded generated kernel module, but no ndis0
> > If you really want to use ndis for it you need to run ndisgen to create a 
> > module for the driver in question.
> > 

Let's look at what you did:

> if i use ndis (driver for AR 5212), i can't see any ndis0 interface
> driver is net5211.inf, ar5211.sys => ar5211_sys.ko, which should work
> with this chipset.
> i have compiled kernel with
> options         NDISAPI
> device          ndis

carefully designed things so you don't have to rebuild the kernel, but
everyone just charges ahead and does it anyway. Leave the kernel
alone. Just kldload ndis.ko and if_ndis.ko. After that, you can
kldload ar5211_sys.ko.

Second, you said "driver is net5211.inf, ar5211.sys => ar5211_sys.ko,
which should work with this chipset." It "should" work? Where did
you get this driver from? Is it the one that actually came with your
laptop, or did you go rummaging around until you found one that kinda
sorta looked right? If no ndis0 device appears when you kldload
ar5211_sys.ko, then the driver you have is _NOT_ the right one for
your chipset. Look in the net5211.inf file. (Yes, you can look in it:
it's just text.) Check the PCI ID list at the top and see if it has
an entry that matches your device (shown with pciconf -lv). Check
the vendor ID, device ID, _AND_ subsystem code. There must be an
entry where all three match your device, otherwise ndis_probe_pci()
won't consider the driver to be a match for your hardware. (You can
force a match by carefully deleting the &SUBSYS_XXXXXXXX portion
of one of the lines and then using ndisgen(8) to rebuild your driver
module; a line with no SUBSYS section matches all devices with the
specified vendor and device ID.)

I couldn't find the first e-mail in this thread, so I don't know which
laptop you have. Check to see if it's one of the ones mentioned here:

If so, you may need some special software to make the switch work.


-Bill Paul            (510) 749-2329 | Senior Engineer, Master of Unix-Fu
                 wpaul at | Wind River Systems
              <adamw> you're just BEGGING to face the moose

More information about the freebsd-current mailing list