I have BT3 installed to my HDD, and I'm using the ath5k driver for my atheros wireless card instead of madwifi.

With madwifi, I used to change my MAC address like this:

# ifconfig ath0 down
# ifconfig wifi0 down
# wlanconfig wifi0 destroy
# macchanger -r wifi0
# wlanconfig ath0 create wlandev wifi0 wlanmode managed
# ifconfig ath0 up
# ifconfig -a // This shows wifi0 and ath0 up, both with the changed MAC addresses //
# dhclient ath0
And I could successfully connect to my wireless network.

But unfortunately with ath5k, there is no wlanconfig. So how do I destroy the wlan0 interface? (With the ath5k driver, there is only wlan0 and wmaster0. I don't think wmaster0 does anything, as airmon-ng shows wlan0 as the main device, when with madwifi, airmon-ng showed wifi0 as the parent, and ath0 under it. I could destroy ath0 as I pleased, but not wifi0. With ath5k, only wlan0 is there, and I can't do anything to it and cannot create any Managed interfaces under it. wmaster doesn't seem to do anything.)

This does NOT work:
# ifconfig wlan0 down
# macchanger -r wlan0
# ifconfig wlan0 up
# dhclient wlan0
It times out at the dhclient and it says No DHCPOFFERS received, No working leases in persistent database - sleeping, blah blah. This same thing happened with the madwifi driver, which is why I had to use wlanconfig destroy to kill the interface, without making it go away, but more than just bringing it down (I had to destroy it). So after it failed to connect, at this point I had to either reload the ath5k module or take out/put back in my wireless card (both methods work fine) to reset the MAC address back to the original so I can dhclient again and it connects to the internet normally with the original MAC address, but if I use "macchanger --mac" to change the MAC address of wlan0 back to the original, it still won't connect. I have to use any of the two methods mentioned before (reloading module or replugging card) to make it work again.