How can I change the MAC address of my card?
With madwifi-ng, you change the MAC of the master device and VAP mac addresses are all based upon that. This must be done before creating any VAPs for the corresponding master device.
Ideally, load madwifi with autocreate=none as in this example:
modprobe ath_pci autocreate=none
Alternatively, you can try destroying any VAPs using wlanconfig destroy, as in this example:
wlanconfig ath0 destroy
You cannot use ifconfig to change the mac at this time. It should work with newer netlink API (iproute or macchanger). The suggested approach is to use macchanger to alter the address. Here's an example of changing the master device's MAC with macchanger:
ip link set dev wifi0 down macchanger --mac=xx:xx:xx:xx:xx:xx wifi0 ip link set dev wifi0 up
NOTE: macchanger can also make random addresses (--random) or have another MAC for the same vendor (--another). It's more specialized tool for the job than iproute2. You can get macchanger at http://www.alobbs.com/macchanger/
You should also be able to use iproute2 (it uses netlink) to do the same thing with:
ip link set dev wifi0 down ip link set addr xx:xx:xx:xx:xx:xx dev wifi0 ip link set dev wifi0 up
Now create your VAPs
wlanconfig ath0 create wlandev wifi0 wlanmode sta