Skip to main content

Nexus 5 : IMEI 0 issue

Nexus 5 : IMEI 0 issue

Sometime back, an update (believe me, an OTA update) blocked all network calls on my mobile. After struggling for a while, I came to know that IMEI of my phone was set to 0. Tried many solutions (resetting the phone, clearing cache, even installing fresh OS), but none came to my rescue.

Thanks to a guy (sorry for not crediting), who uploaded instructions in Russian language, and with the help of Google Translate, my phone is up and running again.

Note: Before proceeding any further, keep in mind that you need IMEI of your phone (check on back panel)

Download related files from here.
Here is the procedure that I've followed:
  1. Install the LG driver LG
  2. Install QPST
  3. Copy the entire folder EFS Professional to C drive
  4. Unpack the archive Nexus5 the root of drive C.
  5. Using WUG Nexus toolkit:
    1. Make sure running stock Android 5.0.1
    2. Rooted
    3. If necessary, you can reset the IMEI using backups zero IMEI from the archive. To do this, simply make a backup of your EFS in TWRP, then replace in the folder's backup your files on the distribution of similar make and restore EFS.
      1. If it is already erased and writes 0, then just skip this step.
    4. Advanced tools: 
      1. Install boot(kernel) 5.0.0_diag_BOOT.img from folder
      2. open a command window, and run the following command
        • adb shell > su > setprop sys.usb.config diag,adb
      3. This activates the diagnostic mode on the phone and will be available operations with nvram through com port.
  6. Open EFS Professional:
    1. Click on Qualcomm NV Tools, Hit connect and go to Secure Ops.
    2. Hit Read and check off imei and meid, and enter imei and meid (meid is just imei without last two digits)
    3. Hit Write
    4. Reboot phone and check imei by typing *#06# 
    5. If imei still 0 > do b above again, then Read (note esn now appears), then Write again (ignore the errors) > Reboot and check, should be working.
    6. Repair 3G/LTE:
    7. Install the diagnostic bootloader again and run the setprop shell command again
    8. Open QPST Configuration from Windows programs
    9. Click Ports tab, Add new port, deselect secure ports only and should now see the serial port with phone connected (if not, then the serial drivers aren’t installed properly à Use WUG driver support to remove all android drivers and plug the phone in again to install from windows update)
    10. Click Start Start Clients > Software Download
    11. Go to Backup tab and click Start Leave SPC with all zeros (note file location of backup)
    12. Go to Restore tab, check “Allow phone / file ESN mismatch”, restore from the NEXUS5.qcn (from the folder), again leave SPC with all zeros here
      • Now click Browse next to QCN File, locate the backup from j above and now enter in SPC: 308508 > Start
    13. Reboot phone > everything should be working!
  7. Don't forget to make a complete EFS backup now!!!

Comments

Popular posts from this blog

Find an old archived link on web

In recent past, I'm need of a tool, to which the provider no longer provides the link to download. Previously I've blogged about Openlogic , which serves this purpose. Openlogic contains unofficial fork of the original repository, and to be precise, I haven't found the tool I'm in search of. I found Internet Archive : Wayback Machine , while searching for it. It has got 412 billion stored pages and you may look into older versions of any website or you can get link to any software/tool which used to be a website. All you have to do is, provide a link or part of a link to search. For example, to know how my website used to be in 2013, just type http://www.thechaithanya.com and you can see a calender with some of the dates highlighted, on which they had the snapshot of my website. You can even provide a part of link. For example, to get the link of older version of Android ADT, search using http://dl.google.com/android/adt/* You can find a set of links and...

Setting JVM Heap size at runtime

To set the JVM heap size, compile the program normally. For example, consider Runtime.java program. Compilation: javac Runtime.java Now, to set minimum heap size(let, 16 MB) required by JVM, run the program as follows : java -Xms16m Runtime  We can also restrict maximum size(let 512 MB) utilized by JVM: java -Xmx512m Runtime  Both these options can also be combined to specify upper and lower bounds of JVM heap size: java -Xms16m -Xmx512m Runtime Now you can run a program that requires huge computational space.

Reverse Engineering : Extract contents from .img file

Unyaffs is a program to extract files from a YAFFS2 file system image. Currently it can only extract images created by mkyaffs2image. Download the source from here . Compiling : Extract the contents into a suitable place and run the following command make Usage : unyaffs [options] <image_file_name> [<extract_directory>] Options: -d detection of flash layout, no extraction -b spare contains bad block information -c <chunk size> set chunk size in KByte (default: autodetect, max: 16) -s <spare size> set spare size in Byte (default: autodetect, max: 512) -t list image contents -v verbose output -V print version Source: Official github repository