/Motorola-Moto-E-condor-unbrick

Tools for Motorola Moto E XT1021, XT1022, XT1025 condor unbrick

Primary LanguageCMIT LicenseMIT

Motorola Moto E (condor) Unbrick

Tools for Motorola Moto E XT1021, XT1022, XT1025 condor unbrick

:octocat: How to contribute?

All contributions are welcome! Code, documentation, graphics or even design suggestions are welcome; use GitHub to its fullest. Submit pull requests, contribute tutorials or other wiki content -- whatever you have to offer, it would be appreciated!

Please read CONTRIBUTING.md for details on contributing.

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

:octocat: Authors

See also the list of contributors who participated in this project.

📖 Proof of concept

Proof that the methods work can be found in the proof folder here.

🔱 Questions, FAQ, etc

Please check my XDA DevDB post here.

Check here first on my XDA DevDB project before proceeding: https://forum.xda-developers.com/moto-e/general/unbrick-hard-bricked-moto-e-t3599214

❗ Prerequsite aka requirements:

Please read Prerequisite file for details.

📖 How to contact me?

Start a discussion here in the right category.

📖 How to unbrick?

Please check my XDA DevDB project here before checking GitHub here.

📜 Changelog

I frequently update and patch things in this repository as I get time. Be sure to check the changelog here.

Read through my XDA DevDB post in the link above before proceeding any further.

A hard bricked device is a device that shows 'QHSUSB_DLOAD' in the Windows Device Manager and doesn't show anything on display.

❗ Moto E brick happens when:

  • Downgrading to stock 4.4.2 from stock 5.0.x (If correct bootloader is present, no issues)
  • Take OTA from stock 4.4.2 to stock 4.4.4 (If correct bootloader is present, no issues)

Fastboot is three different things with the same name: A protocol for communication between your phone hardware and a computer, software that runs on the phone when in fastboot mode and the executable file on the computer you use to make them talk to each other. Not all phones have a fastboot mode that the user can access. Because fastboot starts before android and even when android isn't installed you can you it as an alternative of recovery mode in case recovery mode partition is corrupted.

📖 File IDs and descriptions (Please note OEMs in many cases change default names):

  • 8x10_msimage.mbn / motoboot.img - bootloader
  • MPR8x10.mbn - flasher, ram (the format was hex before MSM/MPRG8974)
  • rawprogram0.xml - partition table definition, it differs if we have a 64GB phone or 32GB or a 16GB, name differs as rawprogram0_32G.xml or rawprogram0_64G.xml or rawprogram0_64G.xml, etc
  • patch0.xml - patch definition of the partitions
  • NON-HLOS.bin / modem.img - Modem/baseband/radio firmware files
  • aboot.img - Application Bootloader boots the Android kernel/Recovery kernel
  • boot.img - Primary Bootloader is a computer program that loads the main operating system or runtime environment for the computer after completion of the self-tests. It acts as a communication engine to download the Secondary Boot Loader (SBL) into the internal RAM and then activates it. The SBL adds functions for erase and programming of flash memory and EEPROM; it also handles the actual download of new or updated software. This allows a minimum ROM utilization by the PBL.

📖 Common terms:

  • PBL = Primary Boot Loader
  • SBL = Secondary Boot Loader
  • RPM = Resource and Power Management
  • TZ = Trust Zone
  • HDLC = High level Data Link Control
  • MSM = Mobile Station Modem
  • DMSS = Dual Mode Subscriber Station
  • QDL = Qualcomm Download
  • QHSUSB_DLOAD = Qualcomm High Speed USB Download
  • EhostDL = Emergency Host Download
  • DCN = Document Control Number, used by Qualcomm to track their thousands of documents
  • QFIL = Qualcomm Flash Image Loader
  • QPST = Qualcomm
  • EDL = Emergency Download mode
  • HLOS = High Level OS (Normal boot up mode)
  • QFIT = Qualcomm Factory Image Tools
  • ABOOT = Application Bootloader

📖 Partition -> File match -> Description: (Motorola specific)

  • Logo -> logo.bin -> Boot, battery full, bootloader unlocked, battery low power and battery unpluged logos are stored here.
  • Boot -> boot.img
  • Recovery -> recovery.img ->
  • Modem/Radio -> NON-HLOS.bin -> Contains radio drivers for mobile communication
  • fsg -> fsg.mbn
  • Bootloader -> motoboot.img -> Contains the bootloader without which the phone won't power on
  • PDS -> pds.img -> Contains information specific to your device: MEID, IMEI, MAC address, serial number, etc.
  • The Application Bootloader ABOOT boots the Android kernel/Recovery kernel. It is the mechanism to download images onto the device from a host machine (like Windows/Linux PC). The Primary Bootloader boot part is a computer program that loads the main operating system or runtime environment for the computer after completion of the self-tests. The PBL acts as a communication engine to download the Secondary Boot Loader (SBL) into the internal RAM and then activates it. The SBL adds functions for erase and programming of flash memory and EEPROM; it also handles the actual download of new or updated software. This allows a minimum ROM utilization by the PBL.

📖 Original Firmware:

Note: To find out which firmware you have to download, type fastboot getvar ro.build.version.full in fastboot mode. Always download the same OS version which is presently installed or a higher version than that. Never go down the version line.