1

tl;dr How to force Doodgee N301 (or any other device with Android 10) to use single, static MAC address, if Use static IP checkbox is not available in Wi-Fi Settings?


To allow my Doodgee N30 to access my home Wi-Fi, I must add its MAC address to the router settings (I have MAC filtering enabled and I am not going to change this). The problem is that, when I type Mac into Settings' search box, I see two different places with MAC address:

  1. MAC address in ⚙ → Network & internetWi-FiWi-Fi preferences: Keeps changing all the time.

  2. Wi-Fi MAC address in ⚙ → About phone: Always the same.

What I learnt so far:

  1. First one looks like an Use random MAC address feature enabled by default, but I don't know how to disable it; there is no Use static IP checkbox below.

  2. Second MAC address is... wrong. I don't know, what it actually is, but adding to router does nothing (i.e. does not enable phone to get access to my home network).

Is there anything I can do to force this phone to use one, static IP address? Or the only option is to replace it with any other model that has Use static IP checkbox?

1 This is about Doodgee N30, a rather niche phone, but probably fits to many devices with Android 10 that faces the same problem, i.e. no Use static IP checkbox.

3
  • Your comment looks like a perfect answer. And it does solves my problem. Care to write one? Plus: In my case MAC address is not fixed per WiFi. It changes from time to time. That's why I am wondering, how to use such device with a Wi-Fi networks having "MAC filter" enabled?
    – trejder
    Feb 22, 2023 at 21:24
  • You could consider both comments in your answer. For example: "An additional issues is that MAC filters don't (...) and that's why randomized MAC address is enabled by default on most new Android devices". Or sth. There's one last thing that bothers me. If (as you say) MAC addresses are randomized per network then what is that single MAC address displayed in ⚙ → Network & internet → Wi-Fi → Wi-Fi preferences? It can't be per network because it is signle one (and there are many networks). And it isn't device MAC (because that one is in ⚙ → About phone). Maybe you can cover that as well.
    – trejder
    Feb 22, 2023 at 21:58
  • 1
    each device must have unique hardware mac address per law. that is the real mac address you see in 2. and it should also printed on a sticker you got together with phone, or printed on box. in case you can disable randomised mac address, the real one should become valid for wifi. also please note the bluetooth mac address. you can check mac address here macvendors.com
    – alecxs
    Feb 23, 2023 at 3:12

1 Answer 1

2

Android device like other Wifi devices have one fixed Wifi MAC address. This MAC has been generated by the Wifi hardware or the device manufacturer and should be unique to your device. This is the MAC address you can see in Settings → About phone.

As having a unique MAC address which is used in any network packet transmitted over Wifi is a bad idea from the privacy perspective Google introduced in Android 8 MAC randomization (which is enabled by default since Android 10). The randomized MAC is the one you can see in Settings → Network & internet → Wi-Fi → Wi-Fi preferences . There two variants of Wifi MAC randomization. Which mode is active can usually be selected in Developer Options -> "Non persistent random generation of MAC addresses":

  1. Wifi specific randomized MAC, called "persistent randomization"
  2. True random MAC address, called "non-persistent randomization"

Wifi specific randomized MAC

By default this mode should be enabled since Android 10, unless you or the device manufacture changed the default configuration.

Android generates a persistent randomized MAC address based on the parameters of the network profile including SSID, security type, or FQDN (for Passpoint networks). This MAC address remains the same until factory reset. The MAC address does not get re-randomized if the user forgets and re-adds the Wi-Fi network since the MAC addressed depends on the parameters of the network profile.

True random MAC address

Under the non-persistent randomization type, which is used for some networks in Android 12 or higher, the Wi-Fi module re-randomizes the MAC address at the start of every connection or the framework uses the existing randomized MAC address to connect to the network. The Wi-Fi module re-randomizes the MAC address in the following situations:

  • The DHCP lease duration has expired and more than 4 hours have elapsed since the device last disconnected from this network.
  • The current randomized MAC for the network profile was generated more than 24 hours ago. MAC address re-randomization only happens at the start of a new connection. Wi-Fi won't actively disconnect for the purpose of re-randomizing a MAC address. If none of these situations apply, the framework uses the previously randomized MAC address to connect to the network.

MAC filtering

In your case the device seems to use a random non-persistent MAC address. You can try to switch to persistent mode in Developer Options -> "Non persistent random generation of MAC addresses" (disabled = persistent mode, enabled = non-persistent mode).

Also on most device you can totally disable MAC randomization for one Wifi in the settings of that specific Wifi.

No matter what way you chose you first have to connect to that Wifi so that Android creates a Wifi config for that network. If you have chosen the persistent mode you can open settings of that Wifi connection and see the MAC address that is used in that Wifi network. Add this MAC address to your MAC filter. Or if present you can disable MAC randomization for that Wifi in it's settings. Then use the real MAC address of your phone shown in "About phone"

Please note that MAC filters or totally useless from a security perspective because they are transmitted in plain text (not encrypted) with every network packet one of your Wifi devices sends in your network. So if I would want to break into your network I would sniff a few seconds or minutes the Wifi traffic in your network, pick a MAC address that is white-listed and then use root permission on my device to change my Wifi MAC to the one I captured from one of your devices => MAC filter bypassed

1
  • A perfect answer, thank you. Now, the only question left, if we should kill each our comments under the questions (since matter discussed there has been clarified in your answer) or we should rather keep them for future reference?
    – trejder
    Feb 24, 2023 at 8:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .