Imagine that you’re using a smartphone as advanced as Samsung Galaxy S5 but unable to make a call or connect to internet after flashing some mod or ROM. That’s outright ridiculous considering that the immediate usage of mobile device is to make calls and connect to the rest of the world. If you’re worrying that you hit the device’s antenna, you haven’t. Most of the cases this would be due to the corruption of the EFS partition on your device.

So, you’d wonder what’s a EFS partition and how it’s related to broken connectivity on your device. As most of might have already known, every device is tagged with an unique IMEI (International Mobile Equipment Identity) number which identifies the device when connecting to a mobile carrier making it mobile operations secure and spam free. Also, the Wireless MAC address is responsible for the router to identify the mobile device and assign an unique IP address. So if you mess with these little guys, you’ll end with a device with no connectivity.

Samsung devices store the unique and confidential information like IMEI, Wireless MAC address, product code, system ID and NV data. Some of the information is encrypted and stored in the nv_data.bin file, so any fiddling with this information may result in such connectivity issues. Sometimes during a ROM/patch installation, the EFS partition or the nv_data.bin file gets corrupted, so it’s a good idea to backup the EFS and NV data so that you can restore them whenever you run into any problem.

Some 3rd party apps does the same but there was no solid app that was proven to work perfectly in all cases. So, we are going to do the things in the old school way with all the commands. But don’t worry, it’s not all Greek as you will just dump few images on your SDcard and later you’re going to restore them. This method needs root permissions on your device and we suppose all the users who are reading this guide have already rooted their devices.

The EFS partition structure is same for all the Galaxy S5 devices except for the SG-900H variant. So, we’ll provide a generic process for all the Galaxy S5 devices and then we will treat the SG-900H separately. So without any further ado, let’s play with some commands.

Backup EFS on SM-G900F/T/P/A/I/M/W8 variants:

Download terminal emulator app from the Google Play store and install it.

[googleplay url=”https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en_GB”] You can use the adb shell if you wish, the commands will be same in both the cases. Open the app and type the following command in the prompt: su This would prompt for root permissions, grant them if you haven’t already. Now all we need is to dump the EFS partition on your device’s storage. You can do this by executing the following commands one by one: dd if=/dev/block/mmcblk0p12 of=/mnt/sdcard/efs.img.ext4 dd if=/dev/block/mmcblk0p13 of=/mnt/sdcard/modemst1.bin dd if=/dev/block/mmcblk0p14 of=/mnt/sdcard/modemst2.bin Please be careful while typing the commands as a single typo would pop crazy errors. Now you will find the following three files in the root of your internal memory. efs.img.ext4 (20 MB) m9kefs1.bin (4 MB) m9kefs2.bin (4 MB) m9kefs3.bin (4 MB) Copy these files to a secure location on your PC in case you need it any time in the future.

Restore EFS on SM-G900F/T/P/A/I/M/W8 variants:

Open terminal emulator and acquire root permissions by typing the su command. Make sure that you have the three files that you have backed up earlier are in the root of your device’s internal storage. Now execute the following commands one-by-one in the terminal emulator to restore the EFS partition and the NV data. dd if=/mnt/sdcard/efs.img.ext4 of=/dev/block/mmcblk0p12 dd if=/mnt/sdcard/modemst1.bin of=/dev/block/mmcblk0p13 dd if=/mnt/sdcard/modemst2.bin of=/dev/block/mmcblk0p14 That’s it, you’ve successfully restored the EFS partition on your Galaxy S5. Reboot your device for the changes to apply.

The SM-G900H variant is a little different in terms of the EFS partition structure as we get four files instead of three, just follow the below procedure to backup & restore EFS & NV data on Galaxy S5 SM-G900H.

Backup EFS on SM-G900H variant:

Download terminal emulator app from the Google Play store and install it.

[googleplay url=”https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en_GB”] You can use the adb shell if you wish, the commands will be same in both the cases. Open the app and type the following command in the prompt: su This would prompt for root permissions, grant them if you haven’t already. Now all we need is to dump the EFS partition on your device’s storage. You can do this by executing the following commands one by one: dd if=/dev/block/mmcblk0p3 of=/mnt/sdcard/efs.img.ext4 dd if=/dev/block/mmcblk0p4 of=/mnt/sdcard/m9kefs1.bin dd if=/dev/block/mmcblk0p5 of=/mnt/sdcard/m9kefs2.bin dd if=/dev/block/mmcblk0p6 of=/mnt/sdcard/m9kefs3.bin Now you will find the following four files in the root of your internal memory. efs.img.ext4 (20 MB)

m9kefs1.bin (4 MB)

m9kefs2.bin (4 MB)

m9kefs3.bin (4 MB) Copy these files to a secure location on your PC in case you need it any time in the future.

How to Restore EFS on SM-G900H variant:

Open terminal emulator and acquire root permissions by typing the su command. Make sure that you have the four files that you have backed up earlier are in the root of your device’s internal storage. Now execute the following commands one-by-one in the terminal emulator to restore the EFS partition and the NV data. dd if=/mnt/sdcard/efs.img.ext4 of=/dev/block/mmcblk0p3 dd if=/mnt/sdcard/m9kefs1.bin of=/dev/block/mmcblk0p4 dd if=/mnt/sdcard/m9kefs2.bin of=/dev/block/mmcblk0p5 dd if=/mnt/sdcard/m9kefs3.bin of=/dev/block/mmcblk0p6 That’s it, you’ve successfully restored the EFS partition on your Galaxy S5. Reboot your device for the changes to apply.