[Q] Anyway to get new Kernel with different MAC Address? - HD2 Android Q&A, Help & Troubleshooting and Genera

Can anyone help compile a new kernal to read the MAC address from the startup.txt or have a different value then 00:11:22:33:44:55? Or am I oversimplifying the issue... I have 3 HD2 for each of my family member and loaded Android onto them. However only 1 device can access the wifi at a time due to having the same MAC address. I have been trying for the past few days to learn git to download the source and compile the kernel but I was using windows and MAKE doesn't like windows too much. Any help would be appreciative, thank you.

This sounds like a great question. Does it occur on diff builds?
Sent from my HTC Desire using XDA App

Yes, this occur on different builds. One is FroyoStone and the others are on darkstone v2.1.

i have it on mattc sense and i cant use wifi at school

There must be members who can point out the right direction to solve this very legitimate question. I'd like to know.
edit
Adding
Code:
set cmdline "WiFi.mac=XX:XX:XX:XX:XX:XX"
to startup.txt (where XX:XX:XX:XX:XX:XX is your own MAC found in WM) didn't make any impact, but I guest the OP already found that out.
/edit

it can be done, really easy actually..
in the script that turns on the wifi. all you have to do is before the wifi is turned on set the mac by ifconfig..
checking out the init.rc file i saw this
# wireless properties
setprop wifi.interface eth0
you might try to add under this
ifconfig eth0 down hw ether 00:00:00:00:00:01
then reboot..
i would do it but i dont have time for testing right now.. it might crash your phone
Edit, these files are located in the roofs.img
you have to mount it with linux to edit it.

Holy Thread Revival Batman!
Did you guys have any luck on working out how to change the MAC address? It would be fantastic to get it my real MAC back.

Related

Can't connect to Eduroam

