docs: the missing firmware is sourceable, not lost
Some checks failed
build image / build (push) Has been cancelled
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:
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user