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
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]:  [ro.boot.verifiedbootstate]: [green] [ro.boot.flash.locked]:  [sys.oem_unlock_allowed]:  . .
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
CPU: ARM Cortex-A-7 @ 1.20 Ghz
GPU: Mali-400 MP
Board: sp7731cea (Unisoc aka Spreadtrum)
Build: Q Infinity C_MP_26_01
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