Fix SOS / No Service / Emergency Calls Error in MIUI CM7 ROM

Lately, I gave a try to MIUI ROM based on Cynogen Mod Kerel and I would say it’s awesome! Common problem after flashing MIUI ROM on Samsung Galaxy S i9000 is Mobile Network unavailable. Though Network names are shown but you can’t register and Phone is on SOS or Emergency Calls only Mode.

First thing first- Confirm that you are not on Flight Mode / Airplane Mode. If so, disable it by long pressing Power Key. Move on to next if that didn’t fix your problem.

It is said that Radio / Modem version is not compatible which is causing problem but that’s not an issue.

Check IMEI in phone information under settings, if it reads 004999010640000 then you are victim of fake IMEI. Mobile network doesn’t allow registration if you are requesting from this IMEI code. So, here’s how you can fix:

How to fix Fake IMEI and restore original EFS

Case 1: I already have backup of EFS which is not tampered.

Tools required– Android Terminal and EFS Backup

  1. Copy the file from the backup (efs-backup.tar.gz)
  2. Paste the above backup file in Internal SD Card and Unzip it.
  3. From the extracted directory, paste nv_data.bin and nv_data.bin.md5 on root.
  4. Open Android Terminal Emulator and run these commands
    su
    cp /sdcard/nv_data.bin /efs/nv_data.bin
    rm -rf /efs/nv_data.bin.md5
  5. Power off your phone and remove SIM Card.
  6. Power ON and start ADB Terminal to run these commands.
    su
    busybox chown 1001:1001 /efs/nv_data.bin
  7. Restart Phone inserting SIM Card this time.

Case 2: I don’t have any EFS Backup or don’t know about it.

Tools Required– Android Terminal, BusyBox and Hex Editor

  1. Using Root Explorer, navigate to efs folder and take backup of all files to any new folder in SD card.
  2. While still in this directory make a copy of just the nv_data.bin and the paste is either in the root directory.
  3. Open Hex Editor Application and open the copy of nv_data.bin
  4. Click menu button and Jump to Address- 0188008 which will take you to line 00188008
  5. Edit the last or 8th Block (last column of green text).

    Click in the 8th box and edit it so that it reads 41.
  6. Use menu to jump to address again and Enter 0188010
    Here you need to edit Block 1 and Block 2 of line 0018010:
    LINE 0018010
    Block 1 = 54
    Block 2 = 54
    (text at right should now read TT….SG)
  7. Lastly move on to LINE 00188020 and make changes as follows
    Block 2 = 41
    Block 3 = 54
    Block 4 = 54
    (the text at the right of your screen should now read AATT….)
  8. Save this file and Paste this file (overwrite) back to efs folder
  9. Delete all files therein with name .nv_data.bak, .nv_data.bak.md5 and the nv_data.bin.md5
  10. Open Terminal Emulator and run the following commands:
    su
    busybox chown 1001:1001 efs/nv_data.bin
    reboot

Phone will Reboot and you may now see that IMEI has changed to original and it no more shows SOS and Network is connected. Thanks to the tutorial thread by bames on XDA Forum.

email

About the Author

Rohit Langde is Founder and Editor-in-chief of Blogsolute. Tech Blogger by Passion & Profession | Mechanical Engineer by Qualification | Introverted Geek by Choice

1 Enlightened Reply

Trackback  •  Comments RSS

  1. Sabin says:

    Hi Rohit,
    Thanks for the well written steps. I tried the same on GalaxyR but still IMEI remains 004999010640000 and network is refusing to register. Could you explain the significance of the values that we are entering at those addresses? Why it has to be ATT at those two places? and how would changing those letters restore the IMEI?

    Greatly appreciate any help.

    Sabin

Post a Reply

Your email address will not be published. Required fields are marked *

Top