I've been trying to connect to my university Wifi (eduroam) for quite a while now- but having no luck at all. Is there anything special I need to do to get this working? Really need wifi on my htc hero while im at uni Help please.
may i ask what uni?
wifi helper on the market should be able to configure it although i couldn't get it to work with my hero. so ive JUST configured the wpa_supplicant.conf manually for eduroam at UCL...
since im not on campus atm i will report back results tomorrow to see if it works
my_space said:
may i ask what uni?
wifi helper on the market should be able to configure it although i couldn't get it to work with my hero. so ive JUST configured the wpa_supplicant.conf manually for eduroam at UCL...
since im not on campus atm i will report back results tomorrow to see if it works
Click to expand...
Click to collapse
Hahh!! Im UCL too!
university shouldn't matter, eduroam is a multi-university service
it certainly worked on my hero, though I can't check that now (don't work there any more)
security wpa (or wpa2, can't remember) enterprise, eap PEAP, subtype MSCHAPv2
ok ive got eduroam to work
you will need to download the GTE CyberTrust Global Root certificate in pem format ( i have renamed it to eduroamcert.pem below)
these are the settings for wpa_supplicant i have used to get it to work:
Code:
network={
ssid="eduroam"
proto=WPA
key_mgmt=WPA-EAP
pairwise=TKIP
group=TKIP
eap=TTLS
phase2="auth=PAP"
anonymous_identity="[email protected]"
identity="[email protected]"
password="XXXXXX
ca_cert="/sdcard/eduroamcert.pem"
priority=3
}
doesnt matter what priority you use.
edit::
forgot to mention XXXX for identity is not ur email alias, rather what you use to log in, in the computer rooms
my_space said:
ok ive got eduroam to work
you will need to download the GTE CyberTrust Global Root certificate in pem format ( i have renamed it to eduroamcert.pem below)
these are the settings for wpa_supplicant i have used to get it to work:
Code:
network={
ssid="eduroam"
proto=WPA
key_mgmt=WPA-EAP
pairwise=TKIP
group=TKIP
eap=TTLS
phase2="auth=PAP"
anonymous_identity="[email protected]"
identity="[email protected]"
password="XXXXXX
ca_cert="/sdcard/eduroamcert.pem"
priority=3
}
doesnt matter what priority you use.
edit::
forgot to mention XXXX for identity is not ur email alias, rather what you use to log in, in the computer rooms
Click to expand...
Click to collapse
Hiya,
Sorry for the insanely late reply lol- have been busy with coursework- hence not being able to come here often. Only been trying to follow your instructions here to get eduroam working on my Hero...but I'm struggling.
Can you please tell me how I install the GTE cybertrust cert into my hero?? Ive downloaded the file....it d'loaded as a zip file. Do I extract it...then move it to the hero sd card??
And to access wpa_supplicant i need to use the windows command window while the htc is hooked up with my pc in recovery mode right?? and then I write in the code you showed me?
hi mate, dont worry about all the stuff above, you dont need it to connect to eduroam. just follow the instructions here (obviously with your own uni's settings and not oxfords):
http://www.oucs.ox.ac.uk/network/wireless/services/eduroam/android/
Eduroam networks generally use the recommended EAP-TTLS/PAP as authentification, which is not supported by the GUI utilities. It is true that some places (Oxford is amazingly good with their network services) offer alternatives like PEAP/MSCHAP precisely because mobile devices are often lacking other options. It all depends on your local network setup.
I just got back to Cambridge, and Eduroam works fine with an Orange Hero.
Go to wifi settings:
EAP Type = PEAP
Sub Type = PEAPc0/MSCHAPv2
Username = CRSID email address (ie. [email protected]) - NB Case sensitive
Password = Network token available from https://tokens.csx.cam.ac.uk/ (need to log in with Raven to this page)
my_space said:
ok ive got eduroam to work
you will need to download the GTE CyberTrust Global Root certificate in pem format ( i have renamed it to eduroamcert.pem below)
these are the settings for wpa_supplicant i have used to get it to work:
Code:
network={
ssid="eduroam"
proto=WPA
key_mgmt=WPA-EAP
pairwise=TKIP
group=TKIP
eap=TTLS
phase2="auth=PAP"
anonymous_identity="[email protected]"
identity="[email protected]"
password="XXXXXX
ca_cert="/sdcard/eduroamcert.pem"
priority=3
}
doesnt matter what priority you use.
edit::
forgot to mention XXXX for identity is not ur email alias, rather what you use to log in, in the computer rooms
Click to expand...
Click to collapse
It would be interesting to know where to find this wpa_supplicant thing, so I could edit it.
My university uses same GTE_CyberTrust_Global_Root protocol with eduroam. I've tried PEAPv0/MSCHAPv2 didn't worked.
Originalas said:
It would be interesting to know where to find this wpa_supplicant thing, so I could edit it.
My university uses same GTE_CyberTrust_Global_Root protocol with eduroam. I've tried PEAPv0/MSCHAPv2 didn't worked.
Click to expand...
Click to collapse
i think what you think of is EAP-TTLS (the GTE_.. is just a CertificationAuthority, if i am not wrong). as it was said, you can edit the wpa_supplicant file, somewhere in /data/etc/wifi/, if remember correctly. you could also wait for the 2.1 update, which will bring native support for this EAP-type which works very well.
HugoEgon said:
i think what you think of is EAP-TTLS (the GTE_.. is just a CertificationAuthority, if i am not wrong). as it was said, you can edit the wpa_supplicant file, somewhere in /data/etc/wifi/, if remember correctly. you could also wait for the 2.1 update, which will bring native support for this EAP-type which works very well.
Click to expand...
Click to collapse
I've HTC Desire, so I believe it's already runing 2.1. Though it connects to eduroam, but web pages and other stuff doesn't work.
Had Nokia and iPhone, both automatically downloaded all security stuff connecting first time.. and Android OS has some strange issues with eduroam wi-fi.
Here is a fix realmb.com/2010/01/android-certificate-installer/ you can install any security certificate using this to Android 1.6 and above.
Soz to dig up an old thread but I think it's relevent..
I've been trying to get my hero (T-mob G2) onto eduroam for ages, and I wanted to make the additions to wpa_supplicant but I don't know how to get access to the file system - I only seem to be able to mount the sdcard and not anything higher. I haven't rooted my phone.. is this why?
Thanks for any help :/
w0ss4g3 said:
Soz to dig up an old thread but I think it's relevent..
I've been trying to get my hero (T-mob G2) onto eduroam for ages, and I wanted to make the additions to wpa_supplicant but I don't know how to get access to the file system - I only seem to be able to mount the sdcard and not anything higher. I haven't rooted my phone.. is this why?
Thanks for any help :/
Click to expand...
Click to collapse
Umm yes. You must root first, and then remount using adb remount for this to work.
Easiest way is to install a custom ROM on your phone, as that will give you root

[SCRIPT] Change Hostname v6 08/07/2012

This will also be the last update to this script for the foreseeable future. Someone else is more than welcome to take what is here and run with it though.
08-07-2012 fixed a few typos and problems with quotes.
01-29-2012 added some variables to check for the existence of things and get correct paths.
01-06-2012 fixed hostname path.
01-02-2012 Updated to truly work on all devices.
Check it out and let me know what you think.
Big thanks to cdesai for pointing out a nice little enhancement.
This is version 5 of this script.
This script is designed to change the hostname of your device so that you can access it through your network by name instead of android_0123456789ABCEDF.
Your device will also be able to be seen at your router by the new name as well.
Code:
#!/system/bin/sh
#change devName to whatever you want.
devName="changeMe"
#random variables
devHostPath=$(which hostname)
devGetPath=$(which getprop)
devSetPath=$(which setprop)
if [ "$($devGetPath net.hostname)" = "$devName" ]
then
echo "Device hostname does not need to be changed."
else
echo "Device hostname is being changed to $devName."
$devHostPath $devName
$devSetPath net.hostname $devName
if [ "$($devGetPath net.hostname)" != "$devName" ]
then
echo "Device hostname has not been changed."
else
echo "Device hostname has been successfully changed."
fi
fi
Download Hostname.sh
Download Hostname.sh to your device.
Use a text editor to change the "changeMe" in the script to whatever you want. [Keep the quotes]
Use Script Manager to run the script.
The script output will tell you if the command has completed successfully.
Once it has been run your device will be named whatever you change the "changeMe" to.
*Additionally, this script should be able to be run on any device without issues but I have only tested this on Galaxy Nexus AOKP and Droid Bionic Eclipse v3.0.
**Standard disclaimer, I am in no way responsible for ANYTHING that happens to your phone that you have done.
***This code is provided free of charge and is released with no warranty explicit or implied.
If you find this post useful or it helped in any way please hit the thanks button.
Can anyone confirm this worked for them? Doesn't seem to be working for me.
What's the output when you run it?
And when you run it a second time?
You can check at your router as well by logging into it and checking the DHCP leases.
Oh, I figured this was assumed, but you have to have root and run it as root.
Terror_1 said:
What's the output when you run it?
And when you run it a second time?
You can check at your router as well by logging into it and checking the DHCP leases.
Oh, I figured this was assumed, but you have to have root and run it as root.
Click to expand...
Click to collapse
It didn't work for me either, but your effort is much appreciated!
Not all roms will have bash, and even those which have it is mostly in /system/bin
Using /system/bin/sh would be the best way!
From my fingers to your eyez
Thanks,works perfect for me on the HTC EVO.
cdesai said:
Not all roms will have bash, and even those which have it is mostly in /system/bin
Using /system/bin/sh would be the best way!
From my fingers to your eyez
Click to expand...
Click to collapse
Good call.
I will get it fixed when I find a couple moments.
OP has been updated with the change, works fine on my bionic though untested on anything else.
Terror_1 said:
Good call.
I will get it fixed when I find a couple moments.
OP has been updated with the change, works fine on my bionic though untested on anything else.
Click to expand...
Click to collapse
Yet another idea, you can specify the host name while executing the script as an argument (quick changes )
You can use read devname and if it's empty you can get model no. From build.prop
From my fingers to your eyez
cdesai said:
Yet another idea, you can specify the host name while executing the script as an argument (quick changes )
You can use read devname and if it's empty you can get model no. From build.prop
From my fingers to your eyez
Click to expand...
Click to collapse
I left it static so that it can be run at boot and will always have the same name. The model could work but it is more for changing the name to something you want rather than being dictated what it will be.
Oh and depending on your model you could have a space or other special in it.
Hi everybody !
in the old version I have to follow the instructions, but when starting the Script Manager notice shall not be allowed and notice was not found, I'm using xperia arc s, please tell me why? sr my english is not good
Are you running this as root using the skull and crossbones icon?
Terror_1 said:
Are you running this as root using the skull and crossbones icon?
Click to expand...
Click to collapse
I just running as root, pls check pic
le_manhpro said:
I just running as root, pls check pic
Click to expand...
Click to collapse
Let me work on this a little and get back to you. It looks like you don't have busybox installed, which you "shouldn't" need.
What is your device?
[EDIT] Give the new version a shot and let me know how you make out.
Terror_1 said:
Let me work on this a little and get back to you. It looks like you don't have busybox installed, which you "shouldn't" need.
What is your device?
[EDIT] Give the new version a shot and let me know how you make out.
Click to expand...
Click to collapse
I just installed the update of your version but still does not work, do not know which step I did wrong, please guide the steps to install it?
I'm using the xperia arc S
I have attached pictures of my sr english is not good
le_manhpro said:
I just installed the update of your version but still does not work, do not know which step I did wrong, please guide the steps to install it?
I'm using the xperia arc S
I have attached pictures of my sr english is not good
Click to expand...
Click to collapse
I have many swear words for this.
There is nothing that you have done. Can you provide me with a link to the ROM you are using and I will take a closer look. Even if it's the last thing I do I will get this working.
Challenge accepted.
Terror_1 said:
I have many swear words for this.
There is nothing that you have done. Can you provide me with a link to the ROM you are using and I will take a closer look. Even if it's the last thing I do I will get this working.
Challenge accepted.
Click to expand...
Click to collapse
I'm using the original rom android 2.3.4, you can check here, hope you find ways to overcome sorry my english is not good
http://forum.xda-developers.com/forumdisplay.php?f=965
LG Revolution
On LG Revolution running GingerVolt 1.3, I had to change /bin/hostname to /system/xbin/hostname.
The script can be modified to determine the location of hostname command , rather than hardcoding the path.
gumnaam.sur said:
On LG Revolution running GingerVolt 1.3, I had to change /bin/hostname to /system/xbin/hostname.
The script can be modified to determine the location of hostname command , rather than hardcoding the path.
Click to expand...
Click to collapse
I am working on a V5 of this which should be released within the next 2 weeks that should address almost all issues. It works as is on some devices but not all.
I have also found from my testing that setting the hostname is inconsequential and will only appear when you run the hostname command.
gumnaam.sur said:
On LG Revolution running GingerVolt 1.3, I had to change /bin/hostname to /system/xbin/hostname.
Click to expand...
Click to collapse
Thanks! This is the path on the Galaxy Nexus (ICS 4.02) and i was able to get it to update successfully.
However, if this does not update the host name that is sent to my wireless router, the point of the exercise is moot to me. But at least I learned a little bit more about my phone!
This has been posted elsewhere, but to set the name set for the Wifi DHCP request:
Code:
echo yourphonehostname > /proc/sys/kernel/hostname
Obviously, this needs root. You can stick that in a new or existing script in /etc/init.d.
No need to reboot the phone for this to take effect. Stop and start wifi to get the phone to request a new DHCP lease. Note that if your phone was already connected to a router, then the new name might not show up immediately. You'll need drop the previous name from the router dhcp client table by either waiting for the lease to expire, rebooting the router or expiring the lease manually (e.g., in Tomato Admin GUI, click on the remaining lease time under lease column in the Status -> Device List page.)

Mac filtering and playing with ROMs

Hey guys. I know I'm new here and it's probably been answered somewhere, but I can't find it. Here goes - One of the WLAN networks I use most is protected by MAC filter. Yes, it's necessary. The thing is everytime I flash a new ROM I need to change MAC address in network configuration. Is there anything I can do to keep/set a constant MAC? A script or something?
My kernel is the latest Dorimanx kernel 6.4.
Sent from my HTC HD2 using XDA
Daycrawler said:
Hey guys. I know I'm new here and it's probably been answered somewhere, but I can't find it. Here goes - One of the WLAN networks I use most is protected by MAC filter. Yes, it's necessary. The thing is everytime I flash a new ROM I need to change MAC address in network configuration. Is there anything I can do to keep/set a constant MAC? A script or something?
My kernel is the latest Dorimanx kernel 6.4.
Sent from my HTC HD2 using XDA
Click to expand...
Click to collapse
I remember reading a thread where one guy had 2 HD2's and they both had the same ROM on it. And he wasnt able to connect both HD2s to his router because the router only would accept one MAC address. It wouldnt accept two mac addresses of the same value. I remember him being successful in changing the mac of one of them. But i went back to page 18 and couldnt find it again. Im trying to search but i cant find it -.-
EDIT: Found the thread,
use a root browser to change wifi mac address.I recommend root browser lite.Go to /system/etc/ folder.Find and open for editing the file "calibration" and in the first line you will see the wifi mac address.Put another one,save the file and you`re ready to go
Click to expand...
Click to collapse
But we are on CM7 not sense. So i found this but i havent tried it as i have no need. I havent found anything else so i hope that works.
(that's not what he means, i don't think, , i think he already knows how to change teh mac, but wants a script he can run once when he changes rom so that he always has the same mac for every rom, without having to manually edit it every time, something like provxml did for winmo.)
samsamuel said:
(that's not what he means, i don't think, , i think he already knows how to change teh mac, but wants a script he can run once when he changes rom so that he always has the same mac for every rom, without having to manually edit it every time, something like provxml did for winmo.)
Click to expand...
Click to collapse
Ohh well couldn't he just take his method already known and make an init.d script?
Sent from my GT-I9100 using Tapatalk
elesbb said:
But we are on CM7 not sense. So i found this but i havent tried it as i have no need. I havent found anything else so i hope that works.
Click to expand...
Click to collapse
Thank you very much for the reply, but I can't seem to find this file. I'm using rooted ES File Explorer and it's just not there. Should it be there in ICS too?

[Q] [P705] MAC address issue on Slim Bean 4.1.2 Build 3

Hi there,
First of all, this is my first thread and before asking for anything I want to thank every contributors to this forum as this forum has been really helpful to find out how to root my phone, install CWM and a custom ROM and fix some minor issues!
I have an Australian LG Optimus L7 P705. I was on ICS and wanted to upgrade to JB (stock update not available in Australia)
I installed Slim Bean 4.1.2 Build 3 a few weeks back on my phone which is awesome!
A few days back, I have done the same on my partner's P705. The ROM is working fine too.
But since, we both have Slim Bean installed on our phones, well I realised the ROM changed our MAC address to exactly the same.
As a result, we can't be connected to the house Wifi at the same time which is really annoying as we live together...
I have tried to create 2 separate networks and to use MAC Address spoofer but nothing worked.
Have I done something wrong when flashing Slim Bean or is just normal for a custom ROM to give the same MAC address to all of its users?
Is there any way we could still use the same ROM and get our original MAC Address back?
If there are no solutions, what custom ROM on JB 4.1.2 would you recommend as an alternative (I'm happy to change ROM if needed if I get the same speed and reliability as SlimBean) so we'd be on a different ROM from each other until we get a stable and fully functional version of JB 4.3?
Thank you to anyone who can help or try to help!
Anyone with a solution please?
I edited my first post so the problem is better described.
Thanks!
Hi Everyone,
I found the solution by myself so I will share it in case other people are in the same situation as me.
The Wifi MAC Address on LG P700/705 using Slim Bean (maybe the same on other ROM, please test) is located in:
/system/etc/firmware/wlan/volans/WCN1314_qcom_cfg.ini
You will need to change the MAC address in this file with the text editor from any root explorer app.
To be able to write on the /system folder, I simply used "mount /system (rw / ro)" app from Google Play: https://play.google.com/store/apps/details?id=com.beansoft.mount_system&hl=en
Just press Mount r/w and it will work (no need to get any terminal emulator or adb shell I couldn't understand myself, you will still need to be rooted and grant superuser to the app of course)
Modify the MAC address in the file above to the MAC address of your choice (there are four different line with MAC addresses, I have put the same number in all of them)
Save the file
Restart your Wifi on your phone
You will have the MAC address you specified as your new MAC address.
I tried restarting Wifi and phone a few times and it seems to be a permanent fix.
PS: If I were you, I would still press "Mount r/o" on the mounting app after changing the MAC address to put the /system folder back into "read-only" just as a safety thing.
I hope I helped someone!

[Q] PERMANENTLY changing MAC address (Samsung Galaxy S5 G-900H)

Hi,
First off i want to state that i have some knowledge of the legal issues concerning changing of MAC addresses and the sole reason that i want to do this is because privacy is a big issue for me and i have a right to enjoy my right. Therefore, any posts or argument concerning such are requested to be posted elsewhere where the topic expressly states so.
Also, please treat me like a newbie when it comes to developing and programming of any kind. I have a very shallow understanding of kernel and the likes.
I am using a rooted S5 G-900H(Exynos with BCM 4534 chip)
Running on 4.4.2 Kitkat stock ROM and Kernel
So without further ado, here is what i have found so far
The MAC address is reflected in a hidden file called .mac.info in the /efs/wifi/ folder. However, editing the file does not change the actual MAC address in anyway. A phone reboot or even turning the wifi on/off will just change it back to the original.
I dumped partitions from /dev/block/ on to my SD card and copied it to my laptop. I searched through the files and found the MAC address in the efs.img partition.My wifi was turned off and the plane was in airplane mode. I modified it and flashed it back using the dd command from terminal emulator on my phone(this can also be done through adb shell but im guessing if you know what that is then you obviously know how to do it).
I rebooted the phone and everything seemed fine. The Wifi MAC address in the status screen in settings displayed my edited address. The .mac.info file also displayed the same. The problem is that it reverted back to the original as soon as i turned on the wifi. The MAC address values in the .mac.info file, status screen and the efs partition from the /dev/block/, all changed back to the original.
I have read that for most phones the important information unique to that particular phone(like IMEI, wifi/BT MAC address, unlock codes and so on) is stored in the NV_DATA.bin file, but everything is encrypted. Also there are only guides as to searching unlock codes and such, so i tried to search for hash blocks randomly using Hex Editor but there was nothing of the sort and the only hash block i can recognize is the one with AES-Encryption as shown from another forum on this site.Maybe it is another type of encryption, but that was another dead end for me.
Then i tried to search and edit various files and kernels as such, but there are no kernels that directly offer this customization. Tried to edit init.tuna.rc but there was no such file in the root directory. Searched init.goldfish.rc and init.wifi.rc and found nothing, but i did see init.svc.macloader mentioned and since i didnt want to mess with programs in the /system/bin/file i left it as is.
Also tried to search through PARAM partition using Hex Editor but nothing was there. Did the same for RADIO and BOOT but i dont think i did find anything major there.
tried to edit /sys/class/net/wlan0/address but it didnt let me, even though i was mounted as r/w. Flashing through dd command on terminal also resulted in permission denied. I was only able to view or dump it. I thought that may have been the source, but modifying the MAC address through the busybox if config command was reflected on the file. which obviously means that its not.
Looked through the dmesg (kernel) log and found a few interesting things but i dont know how to interpret them and what to do with it either. Ill post it later.
There is no NVRAM.txt the only ones in place of it i have are nvram_mfg.txt, nvram_mfg.txt_wisol, nvram_mfg.txt_semco3rd, nvram_net.txt, nvram_net.txt_semco3rd, nvram_net.txt_wisol.
I did do a bit more searching and editing, but i dont recall them right now.
Now, After all that what i think is this.
There is a source for the original MAC address somewhere either hardcoded in the Broadcom chip or somewhere in the partitions under a layer of encyrption.
The Original MAC address is only accessed when the wifi is turned on and not on reboot. This means it is not in any file, program or script that activates on boot, so only scripts and files accessed and imported during the turning on of wifi
must have it. Also while wifi is on and running, busybox ifconfig command changes the MAC address succesfully albeit temporarily, although the change is not seen on the status screen and but it does on the .mac.info file.
Any help from anyone, especially from developers with knowledge of Android kitkat ROm and kernels would be very much appreciated.
Alpaca_Bandit said:
Hi,
First off i want to state that i have some knowledge of the legal issues concerning changing of MAC addresses and the sole reason that i want to do this is because privacy is a big issue for me and i have a right to enjoy my right. Therefore, any posts or argument concerning such are requested to be posted elsewhere where the topic expressly states so.
Also, please treat me like a newbie when it comes to developing and programming of any kind. I have a very shallow understanding of kernel and the likes.
I am using a rooted S5 G-900H(Exynos with BCM 4534 chip)
Running on 4.4.2 Kitkat stock ROM and Kernel
So without further ado, here is what i have found so far
The MAC address is reflected in a hidden file called .mac.info in the /efs/wifi/ folder. However, editing the file does not change the actual MAC address in anyway. A phone reboot or even turning the wifi on/off will just change it back to the original.
I dumped partitions from /dev/block/ on to my SD card and copied it to my laptop. I searched through the files and found the MAC address in the efs.img partition.My wifi was turned off and the plane was in airplane mode. I modified it and flashed it back using the dd command from terminal emulator on my phone(this can also be done through adb shell but im guessing if you know what that is then you obviously know how to do it).
I rebooted the phone and everything seemed fine. The Wifi MAC address in the status screen in settings displayed my edited address. The .mac.info file also displayed the same. The problem is that it reverted back to the original as soon as i turned on the wifi. The MAC address values in the .mac.info file, status screen and the efs partition from the /dev/block/, all changed back to the original.
I have read that for most phones the important information unique to that particular phone(like IMEI, wifi/BT MAC address, unlock codes and so on) is stored in the NV_DATA.bin file, but everything is encrypted. Also there are only guides as to searching unlock codes and such, so i tried to search for hash blocks randomly using Hex Editor but there was nothing of the sort and the only hash block i can recognize is the one with AES-Encryption as shown from another forum on this site.Maybe it is another type of encryption, but that was another dead end for me.
Then i tried to search and edit various files and kernels as such, but there are no kernels that directly offer this customization. Tried to edit init.tuna.rc but there was no such file in the root directory. Searched init.goldfish.rc and init.wifi.rc and found nothing, but i did see init.svc.macloader mentioned and since i didnt want to mess with programs in the /system/bin/file i left it as is.
Also tried to search through PARAM partition using Hex Editor but nothing was there. Did the same for RADIO and BOOT but i dont think i did find anything major there.
tried to edit /sys/class/net/wlan0/address but it didnt let me, even though i was mounted as r/w. Flashing through dd command on terminal also resulted in permission denied. I was only able to view or dump it. I thought that may have been the source, but modifying the MAC address through the busybox if config command was reflected on the file. which obviously means that its not.
Looked through the dmesg (kernel) log and found a few interesting things but i dont know how to interpret them and what to do with it either. Ill post it later.
There is no NVRAM.txt the only ones in place of it i have are nvram_mfg.txt, nvram_mfg.txt_wisol, nvram_mfg.txt_semco3rd, nvram_net.txt, nvram_net.txt_semco3rd, nvram_net.txt_wisol.
I did do a bit more searching and editing, but i dont recall them right now.
Now, After all that what i think is this.
There is a source for the original MAC address somewhere either hardcoded in the Broadcom chip or somewhere in the partitions under a layer of encyrption.
The Original MAC address is only accessed when the wifi is turned on and not on reboot. This means it is not in any file, program or script that activates on boot, so only scripts and files accessed and imported during the turning on of wifi
must have it. Also while wifi is on and running, busybox ifconfig command changes the MAC address succesfully albeit temporarily, although the change is not seen on the status screen and but it does on the .mac.info file.
Any help from anyone, especially from developers with knowledge of Android kitkat ROm and kernels would be very much appreciated.
Click to expand...
Click to collapse
As you said, ifconfig changes it, there are several apps that do it for you as well, chainfire also released a mac randomizer app. You also noted it's hardwired in, so i would just have a startup script that changes it if i were you, there night be a better way to do it though.
Sent from my Tw5ted SM-G900A using Tapatalk
Yes, I have been using pry-fi as an option but the thing is that when i'm watching videos or downloading large sized files from playstore or other file hosting sites, it starts to turn my wifi on/off several times before becoming stable and logging in to the AP again. I have tried macchanger also and both misbehave after an interval of time. Thats why im trying to search for a more cleaner way to do it.
Running an init script would be nice but i have no idea how to do that. But there should be a script that only runs when turning on the wifi right? Would you know where this file was located and how to modify it? and if so please tell me.
Alpaca_Bandit said:
Yes, I have been using pry-fi as an option but the thing is that when i'm watching videos or downloading large sized files from playstore or other file hosting sites, it starts to turn my wifi on/off several times before becoming stable and logging in to the AP again. I have tried macchanger also and both misbehave after an interval of time. Thats why im trying to search for a more cleaner way to do it.
Running an init script would be nice but i have no idea how to do that. But there should be a script that only runs when turning on the wifi right? Would you know where this file was located and how to modify it? and if so please tell me.
Click to expand...
Click to collapse
You can just use init.d to make the script, shell scripting isnt very hard and i won't give you a tutorial here. Also as noted many places when researchng changing a mac on android, you can't connect to secured APs, or it won't be easy at least. As i said before, there may be a better way to do this, but i do not know it.
Sent from my Tw5ted SM-G900A using Tapatalk
Ok, thanks a lot. Running a script might just be cleaner than anything else I have right now. I'll still be on the lookout for other ways though. Call me hard to please.
Btw, I think the reason most custom MAC addresses(if they do get changed) are too different than the ones registered on the chip. I've found that changing only the 2nd digit out of the 12 in the address, to an even hexadecimal number like 2 or A, works for me on my pc.
Also you need to forget the networks on your pc or android as soon as you change it. Doesnt matter if you have the password or not, it doesnt connect. Must be something to do with the saved info about the ap on the phone that messes it up.
Alpaca_Bandit said:
Ok, thanks a lot. Running a script might just be cleaner than anything else I have right now. I'll still be on the lookout for other ways though. Call me hard to please.
Btw, I think the reason most custom MAC addresses(if they do get changed) are too different than the ones registered on the chip. I've found that changing only the 2nd digit out of the 12 in the address, to an even hexadecimal number like 2 or A, works for me on my pc.
Also you need to forget the networks on your pc or android as soon as you change it. Doesnt matter if you have the password or not, it doesnt connect. Must be something to do with the saved info about the ap on the phone that messes it up.
Click to expand...
Click to collapse
I know on for example ddwrr and even some official router firmwares they allow you to spoof your mac, may be worth looking into how they do it, but i have a suspicion it might be done with a script.
Sent from my Tw5ted SM-G900A using Tapatalk
Hard Wired?
I have been messing with 2 Alcatel Ideal 4060a, (because I bricked the first one i had).
After bricking the first 4060a I had, (wiping all partitions), I bought a second, (so I could install TWRP on it back it up and restore the backup onto the first).
After Restoring the backup of the second onto the first, all was good until I tried to get them online together.
When one connected it knocked the other offline, because they both share the same MAC address.
This is my problem and I wish the Mac Addresses were hard wired, then i wouldn't have this problem.
This is good news for anyone who wants to know if mac addresses are indeed hard wired. They are not, (at least not in the 4060a).
Hope This Helps.
gscripting
MAC for bt and wifi reside in the EEPROM or NVRAM. And that is not editable.
To put it simply you can't change it. Only spoof it. And if you know it's not legal you probably shouldn't be asking.
Reported Is different from original
gscripting said:
I have been messing with 2 Alcatel Ideal 4060a, (because I bricked the first one i had).
After bricking the first 4060a I had, (wiping all partitions), I bought a second, (so I could install TWRP on it back it up and restore the backup onto the first).
After Restoring the backup of the second onto the first, all was good until I tried to get them online together.
When one connected it knocked the other offline, because they both share the same MAC address.
This is my problem and I wish the Mac Addresses were hard wired, then i wouldn't have this problem.
This is good news for anyone who wants to know if mac addresses are indeed hard wired. They are not, (at least not in the 4060a).
Hope This Helps.
gscripting
Click to expand...
Click to collapse
More info relative to these 2 phones
I installed an app called Change my Mac.
It Lists:
Original MAC 12:34:56:78:90:ab
Current MAC ff:ee:dd:cc:bb:aa
They Are Different.
I thought the original MAC address it's showing, was the one written in the EEPROM or NVRAM,
but it turns out, after installing Change My MAC on the other phone also, its lists the same Original and Current MAC addresses as the first phone.
The Current MAC address listed is the one reported in settings and my network.
I Use Change My MAC to set the reported MAC to the original every time the phone boots using Tasker on only one of them.
Using Change My MAC, the change lasts til boot.
Just passing it on for those that might be interested.
When I get link privileges, I'll add a screenshot of Change My MAC.
gscripting

Categories

Resources