Following Nathan's directions (thanks!) I got the card working just fine. In case it is useful, I have documented the steps I went through below. Of course, maybe changing the regdomain is not something you wish to advocate in the FAQ.. # Steps to patch the regdomain from unknown (18) to FCC (16) for a D-Link # DWL-AG530 so it works with current madwifi drivers. 1. Download the ar5k source, per Paul Shupak: http://sourceforge.net/mailarchive/message.php?msg_id=8966525 Cut and paste the source into a file ar5k.c and then compile it: gcc ar5k.c -o ar5k NB: When I cut and paste, I get a typo near the end of the program; it reads ...don"t match..., should read ...don't match... Fix and recompile. Note: The following step #2 is optional. You'll need it only if you give an unknown value to your card. 2. Patch ath/if_ath.c, per Michael Gernoth: http://sourceforge.net/mailarchive/message.php?msg_id=9000820 Rebuild the atheros modules, reinstall and reboot. NB: I had to reboot to single-user mode (i.e., LILO: linux single) because with an unknown regdomain, the patched atheros module rendered networking unusable (all networking, such as ifconfig, nfsd, samba, apache, would hang) 3. Make sure ath_pci is loaded: modprobe ath_pci Find its memory address: lspci -v > /tmp/lspci less /tmp/lspci Look for: 0000:00:0a.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01) Subsystem: D-Link System Inc: Unknown device 3a14 Flags: bus master, medium devsel, latency 168, IRQ 169 Memory at ec100000 (32-bit, non-prefetchable) [size=64K] Capabilities: [44] Power Management version 2 The memory address is on the second-last line of that section. Find the regdomain for your use; see Paul Shupak's mail; 0x10 (16) is FCC. Run the ar5k utility: ./ar5k 0xec100000 0x10 ^ ^ | +- The appropriate regdomain value +------------ From lspci It should print out that it has changed from 18 to 16, or whatever. 4. Reboot and everything magically works fine. You don't need to unpatch the atheros modules, but equally you don't need to repatch it in the future. 5. If you ever want to undo this change, just run ar5k 0xec100000 0x12 (or whatever the original value was (0x12 == 18)). -- Igor