The variant-B firmware load hardcoded one drive's F1 vendor-verify token and a fixed 0x9C0 firmware size. Across the 140 B drives the verify CDB has 39 distinct per-drive values, and the real firmware length is encoded in each drive's MODE SELECT CDB (2192..2528 bytes) — so the constants were wrong for ~139 of 140 drives and truncated 13. - DriveProfile gains fw_verify_cdb (the per-drive 0xF1 verify). - variant_b uploads firmware.len() (now the correct per-drive size from the regenerated profiles.json) and issues profile.fw_verify_cdb, falling back to the const only for legacy profiles. - profiles.json regenerated: 79 firmware fields corrected (13 truncated recovered to full length, 66 over-reads trimmed). - Adds a recording-transport regression test asserting the profile's F1 verify is issued (not the const) and MODE SELECT carries firmware.len().
16 lines
429 B
TOML
16 lines
429 B
TOML
[package]
|
|
name = "freemkv-unlock-ld"
|
|
version = "1.0.0-rc.4.3"
|
|
edition = "2024"
|
|
rust-version = "1.86"
|
|
license = "AGPL-3.0-only"
|
|
description = "LibreDrive unlocker plugin for libfreemkv (firmware unlock for MediaTek MT1959 drives)"
|
|
repository = "https://github.com/freemkv/freemkv-unlock"
|
|
|
|
[dependencies]
|
|
libfreemkv = "1.0.0-rc.3"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
base64 = "0.22.1"
|
|
tracing = "0.1"
|