Qualcomm EDL mode

Last updated
Screenshot of Device Manager, containing a Qualcomm device booted in the Emergency Download Mode Device in EDL mode.jpg
Screenshot of Device Manager, containing a Qualcomm device booted in the Emergency Download Mode

The Qualcomm Emergency Download mode, commonly known as Qualcomm EDL mode and officially known as Qualcomm HS-USB QD-Loader 9008 [1] is a feature implemented in the boot ROM of a system on a chip by Qualcomm which can be used to recover bricked smartphones. [2] [3] On Google's Pixel 3, the feature was accidentally shown to users after the phone was bricked. [4]

Contents

Device support

For a device to support EDL it must be using Qualcomm hardware. The Snapdragon family is very widely used.

Access

ADB

The Android Debug Bridge can be utilized to get access to EDL mode, with the command adb reboot edl. [2]

Windows

The Qualcomm Product Support Tool (QPST) is normally used internally by service center executives for low-level firmware flashing to revive Android devices from a hard-brick or to fix persistent software issues. To flash the firmware, the tool communicates with supported devices via EDL. [5] [ unreliable source? ] The QPST has not been officially released by Qualcomm.[ citation needed ]

Linux

Qualcomm Download (QDL) is a tool to communicate with Qualcomm System On a Chip bootroms to install or execute code. The source code is maintained by Bjorn Andersson aka andersson. [6] [ non-primary source needed ]

Test points

Qualcomm implemented motherboards always include a test point. These can vary between phone models. Generally, test points are a pair of contacts, which can be some way apart. EDL can be accessed by opening the back of the phone, finding the location of the test point, which depends on the model, and by using a pair of metal tweezers to short the connectors and boot the phone into EDL. Further software tools are needed for actions in EDL mode.

EDL Deep Flash Cable

Qualcomm implemented a feature in motherboards with the presence of EDL, where they can be booted to EDL via an EDL Deep Flash Cable. This specific cable has the general appearance of a button present in the cable. The button can be represented as a switch, to be able to make the phone boot into EDL mode. With the use of the cable, in most devices and cases, it will not be necessary to use the test points. The cable also works on hard-bricked devices to boot them into EDL mode. This cable works by having a button present between D+ and GND.

Related Research Articles

<span class="mw-page-title-main">BIOS</span> Firmware for hardware initialization and OS runtime services

In computing, BIOS is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the booting process. The firmware comes pre-installed on the computer's motherboard.

<span class="mw-page-title-main">Power-on self-test</span> Process performed by firmware or software routines

A power-on self-test (POST) is a process performed by firmware or software routines immediately after a computer or other digital electronic device is powered on.

Boot ROM is a piece of read-only memory (ROM) that is used for booting a computer system. It contains instructions that are run after the CPU is reset to the reset vector, and it typically loads a bootloader. There are two types of boot ROM: a mask boot ROM that cannot be changed afterwards and a writable boot ROM such as an EEPROM or a flash memory chip.

<span class="mw-page-title-main">Brick (electronics)</span> Non-functioning electronic device

A brick is a mobile device, game console, router, computer or other electronic device that is no longer functional due to corrupted firmware, a hardware problem, or other damage. The term analogizes the device to a brick's modern technological usefulness.

Rooting is the process by which users of Android devices can attain privileged control over various subsystems of the device, usually smartphones and tablets. Because Android is based on a modified version of the Linux kernel, rooting an Android device gives similar access to administrative (superuser) permissions as on Linux or any other Unix-like operating system such as FreeBSD or macOS.

<span class="mw-page-title-main">Fastboot</span> Recovery mode included in Android mobile operating system

Fastboot is a communication protocol used primarily with Android devices. It is implemented in a command-line interface tool of the same name and as a mode of the bootloader of Android devices. The tool is included with the Android SDK package and used primarily to modify the flash filesystem via a USB connection from a host computer. It requires that the device be started in Fastboot mode. If the mode is enabled, it will accept a specific set of commands, sent through USB bulk transfers. Fastboot on some devices allows unlocking the bootloader, and subsequently, enables installing custom recovery image and custom ROM on the device. Fastboot does not require USB debugging to be enabled on the device. To use fastboot, a specific combination of keys must be held during boot.

<span class="mw-page-title-main">Hacking of consumer electronics</span>

The hacking of consumer electronics is a common practice that users perform to customize and modify their devices beyond what is typically possible. This activity has a long history, dating from the days of early computer, programming, and electronics hobbyists.

<span class="mw-page-title-main">Android software development</span> Process of writing software for Android operating system

Android software development is the process by which applications are created for devices running the Android operating system. Google states that "Android apps can be written using Kotlin, Java, and C++ languages" using the Android software development kit (SDK), while using other languages is also possible. All non-Java virtual machine (JVM) languages, such as Go, JavaScript, C, C++ or assembly, need the help of JVM language code, that may be supplied by tools, likely with restricted API support. Some programming languages and tools allow cross-platform app support. Third party tools, development environments, and language support have also continued to evolve and expand since the initial SDK was released in 2008. The official Android app distribution mechanism to end users is Google Play; it also allows staged gradual app release, as well as distribution of pre-release app versions to testers.

<span class="mw-page-title-main">LG Optimus L5</span> Android smartphone designed and manufactured by LG Electronics

LG Optimus L5 is a slate smartphone designed and manufactured by LG Electronics. Optimus L5 is the mid-range handset in the L series, and it makes the transition to Android 4.0.

The Samsung Galaxy S Relay 4G is an Android touchscreen slider smartphone designed and manufactured by Samsung for T-Mobile USA. It resembles the Samsung Epic 4G in appearance and shares the Epic 4G's screen and camera specifications, but the CPU and other internal hardware is more similar to the Samsung Galaxy S III.

<span class="mw-page-title-main">Odin (firmware flashing software)</span> Utility software developed by Samsung

Odin is a utility software program developed and used by Samsung internally which is used to communicate with Samsung devices in Odin mode through the Thor (protocol). It can be used to flash a custom recovery firmware image to a Samsung Android device. Odin is also used for unbricking certain Android devices. Odin is the Samsung proprietary alternative to Fastboot.

Custom firmware, also known as aftermarket firmware, is an unofficial new or modified version of firmware created by third parties on devices such as video game consoles, mobile phones, and various embedded device types to provide new features or to unlock hidden functionality. In the video game console community, the term is often written as custom firmware or simply CFW, referring to an altered version of the original system software inside a video game console such as the PlayStation Portable, PlayStation 3, PlayStation Vita/PlayStation TV, PlayStation 4, Nintendo 3DS, Wii U and Nintendo Switch. Installing custom firmware on some devices requires bootloader unlocking.

<span class="mw-page-title-main">Android Nougat</span> Seventh major version of the Android operating system

Android Nougat is the seventh major version and 14th original version of the Android operating system. First released as an alpha test version on March 9, 2016, it was officially released on August 22, 2016, with Nexus devices being the first to receive the update.

MicroPython is a software implementation of a programming language largely compatible with Python 3, written in C, that is optimized to run on a microcontroller.

<span class="mw-page-title-main">Samsung Experience</span> Software overlay by Samsung Electronics

Samsung Experience was the name of the software overlay by Samsung for its Galaxy devices running Android 7.x “Nougat” and Android 8.x “Oreo”. It was introduced in late 2016 on a beta build based on Android 7.0 “Nougat” for the Galaxy S7, succeeding TouchWiz. It has been succeeded in 2018 by One UI based on Android 9 “Pie” and later versions.

<span class="mw-page-title-main">Pixel 3</span> 2018 Android smartphone designed by Google

The Pixel 3 and Pixel 3 XL are a pair of Android smartphones designed, developed, and marketed by Google as part of the Google Pixel product line. They collectively serve as the successors to the Pixel 2 and Pixel 2 XL. They were officially announced on October 9, 2018 at the Made by Google event and released in the United States on October 18. On October 15, 2019, they were succeeded by the Pixel 4 and Pixel 4 XL.

<span class="mw-page-title-main">Bootloader unlocking</span> Process of disabling secure device booting

Bootloader unlocking is the process of disabling the bootloader security that makes secure boot possible. It can make advanced customizations possible, such as installing custom firmware. On smartphones, this can be a custom Android distribution or another mobile operating system. Some bootloaders are not locked at all and some are locked, but can be unlocked with a command or with assistance from the manufacturer. Some do not include an unlocking method and can only be unlocked through a software exploit.

<span class="mw-page-title-main">Android recovery mode</span> Mode on Android operating system for installing system updates and wipe data

The Android recovery mode is a mode of Android used for installing updates and wipe data. It consists of a Linux kernel with ramdisk on a separate partition from the main Android system.

The booting process of Android devices starts at the power-on of the SoC and ends at the visibility of the home screen, or special modes like recovery and fastboot. The boot process of devices that run Android is influenced by the firmware design of the SoC manufacturers.

Thor is a communication protocol which is mainly used to communicate with the Bootloader of Samsung devices to make it write files into various partitions of the device. It is also possible to list the partitions or to reboot the phone through this protocol.

References

  1. Zhao, Longze; Xi, Bin; Wu, Shunxiang; Aizezi, Yasen; Ming, Daodong; Wang, Fulin; Yi, Chao (2018). "Physical Mirror Extraction on Qualcomm-based Android Mobile Devices". Proceedings of the 2nd International Conference on Computer Science and Application Engineering. Hohhot, China: ACM Press. pp. 1–5. doi:10.1145/3207677.3278046. ISBN   978-1-4503-6512-3. S2CID   53038902.
  2. 1 2 EASTTOM, CHUCK (2021). An In-Depth Guide to Mobile Device Forensics. [S.l.]: CRC Press. p. 72. ISBN   978-0-367-63300-4. OCLC   1250310301.
  3. Tang, Qinghao (2021). Internet of things security : principles and practice. Fan Du. Singapore. p. 166. ISBN   978-981-15-9942-2. OCLC   1236261208.{{cite book}}: CS1 maint: location missing publisher (link)
  4. Amadeo, Ron (2021-09-03). "Reports of Pixel 3s bricking with "EDL" message are growing". Ars Technica . Retrieved 2021-09-11.
  5. Bhardwaj, Dhananjay (April 2, 2021). "Download QPST Flash Tool & How to Use it to Flash Firmware on Qualcomm Android Devices". The Custom Droid. Retrieved February 21, 2022.
  6. Andersson, Bjorn. "Source code of qdl". Github. Retrieved February 21, 2022.