Trying to recover Widevine L1 on Redmi Note 12 Pro 5g on MT6887
Trying to recover Widevine L1 on Redmi Note 12 Pro 5g on MT6887
python.exe mtk.py wo 0x40780000 0x2080000 boot_para.bin
python.exe mtk.py wo 0x2d88000 0x2000000 nvcfg.bin
python.exe mtk.py wo 0x4d88000 0x4000000 nvdata.bin
python.exe mtk.py wo 0x3c580000 0x4000000 nvram.bin
python.exe mtk.py wo 0x3c200000 0x300000 proinfo.bin
python.exe mtk.py wo 0x12000000 0x800000 protect1.bin
python.exe mtk.py wo 0x12800000 0x800000 protect2.bin
python.exe mtk.py wo 0x3c000000 0x200000 sec1.bin
python.exe mtk.py wo 0x13000000 0x800000 seccfg.bin
backup1
backup2
backup3
backup4
backup5
ruby:/ $ ls -n /dev/block/bootdevice/by-name/
total 0
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 audio_dsp_a -> /dev/block/sdc21
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 audio_dsp_b -> /dev/block/sdc45
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 backup1 -> /dev/block/sdc67
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 backup2 -> /dev/block/sdc68
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 backup3 -> /dev/block/sdc69
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 backup4 -> /dev/block/sdc70
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 backup5 -> /dev/block/sdc75
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 boot_a -> /dev/block/sdc32
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 boot_b -> /dev/block/sdc56
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 boot_para -> /dev/block/sdc42
lrwxrwxrwx 1 0 0 22 2024-10-15 17:33 bootloader1 -> /dev/block/by-name/lk1
lrwxrwxrwx 1 0 0 22 2024-10-15 17:33 bootloader2 -> /dev/block/by-name/lk2
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 cam_vpu1_a -> /dev/block/sdc27
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 cam_vpu1_b -> /dev/block/sdc51
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 cam_vpu2_a -> /dev/block/sdc28
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 cam_vpu2_b -> /dev/block/sdc52
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 cam_vpu3_a -> /dev/block/sdc29
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 cam_vpu3_b -> /dev/block/sdc53
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 countrycode -> /dev/block/sdc41
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 cust -> /dev/block/sdc71
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 dpm_a -> /dev/block/sdc23
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 dpm_b -> /dev/block/sdc47
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 dtbo_a -> /dev/block/sdc35
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 dtbo_b -> /dev/block/sdc59
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 efuse -> /dev/block/sdc39
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 expdb -> /dev/block/sdc3
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 ffu -> /dev/block/sdc63
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 flashinfo -> /dev/block/sdc77
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 frp -> /dev/block/sdc4
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 gsort -> /dev/block/sdc62
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 gz_a -> /dev/block/sdc30
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 gz_b -> /dev/block/sdc54
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 lk_a -> /dev/block/sdc31
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 lk_b -> /dev/block/sdc55
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 logo_a -> /dev/block/sdc33
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 logo_b -> /dev/block/sdc57
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 mcupm_a -> /dev/block/sdc26
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 mcupm_b -> /dev/block/sdc50
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 md1img_a -> /dev/block/sdc19
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 md1img_b -> /dev/block/sdc43
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 mem -> /dev/block/sdc64
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 metadata -> /dev/block/sdc13
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 misc -> /dev/block/sdc1
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 nvcfg -> /dev/block/sdc5
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 nvdata -> /dev/block/sdc6
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 nvram -> /dev/block/sdc40
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 oem_misc1 -> /dev/block/sdc66
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 oops -> /dev/block/sdc65
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 opconfig -> /dev/block/sdc74
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 opcust -> /dev/block/sdc73
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 otp -> /dev/block/sdc18
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 para -> /dev/block/sdc2
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 persist -> /dev/block/sdc14
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 pi_img_a -> /dev/block/sdc22
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 pi_img_b -> /dev/block/sdc46
lrwxrwxrwx 1 0 0 23 2024-10-15 17:33 preloader_a -> /dev/block/mmcblk0boot0
lrwxrwxrwx 1 0 0 23 2024-10-15 17:33 preloader_b -> /dev/block/mmcblk0boot1
lrwxrwxrwx 1 0 0 30 2024-10-15 17:33 preloader_emmc_a -> /dev/block/by-name/preloader_a
lrwxrwxrwx 1 0 0 30 2024-10-15 17:33 preloader_emmc_b -> /dev/block/by-name/preloader_b
lrwxrwxrwx 1 0 0 22 2024-10-15 17:33 preloader_raw_a -> /dev/block/mapper/pl_a
lrwxrwxrwx 1 0 0 22 2024-10-15 17:33 preloader_raw_b -> /dev/block/mapper/pl_b
lrwxrwxrwx 1 0 0 30 2024-10-15 17:33 preloader_ufs_a -> /dev/block/by-name/preloader_a
lrwxrwxrwx 1 0 0 30 2024-10-15 17:33 preloader_ufs_b -> /dev/block/by-name/preloader_b
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 proinfo -> /dev/block/sdc38
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 protect1 -> /dev/block/sdc15
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 protect2 -> /dev/block/sdc16
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 rescue -> /dev/block/sdc72
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 scp_a -> /dev/block/sdc24
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 scp_b -> /dev/block/sdc48
lrwxrwxrwx 1 0 0 14 2024-10-15 17:33 sda -> /dev/block/sda
lrwxrwxrwx 1 0 0 14 2024-10-15 17:33 sdb -> /dev/block/sdb
lrwxrwxrwx 1 0 0 14 2024-10-15 17:33 sdc -> /dev/block/sdc
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 sec1 -> /dev/block/sdc37
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 seccfg -> /dev/block/sdc17
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 spmfw_a -> /dev/block/sdc20
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 spmfw_b -> /dev/block/sdc44
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 sspm_a -> /dev/block/sdc25
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 sspm_b -> /dev/block/sdc49
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 super -> /dev/block/sdc61
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 tee_a -> /dev/block/sdc36
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 tee_b -> /dev/block/sdc60
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 userdata -> /dev/block/sdc76
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 vbmeta_a -> /dev/block/sdc7
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 vbmeta_b -> /dev/block/sdc10
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 vbmeta_system_a -> /dev/block/sdc8
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 vbmeta_system_b -> /dev/block/sdc11
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 vbmeta_vendor_a -> /dev/block/sdc9
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 vbmeta_vendor_b -> /dev/block/sdc12
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 vendor_boot_a -> /dev/block/sdc34
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 vendor_boot_b -> /dev/block/sdc58
ruby:/ $
(15-10-2024, 05:10 PM)element14 Hi guys,Try and see if this works https://techpp.com/2024/02/18/fix-widevi...i-devices/
After downgrading my Redmi (code name Ruby) from HyperOS to MIUI 14, I lost the Widevine L1 certification and now only have L3, which is causing DRM issues with Netflix, Spotify, Prime Video, Disney+.
During the downgrade process, I backed up the following partitions:
Code:python.exe mtk.py wo 0x40780000 0x2080000 boot_para.bin
python.exe mtk.py wo 0x2d88000 0x2000000 nvcfg.bin
python.exe mtk.py wo 0x4d88000 0x4000000 nvdata.bin
python.exe mtk.py wo 0x3c580000 0x4000000 nvram.bin
python.exe mtk.py wo 0x3c200000 0x300000 proinfo.bin
python.exe mtk.py wo 0x12000000 0x800000 protect1.bin
python.exe mtk.py wo 0x12800000 0x800000 protect2.bin
python.exe mtk.py wo 0x3c000000 0x200000 sec1.bin
python.exe mtk.py wo 0x13000000 0x800000 seccfg.bin
erased the flash memory, installed MIUI, and restored the previously backed-up partitions to recover my IMEI.
Everything is working fine, except for the Widevine L3 issue.
After reading online, I understand that some keys are stored in the persistent partition, which I didn't back up.
Do you have any suggestions on how to solve this issue?
Additionally, I noticed that I have partitions named
Code:backup1
Code:backup2
Code:backup3
Code:backup4
Code:backup5
Could these contain any useful information? How can I use them?
Here is the partition table output:
Code:ruby:/ $ ls -n /dev/block/bootdevice/by-name/
total 0
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 audio_dsp_a -> /dev/block/sdc21
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 audio_dsp_b -> /dev/block/sdc45
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 backup1 -> /dev/block/sdc67
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 backup2 -> /dev/block/sdc68
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 backup3 -> /dev/block/sdc69
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 backup4 -> /dev/block/sdc70
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 backup5 -> /dev/block/sdc75
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 boot_a -> /dev/block/sdc32
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 boot_b -> /dev/block/sdc56
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 boot_para -> /dev/block/sdc42
lrwxrwxrwx 1 0 0 22 2024-10-15 17:33 bootloader1 -> /dev/block/by-name/lk1
lrwxrwxrwx 1 0 0 22 2024-10-15 17:33 bootloader2 -> /dev/block/by-name/lk2
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 cam_vpu1_a -> /dev/block/sdc27
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 cam_vpu1_b -> /dev/block/sdc51
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 cam_vpu2_a -> /dev/block/sdc28
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 cam_vpu2_b -> /dev/block/sdc52
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 cam_vpu3_a -> /dev/block/sdc29
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 cam_vpu3_b -> /dev/block/sdc53
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 countrycode -> /dev/block/sdc41
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 cust -> /dev/block/sdc71
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 dpm_a -> /dev/block/sdc23
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 dpm_b -> /dev/block/sdc47
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 dtbo_a -> /dev/block/sdc35
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 dtbo_b -> /dev/block/sdc59
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 efuse -> /dev/block/sdc39
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 expdb -> /dev/block/sdc3
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 ffu -> /dev/block/sdc63
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 flashinfo -> /dev/block/sdc77
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 frp -> /dev/block/sdc4
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 gsort -> /dev/block/sdc62
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 gz_a -> /dev/block/sdc30
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 gz_b -> /dev/block/sdc54
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 lk_a -> /dev/block/sdc31
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 lk_b -> /dev/block/sdc55
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 logo_a -> /dev/block/sdc33
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 logo_b -> /dev/block/sdc57
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 mcupm_a -> /dev/block/sdc26
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 mcupm_b -> /dev/block/sdc50
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 md1img_a -> /dev/block/sdc19
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 md1img_b -> /dev/block/sdc43
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 mem -> /dev/block/sdc64
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 metadata -> /dev/block/sdc13
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 misc -> /dev/block/sdc1
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 nvcfg -> /dev/block/sdc5
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 nvdata -> /dev/block/sdc6
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 nvram -> /dev/block/sdc40
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 oem_misc1 -> /dev/block/sdc66
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 oops -> /dev/block/sdc65
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 opconfig -> /dev/block/sdc74
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 opcust -> /dev/block/sdc73
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 otp -> /dev/block/sdc18
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 para -> /dev/block/sdc2
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 persist -> /dev/block/sdc14
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 pi_img_a -> /dev/block/sdc22
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 pi_img_b -> /dev/block/sdc46
lrwxrwxrwx 1 0 0 23 2024-10-15 17:33 preloader_a -> /dev/block/mmcblk0boot0
lrwxrwxrwx 1 0 0 23 2024-10-15 17:33 preloader_b -> /dev/block/mmcblk0boot1
lrwxrwxrwx 1 0 0 30 2024-10-15 17:33 preloader_emmc_a -> /dev/block/by-name/preloader_a
lrwxrwxrwx 1 0 0 30 2024-10-15 17:33 preloader_emmc_b -> /dev/block/by-name/preloader_b
lrwxrwxrwx 1 0 0 22 2024-10-15 17:33 preloader_raw_a -> /dev/block/mapper/pl_a
lrwxrwxrwx 1 0 0 22 2024-10-15 17:33 preloader_raw_b -> /dev/block/mapper/pl_b
lrwxrwxrwx 1 0 0 30 2024-10-15 17:33 preloader_ufs_a -> /dev/block/by-name/preloader_a
lrwxrwxrwx 1 0 0 30 2024-10-15 17:33 preloader_ufs_b -> /dev/block/by-name/preloader_b
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 proinfo -> /dev/block/sdc38
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 protect1 -> /dev/block/sdc15
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 protect2 -> /dev/block/sdc16
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 rescue -> /dev/block/sdc72
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 scp_a -> /dev/block/sdc24
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 scp_b -> /dev/block/sdc48
lrwxrwxrwx 1 0 0 14 2024-10-15 17:33 sda -> /dev/block/sda
lrwxrwxrwx 1 0 0 14 2024-10-15 17:33 sdb -> /dev/block/sdb
lrwxrwxrwx 1 0 0 14 2024-10-15 17:33 sdc -> /dev/block/sdc
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 sec1 -> /dev/block/sdc37
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 seccfg -> /dev/block/sdc17
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 spmfw_a -> /dev/block/sdc20
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 spmfw_b -> /dev/block/sdc44
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 sspm_a -> /dev/block/sdc25
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 sspm_b -> /dev/block/sdc49
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 super -> /dev/block/sdc61
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 tee_a -> /dev/block/sdc36
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 tee_b -> /dev/block/sdc60
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 userdata -> /dev/block/sdc76
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 vbmeta_a -> /dev/block/sdc7
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 vbmeta_b -> /dev/block/sdc10
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 vbmeta_system_a -> /dev/block/sdc8
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 vbmeta_system_b -> /dev/block/sdc11
lrwxrwxrwx 1 0 0 15 2024-10-15 17:33 vbmeta_vendor_a -> /dev/block/sdc9
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 vbmeta_vendor_b -> /dev/block/sdc12
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 vendor_boot_a -> /dev/block/sdc34
lrwxrwxrwx 1 0 0 16 2024-10-15 17:33 vendor_boot_b -> /dev/block/sdc58
ruby:/ $
Thanks in advance
(16-10-2024, 04:00 PM)element14 Thanks for the reply , I have already tried all the suggested methods 🙏
(17-10-2024, 10:13 AM)element14 Tanks for the reply.
The Security Certificates update is missing under my CIT app. I have testet the latest MIUI and the oldest HyperOS ,both same behavior.
(18-10-2024, 03:40 PM)element14 Already tried , but after updating the FIDO and IFAA , Widevine should appear after reboot , but it’s not my case , I have flashed all kind of MIUI or HyperOs versions , same result , L3 for ever