Skip to content

[DEVICE] Successful unlock on Redmi Note 12S Helio G96 #12

Description

@katavnnn

Device model

Redmi Note 12S

Codename

sea

SoC

MT6781

Firmware version

HyperOS 2.0.210.0 VHZMIXM

Unlock result

SUCCESS — unlocked

fastboot oem lks output

C:\Mysterious-Dev>fastboot oem lks
...
FAILED (remote: Unable to do OEM command Status(-7, EX_UNSUPPORTED_OPERATION)
finished. total time: 0.007s

C:\Mysterious-Dev>fastboot getvar unlocked
unlocked: yes
finished. total time: 0.001s

Commands used

Backup first :)
python scan_lk.py lk_a.bin
python scan_lk.py lk_b.bin 

python mtk.py --loader C:\MTK_AllInOne_DA.bin --preloader C:\Users\katav\Downloads\Compressed\mtkclient-2.1.4.1\mtkclient-2.1.4.1\preloader_sea.bin da rpmb r rpmb_dump.bin

python -c "data = open('rpmb_dump.bin', 'rb').read(); idx = data.find(b'Jz8PNRUF'); print('\n>>> Your sector:', idx // 256, '<<<\n') if idx != -1 else print('\n>>> Not found! <<<\n')"

python mtk.py --loader C:\MTK_AllInOne_DA.bin --preloader C:\Users\katav\Downloads\Compressed\mtkclient-2.1.4.1\mtkclient-2.1.4.1\preloader_sea.bin da rpmb e --sector 57344 --sectors 4

python mtk.py --loader C:\MTK_AllInOne_DA.bin --preloader C:\Users\katav\Downloads\Compressed\mtkclient-2.1.4.1\mtkclient-2.1.4.1\preloader_sea.bin da rpmb r rpmb_check.bin


python -c "data = open('rpmb_check.bin', 'rb').read(); idx = data.find(b'Jz8PNRUF'); print('\n>>> Magic Still Exist:', idx // 256, '<<<\n') if idx != -1 else print('\n>>> Congratulation! Done <<<\n')"

python mtk.py da seccfg unlock --loader C:\MTK_AllInOne_DA.bin --preloader C:\Users\katav\Downloads\Compressed\mtkclient-2.1.4.1\mtkclient-2.1.4.1\preloader_sea.bin


fastboot oem lks                 # Expected: (bootloader) lks = 0
fastboot getvar unlocked         # Expected: unlocked: yes
fastboot getvar secure           # Expected: secure: no


fastboot erase userdata
fastboot erase metadata
fastboot reboot

RPMB sector used

57344

Persistent after reboot?

Yes — still unlocked after reboot

Additional notes

I have tried to unlock bootloader on my phone 2 days with many time until i reach your repo. Thank you for all. Here is my problem: I am not sure if my method is correct, but it works.

The Problem & Consequences I Encountered: I realized that after finishing a command on mtkclient (like the RPMB erase) and unplugging the cable, my phone got stuck in a "wedged state" between BROM and Preloader. I tried to hold Vol Up and Down then plug the cable but it doesn't work. The worst part is, if I tried to hold 10s, the phone didnt turn off, it reboot and the logo appear. I think it is the reason why it automatically rewrite the recovery key back into the RPMB, completely undoing all my efforts to erase the magic string in the previous step.

My Ultimate Solution: To stop this from happening entirely, I decided to physically cut the power:

I directly disconnected the battery socket from the motherboard to cut the power 100%, completely clearing the wedged state.

When I was ready for the next command, I reconnected the battery socket.

Immediately, I held down both the Volume Up + Volume Down buttons and then plugged in the USB cable.

The Result: The phone went straight back into BROM mode in a perfectly "clean" and safe manner. My RPMB erase was kept completely intact, and I could proceed smoothly to the final seccfg unlock command without worrying about the phone reverting and locking itself again.

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions