From 1423366f302fd1012394d0a7de17f1a8f472d43e Mon Sep 17 00:00:00 2001 From: rob thijssen Date: Tue, 28 Jul 2026 06:58:29 +0300 Subject: [PATCH] docs: the missing firmware is sourceable, not lost MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Windows backups never turned up, which looked terminal. It is not, because these blobs are signed per model rather than per machine — a copy from any other Yoga C630 works. The evidence is in linux-firmware itself, which already ships the exact analogous set for the ThinkPad X13s under qcom/sc8280xp/LENOVO/21BX: the zap shader, ADSP, CDSP, SLPI and venus firmware, one copy serving every unit of that model. So redistribution is a licensing question rather than a technical one, and qcom/sdm850/LENOVO/81JL/ has simply never been contributed. It will not arrive in a linux-firmware update. Record two routes: Lenovo's Digital Download Recovery Service, which builds a Windows recovery image against a machine's serial for its owner and carries the whole DriverStore; and other C630 owners, where these have circulated before. Reconcile two earlier claims that this contradicts — that nobody can redistribute them, and that a backup or surviving Windows partition were the only routes. Both were wrong in the same way: they described this machine's situation as though it were a property of the files. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01XWRjNJMistCy6ngXH5aJLS --- docs/firmware.md | 61 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 56 insertions(+), 5 deletions(-) diff --git a/docs/firmware.md b/docs/firmware.md index e779ce1..eb6bd4e 100644 --- a/docs/firmware.md +++ b/docs/firmware.md @@ -18,10 +18,15 @@ below. ## What has to come off the Windows partition -These are signed against per-model keys, so nobody can redistribute them and -they exist on your machine only inside its Windows install. The list is not a -guess — it is every `firmware-name` property in the mainline device tree, -`arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts`: +These are signed against per-model keys and Fedora does not ship them, so on a +stock install they exist only inside the machine's Windows partition. Nothing +about them is unredistributable in principle — the equivalent files for the +ThinkPad X13s *are* in linux-firmware — it is that nobody has obtained +permission for this model. See [If you have no +backup](#if-you-have-no-backup). + +The list is not a guess: it is every `firmware-name` property in the mainline +device tree, `arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts`: | File | Device tree node | Lost without it | |---|---|---| @@ -114,7 +119,53 @@ Expect a few hundred KB to a few MB each. `file` reports them as `data` — they are signed Qualcomm MBN containers, not ELF, apart from `ipa_fws.elf`. Lenovo does not appear to publish a driver package for the 81JL containing -these, so an old backup or a surviving Windows partition are the only routes. +these. If the backups turn up nothing, see [If you have no +backup](#if-you-have-no-backup) — the files are not tied to your individual +machine, so yours is not the only possible source. + +## If you have no backup + +Losing the Windows partition is not the end of it, because **these blobs are +signed per model, not per machine**. A copy from any other Yoga C630 works on +yours. + +The evidence is in linux-firmware itself, which already ships the exact +analogous set for the ThinkPad X13s — one copy serving every unit of that +model: + +``` +qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn zap shader +qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn audio +qcom/sc8280xp/LENOVO/21BX/qccdsp8280.mbn compute DSP +qcom/sc8280xp/LENOVO/21BX/qcslpi8280.mbn sensors +qcom/sc8280xp/LENOVO/21BX/qcvss8280.mbn video +``` + +A one-to-one match with the C630's list, differing only in the model. So these +files are redistributable once Lenovo and Qualcomm permit it — it is a +licensing question, not a technical one. + +`qcom/sdm850/LENOVO/81JL/` has simply never been contributed. Fedora ships no +sdm850 model firmware at all, so it will not turn up in a `linux-firmware` +update. Two routes: + +**Lenovo's Digital Download Recovery Service.** Lenovo builds a Windows +recovery image against a machine's serial number and lets the owner download +it. That image contains `Windows/System32/DriverStore/FileRepository`, and +therefore all eight files. It is your machine, so you are entitled to the +image, and it yields the exact blobs for your model rather than a stranger's. +Mount the image and search it the same way as any other backup: + +```sh +find /mnt/recovery -type f \ + \( -iname 'qc*850.mbn' -o -iname 'ipa_fws.elf' \) -printf '%10s %p\n' +``` + +**Another C630 owner.** The aarch64-laptops project is where these have +circulated before, and any 81JL's copy is as good as your own. + +Whichever route, drop the result into `firmware/local/` and rebuild — see +[Baking firmware into the image](#baking-firmware-into-the-image). ## Extracting them