If broadcom doesn't release open source drivers they aren't worth looking at.
The reverse engineered drivers called bcm43xx are working fine for me. I have a Apple Ibook wtih airport extreme card. If those bastards at Apple didn't use a propriatory formfactor (it's a mini-pci card, but with a different incompatable physical shape) then I would of ditched that crappy card long long ago in favor for a Ralink based cards.
Actually I have two sets of drivers for my card.. The bcm43xx from the vanilla kernel and the bcm43xx-dscape driver, which is a more experimental version that is from the wireless development branch of the Linux kernel.
The bcm43xx driver is easier to use since all the userspace stuff for managing cards work for it. The bcm43xx-dscape is technically superior, but requires a manual configuration.
They can be installed side by side now, but you have to manually rmmod one and modprobe the other one.
The bcm43xx using the softmac/intel stack is aviable by default if your using a 2.6.17 kernel. The devicescape version requires you to compile stuff. You can find directions at:
http://openfacts.berlios.de/index-en.ph...Unstable_with_Devicescape_802.11_stack
It's designed for Debian, but the directions for compiling should work on any system as long as you have the nessicary header files and development tools installed. I recommend sticking with the in-kernel driver unless you have special reason to use the other one.
You also need to extract the firmware from either the Apple Extreme OS X drivers or the Windows XP drivers. (doesn't matter if your using a PPC machine or a x86 machine, either one will work.) They provide a special script to do that for you on the bcm43xx website. You need to make sure that the firmware is properly installed.
---- back on topic.
Ndiswrapper is almost garrenteed not to work. It'll work for a lot of people, but it won't work for a lot of other people. Nobody can make it work with certainty. It can cause system crashes and kernel panics. And there realy isn't anything anybody can do about it. Only try it out if nothing else works.
Instead try out that ACX driver for those types of cards. If you can't get it to work there is a mailing list and forums and other support there for you. Also there are wikis made by users of these devices.
If you need help go to those people. They are in the best position to help you. In a general forum like this the best advice you're going to get would be to go out and buy a Ralink-based card or Intel card to replace it.
Generally speaking to manually setup a connection so that you can see if it works or not with highest certainty is by going like this:
modprobe module-name (if you don't already have it loaded)
dmesg (check kernel output to see if there was any problems)
iwconfig -a (take note of your device names for wireless devices.. I'll assume it's wlan0, which it is with the bcm43xx driver, but sta0 with the bcm43xx-dscape)
ifconfig wlan0 up (assuming your using wlan0 device name)
iwlist wlan0 scan (take note of the AP address (the xx:xx:xx:xx:xx number) and the essid)
rmmod driver_name
dmesg (check to see if there was any problems)
modprobe driver_name
dmesg (check to see if there was any problems)
(or alternatively reboot to make sure the card has returned to a sane state)
Now.. The next part depends on the drivers. With the ifconfig command your going to bring the interface up. Some devices drivers want you to bring up your interface first, others want you to bring it up later. I'll assume that it works best bringing the interface up first..
ifconfig wlan0 192.168.1.10 up (bring the interface up first, substitute your ip address..dhcp doesn't work always)
iwconfig wlan0 essid "your essid" (substitute your correct essid)
iwconfig wlan0 ap xx:xx:xx:xx:xx (substitute your correct ap number)
dmesg (check to see if there was any problems. Hopefully your driver reports weither it got association or it timed out)
If that works setup the rest of your networking configuration..
route add default gw 192.168.1.1 (subsitute your correct gateway)
edit your /etc/resolv.conf configuration file and make sure you have a line 'nameserver 192.168.1.1' (substitute correct dns address)
ping 192.168.1.1 (substitute your gateway)
ping
www.google.com
and see if everything works. Also check the dmesg output and see what is going on.
That way you can be certain weither or not your drivers are messed up or you've done a misconfiguration. Keep a long of everything you've done and use that to help people help you when you visit the driver's forums or whatnot.