I am trying to unlock the bootloader for my device (it's a cheap Chinese phone) and then root using Magisk. The first problem is that OEM Unlock option is not available in developer options, so I got no choice other than try unlocking using fastboot. Now the second problem is that fastboot doesn't show anything at all. Normally there is a Fastboot
written at the top left corner of the device but in my case there is no output but the blank screen, and I do verify that my device is in fastboot mode because when I do fastboot devices
, it show's the output:
C:\Users\Mujtaba>adb devices
List of devices attached
Y3123A0310Q0100020953 device
C:\Users\Mujtaba>adb reboot bootloader
C:\Users\Mujtaba>fastboot devices
Y3123A0310Q01000209 fastboot
Since fastboot is responding, I tried to unlock the bootloader using different commands but each time I get read/write failed error.
C:\Users\Mujtaba>fastboot oem unlock
...
FAILED (command write failed (Unknown error))
finished. total time: 5.011s
C:\Users\Mujtaba>fastboot oem unlock
...
FAILED (status read failed (Too many links))
finished. total time: 80.886s
Alas, I got the same results with fastboot oem unlock-go
and fastboot flashing unlock
as fastboot is not picking up (at least I think) any command except for fastboot devices
.
I read the official guide and there I found that:
Devices should deny the fastboot flashing unlock command unless the get_unlock_ability is set to 1. If set to 0, the user needs to boot to the home screen, open the Settings > System > Developer options menu and enable the OEM unlocking option (which sets the unlock_ability to 1).
My device supports unlocking bootloader because I've checked the build.prop
file using adb shell getprop
and it includes the properties stated below:
The ro.oem_unlock_supported property should be set at build time based on whether the device supports flashing unlock.
If the device suppports flashing unlock, set ro.oem_unlock_supported to 1. If the device doesn't support flashing unlock, set ro.oem_unlock_supported to 0. If the device supports flashing unlock, then the bootloader should indicate the lock status by setting the kernel command line variable androidboot.flash.locked to 1 if locked or 0 if unlocked.
For devices that support dm-verity, use ro.boot.verifiedbootstate to set the value of ro.boot.flash.locked to 0; this unlocks the bootloader if the verified boot state is orange.
C:\Users\Mujtaba>adb shell getprop
[ro.oem_unlock_supported]: [1]
[ro.boot.verifiedbootstate]: [green]
[ro.boot.flash.locked]: [1]
[sys.oem_unlock_allowed]: [0]
.
.
Someone on reddit did this to find the OEM unlock state, mine of course returned 0 as you can see above.
adb shell getprop sys.oem_unlock_allowed
Device Specs:
CPU: ARM Cortex-A-7 @ 1.20 Ghz
GPU: Mali-400 MP
Board: sp7731cea (Unisoc aka Spreadtrum)
Build: Q Infinity C_MP_26_01
Treble: NA
Seamless update (A/B): NA
So long story short, I'm still unable to unlock the bootloader so any help would be very helpful guys. Thanks