2

I have OnePlus 3 (A3003). I installed a custom ROM. Since then, I can't get to recovery mode. If I try booting into it, my phone gets stuck on the OnePlus logo.

I tried flashing it with fastboot,

C:\...\Android\android-sdk\platform-tools> fastboot flash recovery recovery.img
target reported max download size of 442499072 bytes
sending 'recovery' (18964 KB)...
OKAY [  0.580s]
writing 'recovery'...
OKAY [  0.144s]
finished. total time: 0.726s

And also I tried flashing it with the TWRP app, it gave me an error telling me that I have already installed it.

What is the problem?

2
  • Try to get/boot into recovery using TWRP app or any other advanced reboot apps. Jan 2, 2017 at 17:21
  • How are we supposed to help when we have no logs from TWRP?
    – Tri
    Feb 18, 2022 at 19:30

3 Answers 3

0

You can reboot to TWRP using adb commands from your desktop.

Connect your android device, navigate your cmd to C:\Users\juanhh\AppData\Local\Android\android-sdk\platform-tools and type

adb devices

It will show list of connected devices. If not, then you probably need to install universal adb driver.

To reboot into TWRP recovery, type

adb reboot recovery
1
  • it make the same problem, stuck on oneplus logo, then black screen and i need to turn it off
    – Herruzo99
    Jan 2, 2017 at 20:51
0

I got it. FirstAid from XDA may help you. You can read full discussion about this. You have probably also still locked bootloader. Try fastboot -i 0x2A70 oem unlock-go

3
  • reading the .bat archive it will just do the same that i tried, but i will give it try, I already had unloked my phone, i have had the twrp marshmallow and lollipop recoveries intalled in my phone some time ago
    – Herruzo99
    Jan 2, 2017 at 22:11
  • 1
    well... now my phone is stuck at fastboot
    – Herruzo99
    Jan 2, 2017 at 22:13
  • Well, than you can try pathed TWRP from XDA discussion. I believe you will find a fix there. Jan 2, 2017 at 22:14
0

sorry for the grave digging.

this is caused by incompatible firmware. firmware are binary blobs akin in function to an old BIOS or a newer UEFI firmware in PC parlance. just as in PCs, it does much more than simply booting the OS kernel.

aftermarket roms and OSes (including TWRP) may not bundle firmware blobs but often do require a specific version. in your case: TWRP bundles a kernel, and the complete "OS" (kernel + TWRP) depends on specific firmware version(s) to work. the ROM you flashed does include the blobs it requires, so during the flashing process your firmware was overwritten (without this, the ROM would not have booted). but now your old TWRP is not compatible with the newer firmware and thus fails to boot. it will fail even if you do a fastboot boot my-twrp.img.

there are so called "firmware collections", which are zips you can flash with different firmware versions, extracted from OTAs and published by users. if you flash an older firmware, your currently flashed TWRP will work again (and your currently flashed OS will cease to work).

but of course, you can't flash the firmware zip because you don't have a working recovery... :)

so your options are:

  • find a TWRP binary that works with the firmware included in your OS and flash it (you can fastboot boot it to test it before hand).
  • find an older firmware zip, extract the relevant partition images, and fastboot flash them (warning: very risky unless you know what you are doing).
  • fastboot flash a complete stock OS with the right firmware version for your chosen OS and TWRP.

EDIT:

the firmware initializes the hardware (CPUs, RAM, flash, etc) and eventually chooses to run android or recovery. it runs well before the choice is made. thus, it is not possible to have 2 firmwares, one for android and one for recovery, the way you have 2 linux kernels.

this means that, in a sane world, the firmware would just be a bootloader and it would not expose interfaces for the OS that would make the OS dependent on a specific firmware version. any other blobs required should be part of the OS (and duplicated for the 2 OSes, each with its required version).

unfortunately in android the firmware got so fat that now the idea of having 2 independent OSes in a device, the concept of a linux-based recovery, is no longer workable. in fact, it has been eliminated in A/B devices altogether, with the recovery being an alternate userland that shares its kernel with android. the only real recovery method that works now is fastboot, and it is severely limited.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .