FS#57583 - [linux] CONFIG_CAN_SOFTING driver produces missing firmware warnings w/ mkinitcpio

Attached to Project: Arch Linux
Opened by Jeff Hodd (jghodd) - Tuesday, 20 February 2018, 16:07 GMT
Last edited by Jan de Groot (JGC) - Friday, 23 February 2018, 16:23 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Jan de Groot (JGC)
Architecture All
Severity Very Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: mkinitcpio is giving warnings of missing firmware for softing_cs since linux-4.15.3. I went ahead and created my own softing-firmware package with the most recent firmware - WHICH DATES BACK TO 2008! Why on earth is SocketCAN being enabled in this kernel? This is a very old alternative networking stack, which appears to have no current use.


Additional info:
* linux-4.15.3
* CONFIG_CAN_SOFTING=m
CONFIG_CAN_SOFTING_CS=m


Steps to reproduce: mkinitcpio -p linux
This task depends upon

Closed by  Jan de Groot (JGC)
Friday, 23 February 2018, 16:23 GMT
Reason for closing:  Not a bug
Comment by Jan de Groot (JGC) - Wednesday, 21 February 2018, 12:15 GMT
Question is: why does mkinitcpio include the module on your system?

As for the "DATES BACK TO 2008": this is a PCMCIA CANBUS driver, I haven't seen any recent PCMCIA hardware since 2008, so if the firmware from 2008 works there's no reason to create newer firmware.

I don't think PCMCIA/Cardbus is very common on x86_64 though, cardbus was replaced by ExpressCard in 2003. On debian the pcmcia modules are in a split kernel package.
Comment by Jeff Hodd (jghodd) - Thursday, 22 February 2018, 07:38 GMT
I guess the question being asked is why suddenly enable modules for hardware that isn't in common use, and hasn't been for 10 years? Did someone ask for the softing kernel modules to be enabled? At best, this hardware is rarely used, if ever. The firmware wasn't easy to find, and the kernel modules are useless without the firmware - for which arch provides no solution, official or AUR.

Enabling these modules now causes a firmware warning when running mkarchiso:

[mkarchiso] INFO: Configuration settings
[mkarchiso] INFO: Command: run
[mkarchiso] INFO: Architecture: x86_64
[mkarchiso] INFO: Working directory: work/x86_64
[mkarchiso] INFO: Installation directory: arch
[mkarchiso] INFO: Run command: mkinitcpio -c /etc/mkinitcpio-archiso.conf -k /boot/vmlinuz-linux -g /boot/archiso.img

==> Starting build: 4.15.3-2-ARCH
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [915resolution]
-> Running build hook: [v86d]
-> Running build hook: [memdisk]
-> Running build hook: [archiso_shutdown]
-> Running build hook: [archiso_bslx]
-> Running build hook: [archiso_loop_mnt]
-> Running build hook: [archiso_pxe_common]
==> WARNING: Possibly missing firmware for module: softing_cs
-> Running build hook: [archiso_pxe_nbd]
-> Running build hook: [archiso_pxe_http]
-> Running build hook: [archiso_pxe_nfs]
-> Running build hook: [archiso_kms]
-> Running build hook: [block]
-> Running build hook: [pcmcia]
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [gma3600]
==> Generating module dependencies
==> Creating xz-compressed initcpio image: /boot/archiso.img


Modules shouldn't be suddenly enabled if they require firmware that is not provided - not even within the kernel source tree. This is, for all intents and purposes, an obsolete driver. So why suddenly enable the modules?
Comment by Jan de Groot (JGC) - Friday, 23 February 2018, 08:45 GMT
The request once was here: https://bugs.archlinux.org/task/43209
So between 4.2 and 4.15 it got disabled somewhere.

The kernel is full of "obsolete" drivers for many users. There's no harm in including this module. Missing firmware messages are common on other distributions also. When I generate initramfs on a Debian system I see several missing firmware warnings for SCSI card modules that are not present in my system, so I can safely ignore the missing firmware messages.

As for missing firmware: the firmware exists somewhere on the internet, you found it. Someone can make an AUR package out of it. People who use the hardware won't have a problem creating a firmware package only once, but will have a problem with a new kernel every few days that they have to recompile to get their hardware working, over and over again.
Comment by Eli Schwartz (eschwartz) - Friday, 23 February 2018, 13:25 GMT
[2018-02-22 15:09] [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: wd719x
[2018-02-22 15:09] [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: aic94xx


This appears on every mkinitcpio run, for me and many other people. Most Arch users have no need of either https://aur.archlinux.org/packages/aic94xx-firmware/ or https://aur.archlinux.org/packages/wd719x-firmware/

Nevertheless, it doesn't seem logical to remove the kernel modules and force people who do need this, to compile their own kernels. Warnings are by definition not errors, there is nothing wrong here.

Loading...