ndiswrapper works, but there is a lot of reasons why not to use it.
I have to use it with my Broadcom chip and it plain sucks.
I cannot use Airsnort or Kismet with it.
Also, for example the link quality does not work.
The point is: manufacturers should produce native drivers.
Get a card with Prism or Orinoco chip and you'll have native linux support.
Check here for a card list with chips:
http://www.linux-wlan.org/docs/wlan_adapters.html.gz
so just avoid anything which says Broadcom since they don't give driver specs (so there are no linux drivers). Also better avoid the ACX1** chips, since there seem to be a lot of complications.
Best is a Prism based card it seems, the acx100 driver even states it
!
module acx_pci unsupported by SUSE/Novell, tainting kernel.
acx100: It looks like you've been coaxed into buying a wireless network card
acx100: that uses the mysterious ACX100/ACX111 chip from Texas Instruments.
acx100: You should better have bought e.g. a PRISM(R) chipset based card,
acx100: since that would mean REAL vendor Linux support.
acx100: Given this info, it's evident that this driver is quite EXPERIMENTAL,
acx100: thus your mileage may vary. Visit
http://acx100.sf.net for support.
acx100: Compiled to use 32bit I/O access (I/O timing issues might occur, such as firmware upload failure!)