My MAC address keeps changing when ever I turn off the phone or turn on/off the wifi card. It's a big deal because I have to register my device on my network at school, and if it keeps changing it doesn't know who I am.
Poking around on google there are a lot of other folks with this problem (MAC address is re-generated on wifi/phone resets). It seems to mostly be Motorola hardware.
Normally a MAC address is burned into the WiFi device. So it seems very, very odd to generate MAC addresses on the fly like this. Too much software (technically incorrectly) relies on MAC addresses as a stable identifier for an endpoint, so this seems likely to cause more problems than it fixes...
Here's a post about the problem from 2010: https://supportforums.motorola.com/thread/38758
The only useful recommendation I saw on the internet was the obtuse 'WiFi Fixer' app, that is known to work around some problems on early Android wifi handsets. I saw no concrete evidence that it 'fixes' this problem.
Alternatively, you could look into the tools for MAC spoofing (AFAICT, these all require a rooted phone). Then just "spoof" a stable address all the time. Here's a highly manual method: http://blog.thecodecracker.com/hacks/spoof-mac-address-in-android/
Do the MAC addresses repeat, or are they new randomly generated ones every time? It sounds like whatever ROM you're using has MAC spoofing enabled by default.
Did you know that you can long press the connection? It was just that simple.
- Go to Settings and tap on Wi-Fi.
- Turn on the Wi-Fi and connect to a network.
- Long press on the connected network and select Modify Network.
- Check Show Advance Options.
- On IP Settings drop down menu, select Static.
- Assign IP of your choice but leave other variable untouched.
This may not be a total fix for businesses and educational establishments, because an IP address with need to be assigned. But for personal devices, this is a life saver!
For further information on this see, visit the article How to Fix Failed to Obtaining IP Address Error in Android.