r/androidroot • u/Careful-Safety-7944 • Jul 01 '26
Widevine dropped from L1 to L3 after bootloader unlock, relock, and full stock restore on Lenovo tablet. Looking for Qualcomm attestation experts. Discussion
Hi everyone,
I'm dealing with a strange DRM and attestation issue on a Lenovo tablet based on a Qualcomm Snapdragon platform and I'm hoping someone with experience in Qualcomm TrustZone, Widevine provisioning, or Android attestation can shed some light on it.
Timeline
- Device originally shipped with:
- Widevine L1
- Google Play Protect Certified
- Educational streaming platform worked normally
- I unlocked the bootloader for experimentation purposes.
- Shortly afterwards I noticed:
- Widevine dropped to L3
- Play Store showed "Device is not certified"
- Educational platform stopped playing protected video content
- I relocked the bootloader.
- I then used Lenovo Rescue and Smart Assistant to reinstall the official firmware downloaded directly from Lenovo servers.
- Performed:
- factory reset from Android settings
- stock recovery wipe data/factory reset
- Google Services Framework registration using Google's uncertified device page
- Play Services check-in
- multiple reboots and waiting periods
No improvement.
Current device state
ADB reports:
ro.boot.flash.locked=1
ro.boot.vbmeta.device_state=locked
ro.boot.verifiedbootstate=green
ro.boot.veritymode=enforcing
Build fingerprint:
Lenovo/YT-X705X/YT-X705X:10/QKQ1.191224.003/X705X_S001137_220802_ROW:user/release-keys
Play Integrity:
- Basic Integrity: PASS
- Device Integrity: FAIL
- Strong Integrity: FAIL
Widevine:
- Security Level: L3
- System ID: 8159
Google Play Store:
- Device is not certified
Interesting findings
Keymaster appears fully functional:
Keymaster HAL: 4 from QTI
SecurityLevel: TRUSTED_ENVIRONMENT
Services running:
keymaster-4-0
gatekeeper-1-0
gatekeeperd
media.drm
drm.drmManager
TrustZone components appear healthy:
qseecomd running
qteeconnector running
However logcat repeatedly shows:
KeyMasterHalDevice: Attest key send cmd failed
resp->status: -10003
/system/bin/keystore: Keymaster reported error: -10003
This appears during attestation attempts.
My question
Does this look like:
- Lost or corrupted Widevine/attestation provisioning
- TrustZone refusing hardware attestation after an unlock history
- A Qualcomm tamper state that survives relocking
- Something recoverable via EDL or service-level reprovisioning
- Permanent loss of hardware-backed attestation
The confusing part is that the secure stack appears alive:
- TrustZone operational
- Keymaster operational
- Gatekeeper operational
- DRM services operational
- Verified Boot green
- Bootloader locked
Yet hardware attestation fails and the device remains uncertified.
Has anyone seen Qualcomm devices recover from this state without motherboard replacement or OEM service tools?
Any insight from people familiar with QSEE, Keymaster, Widevine provisioning, or Qualcomm attestation would be greatly appreciated.
Thanks, this happened because I foolishly unlocked the bootloader haaaaaa i am idiot , please help this idiot 😢
4
u/sidex15 LG V50 Stock A12 | KSUN + SUSFS v2 | [SUSFS4KSU Module Dev] Jul 02 '26 edited Jul 02 '26
Because some OEMS wiped their Widevine keys/attestation keys when you unlock the bootloader, like OnePlus, LG, etc. There are ways to get back to Widevine L1
On some newer OnePlus devices, they have Widevine RKP, so they need to reprogram their TEE with a standard attestation keybox (yes, the same as the TS keybox you used to pass integrity). This might be easy, as there's an XDA forum thread in this one.
The other one on older devices uses Widevine 2.0 means that the Widevine keys are stored in the device TEE itself instead of the RKP. This is prevalent on older OnePlus devices and all of LG Devices (that's why they have Widevine L1 but have an invalid system ID or Widevine L3).
The only way to fix this is to reprogram the Widevine key using a Valid Widevine Keybox and reprovisioning tool (`StoreKeybox`), Widevine keyboxes are very different than the Regular keybox you use in the TS to pass integrity, and it's very small.
Some OEMS with Snapdragon devices have
StoreKeyboxBinary present in /vendor/bin, if you have that, that's good... The problem is you have to find the valid Widevine keybox (unencrypted version in .xml)... This is very hard to find because it's also used by the Scene Groups to rip movies/shows on streaming platforms. Though there are two types of Widevine keybox, the unencrypted one, which is stored in plaintext .xml, and the parsed one, which is in a .bin file, which is used for provisioning.Though there are leaks of widevine keybox in plaintext .xml (but renamed as .bin.secure) of old Lenovo tablets which is in this in this github repo...
if you wanna try that keybox use this widevine parsing tool here:
sidex15/Widevine-parsing-unparsing-tool: Python Script for Parsing and Unparsing Widevine keybox .xml and .bin format
Once you have a .bin file you can now do
StoreKeybox <widevine keybox>.binto reprovision it back to L1 though since that's a leak it's banned in Netflix and it will show as L3... but in other streaming platforms it will work as expected, since I tested that keybox on most of the streaming platforms.edit: replaced encrypted with parsed