NDIS wlan driver trouble, 6.0Beta5, DELL D610, Broadcom 4320 miniPCI

Alan Gerber agerber at ncsu.edu
Sun Oct 2 10:31:08 PDT 2005


Andreas Klemm wrote:

>Hi,
>
>don't get my WLAN card running. Already tried 2 different dell drivers.
>No success so far. Tried "old way" and "new way (ndisgen)". No success.
>
>I can load the ndis driver but no device appears.
>
>I fear that I need an additional firmware file. But I cannot localize
>it in the original driver directory.
>
>If somebody want to look at it himself I can give root access via ssh.
>
>What I did so far:
>[snip]
>
>No additional device.
>
>Whats going wrong ? Any idea ?
>
>
>	Andreas ///
>
>  
>
I don't have the same model as you, but I was able to get my hardware 
working, and it works very well.  I'm using a Latitude D600 w/ the 
BCM4306 802.11b/g minipci card.  The hardware isn't the same, but it 
should be reasonably similar so that if you follow these instructions it 
will probably work.  Here's what I did to make mine work:

0) update to something post 5.4-release.  I don't know the specifics, 
but I seem to recall seeing something saying that the ndis driver isn't 
supported anymore on any earlier platform.
1) obtain your drivers from Dell.  In my case, I used the driver archive 
file for R102319.  You'll be using both bcmwl5.sys and bcmwl5.inf from 
the archive.

Now, do the following as root:

2) Build the kernel module, bcmwl5_sys.ko, using the 'ndisgen' utility 
-- it is straightforward, and if you follow the directions you should 
end up with bcmwl5_sys.ko in your current working directory.
3) Issue 'cp bcmwl5_sys.ko /boot/kernel'.  I like to keep my kernel 
modules with my kernel, thus this step.  There's probably other reasons 
to do this as well, but I'll let someone more knowledgeable explain them.
4) Go ahead and issue 'kldload ndis'.  This should load both ndis.ko and 
if_ndis.ko into the kernel.  You can check this by issuing 'kldstat' -- 
it should be listed there.
5) Load the driver for your card by issuing 'kldload bcmwl5_sys' -- or 
whatever your driver name came out to be.
6) At this point you should see the ndis0 interface in ifconfig output.
7) Set the SSID you want to be connecting to by issuing a 'ifconfig 
ndis0 ssid [your_ssid_here]'
8) Bring the interface up: 'ifconfig ndis0 up'
9) Get a DHCP lease for the interface (or set an ip address manually if 
that is how your network is set up).  Issuing a 'dhclient ndis0' will 
obtain a DHCP lease for you.

There you have it, a working wireless connection in 10 easy steps.  Upon 
each reboot, you'll need to go through steps 4-9 unless you tell the 
system to do it automatically for you (personally, I don't want the 
wireless card initialized each time I boot, but others may want it, so I 
am including it here)....

10) Add the following 3 lines to /boot/loader.conf:
ndis_load="YES"
if_ndis_load="YES"
bcmwl5_sys_load="YES"
11) Add the following 2 lines to /etc/rc.conf:
network_interfaces="ndis0"
ifconfig_ndis0="DHCP"
Note: your network configuration may vary.  You'll need to customize 
these lines according to your other network hardware and your IP 
addressing scheme(s).
12) Reboot to test the configuration changes.

I haven't tested steps 10-12, but I think they will work.  Hopefully 
this'll get you where you need to go.

Good luck!

--
Alan Gerber


More information about the freebsd-mobile mailing list