Issue #2025: Enable to recreate the EFS partition completely from scratch
Find offset and encoding of IMEI in the EFS for libsamsung-ipc
Updated by Denis 'GNUtoo' Carikli 7 months ago
Libsamsung-ipc already has a tool to compute the checksum of the EFS nv_data.bin files, so we can change their content.
The idea would be to write a tool to restore the EFS.
As the EFS is usually printed under the battery, users would lookup the EFS there and would give that to the tool.
Some XDA threads have probably the information for various devices.
It would be interesting to have information for any of the devices that are or could be supported by libsamsung-ipc, so if anyone has links to that it would be nice to post it here.
Updated by Denis 'GNUtoo' Carikli 5 months ago
However the only device with an XMM616 I have is the Galaxy S, and it's EFS is completely gone. Because of that I wasn't able to manage to verify that the original tool or my modifications are supposed to work.Also once the nv_data.bin has been rebuilt from LineageOS, I still wasn't able to change the IMEI:
- Some fields weren't set, I could clearly see things like 'REV__' and 'Not Active'
- The IMEI is 004999010640000 which is the default IMEI
- The IMEI field was reset to 0xFFFFFFFF in the first RFS messages right after restarting the Replicant RIL
- After changing the IMEI, I also tried changing 'Not Active' and many other fields, adjusted the checksum, and here again the IMEI fields was overwritten with 0xFFFFFFFF.
- I tried setting the IMEI to 004999010640000 with the tool, and here again the field was changed to 0xFFFFFFFF again, probably even after trying to change some fields like 'Not Active' too.
edit1: add more background.