How to recover IMEI on a Moto G5 Plus

Need help to recover the IMEI on a Moto G5 Plus after reflashing the stock ROM? If your IMEI is showing as zero and you need help fixing it keep reading.

I recently purchased a Moto G5 Plus XT1687 64GB / 4GB used phone to replace my Galaxy S5. Without making an EFS backup, I flashed various Potter custom Android ROMs to the device which failed to work with the MVNO I use (Tello) on the Sprint network. After several frustrating hours, I followed the instructions here: https://forum.xda-developers.com/g5-plus/how-to/solution-to-flash-stock-romfactory-t3691396 and ended up without a cell signal. A quick look at the IMEI number showed it was zero from the Android “Settings->About phone->Status->IMEI Information” menu. This is a well known problem although the solution isn’t well documented.

Here is how I fixed the empty IMEI number on my G5 Plus and restored service on Sprint MVNO Tello network.

IMPORTANT: this guide is for a US based phone. There are different FW images for non-US phones. Only proceed with a US based unlocked retail (non-Amazon ad) phone.
DISCLAIMER – Proceed at your own risk and peril – don’t blame me if you brick your device.

1) First follow this guide to restore stock ROM
2) If you have service, just stop here and be glad. You are done. If you don’t have service, continue on.
3) Check your IMEI by navigating as follows: Settings->About phone->Status->IMEI Information
4) If your IMEI isn’t zero, then stop and start googling for another solution, what follows won’t help you.
5) If you have a backup of your EFS partition from when things worked, congrats, you just saved yourself a bunch of work and can skip down to step 12
6) You’ll need to flash the potter pixel image over the stock ROM. XDA Potter Pixel Experience ROM
7) With potter experience, you will likely not have service, but you’ll have an IMEI. Check it now to make sure it isn’t zero and continue.
7) Also flash TWRP recovery TWRP Potter Official Download page
8) From power off state, boot into the recovery image (TWRP) by holding down volume and power until fastboot menu appears. Then choose Recovery to get into TWRP.
9) Make a backup of your EFS partition from within TWRP.
10) Use ADB to copy it from your phone to your PC (adb pull)
11) Now reinstall the stock Moto G5 Android image again. You should be back to where you were at step 1, but now with a good EFS backup.
12) You’ll probably need to reflash TWRP (see step 7) again since stock reflash wipes that out.
13) Boot into TWRP recovery and push your EFS backup using adb push to the phone.
14) From within TWRP restore the EFS partition you just copied back to your phone.
15) Take a deep breath, and reboot your phone. You should now boot back into stock rom with a proper IMEI showing in the device and service should resume.

Good luck, I hope this might help you. Leave me a comment if you need help or have questions.