envytools/firmware

Script isn't working with firmware versions in the file

Closed this issue · 4 comments

Hi,

The extract_firmware.py script is returning

Skipping gzip blob at 0x6954e4 (33440 bytes), wrong magic: 0x2
Skipping gzip blob at 0x6966e4 (7648 bytes), wrong magic: 0x100c

On firmware download NVIDIA-Linux-x86_64-325.15.run

I'm on Debian Bullseye, no exotic repos, no exotic anything on an old Atom/NVidia box.

Steps to reproduce:

  1. wget -c us.download.nvidia.com/XFree86/Linux-x86_64/325.15/NVIDIA-Linux-x86_64-325.15.run
  2. chmod +x NV*.run
  3. ./NV*.run --extract-only
  4. wget https://raw.githubusercontent.com/envytools/firmware/master/extract_firmware.py
  5. python3 ./extract_firmware.py

Expected result: nouveau compatible firmware blobs.

Actual result: error message at the top of the bug report.

Here's what's in dmesg when the machine is booting.
[ 1426.941515] nouveau 0000:01:00.0: Direct firmware load for nouveau/nvac_fuc084 failed with error -2
[ 1426.941570] nouveau 0000:01:00.0: firmware: failed to load nouveau/nvac_fuc084d (-2)

Here's the error for 340.32
Unknown PGRAPH archive order in this version. Skipping gzip blob at 0x643ba0 (524288 bytes), wrong magic: 0xfc000000 Skipping gzip blob at 0x643fc0 (524288 bytes), wrong magic: 0xfc000000 Skipping gzip blob at 0x950fe4 (39552 bytes), wrong magic: 0x2 Skipping gzip blob at 0x952484 (9568 bytes), wrong magic: 0x100c

Those errors aren't necessarily a problem. Is it generating the files in the end, and are you sticking those files into the firmware dir?

Hi, thanks for the quick reply.
Not sure which files? For example, ls -lh nvac_fuc084 returns a symlink ./nvac_fuc084 -> nv98_bsp

All of the files (and symlinks) that are generated. Are you putting them into /lib/firmware?

Ah, ha! Ok, thank you. Thank you for your patience on this.

I was looking for a single file like nvac_fuc084.fw. Pardon my ignorance.