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.binbackup1backup2backup3backup4backup5ruby:/ $ 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:backup1Code:backup2Code:backup3Code:backup4Code: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