In my Android mac address change dynamically, in the moment of switching on Wi-Fi.
The possibility to change his well-known ways (in the console) does not (returns an error).
I think to change the system function that generates this dynamic mac address that it generates is always the same, or read from a file.
Question - how complex is this task that is needed?
The firmware is, of source, of course not.
I suppose that any command-line utility that returns the Mac address only calls the system function, which perhaps is compiled in a separate file and library to work with the network, for example.
And for example this file traversal or replace others.