First of all: I just realized that update-linbofs automatically tries to detect and fix failed module loads which is an awesome feature !
Unfortuntaly, the function "parse_firmware_logs" does not yield any missing modules for our log files even though i found several when going through the logs manually. I do not have a deep understanding of kernel modules though, so it might be, that all of this "failed"-messages are ignored for a good reason....
Here are the cases where i see failed module loads and the script doesn't:
One module that wasn't found always appears in a log entry like
r8169 0000:03:00.0: Direct firmware load for rtl_nic/rtl8168f-1.fw failed with error -2
In this case the part looking for pci_id (local pci_ids=...) does ignore it due to the regex
00:[0-9a-f][0-9a-f].[0-9a-f]:
Changing the regex to
[0-9a-f][0-9a-f]:[0-9a-f][0-9a-f].[0-9a-f]:
would fix that.
Another unfound module appears in
02.0: Direct firmware load for i915/skl_dmc_ver1_27.bin failed with error -2
i915 0000:00:02.0: [drm] Failed to load DMC firmware i915/skl_dmc_ver1_27.bin (-ENOENT). Disabling runtime power management.
Here the script extracts the pci_id 00:02.0 but later on fails to find a line that contains this ID as well as "for .* failed".
Third undetected firmware load-fail looks like this in our log file
: Direct firmware load for rtl_nic/rtl8153b-2.fw failed with error -2
r8152 2-9:1.0: unable to load firmware patch rtl_nic/rtl8153b-2.fw (-2)
First of all: I just realized that update-linbofs automatically tries to detect and fix failed module loads which is an awesome feature !
Unfortuntaly, the function "parse_firmware_logs" does not yield any missing modules for our log files even though i found several when going through the logs manually. I do not have a deep understanding of kernel modules though, so it might be, that all of this "failed"-messages are ignored for a good reason....
Here are the cases where i see failed module loads and the script doesn't:
One module that wasn't found always appears in a log entry like
r8169 0000:03:00.0: Direct firmware load for rtl_nic/rtl8168f-1.fw failed with error -2In this case the part looking for pci_id (local pci_ids=...) does ignore it due to the regex
00:[0-9a-f][0-9a-f].[0-9a-f]:Changing the regex to
[0-9a-f][0-9a-f]:[0-9a-f][0-9a-f].[0-9a-f]:would fix that.
Another unfound module appears in
Here the script extracts the pci_id 00:02.0 but later on fails to find a line that contains this ID as well as "for .* failed".
Third undetected firmware load-fail looks like this in our log file