docs: the missing firmware is sourceable, not lost
Some checks failed
build image / build (push) Has been cancelled

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) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWRjNJMistCy6ngXH5aJLS
This commit is contained in:
2026-07-28 06:58:29 +03:00
parent 2457df7a37
commit 1423366f30

View File

@@ -18,10 +18,15 @@ below.
## What has to come off the Windows partition ## What has to come off the Windows partition
These are signed against per-model keys, so nobody can redistribute them and These are signed against per-model keys and Fedora does not ship them, so on a
they exist on your machine only inside its Windows install. The list is not a stock install they exist only inside the machine's Windows partition. Nothing
guess — it is every `firmware-name` property in the mainline device tree, about them is unredistributable in principle — the equivalent files for the
`arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts`: 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 | | 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`. 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 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 ## Extracting them