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
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
|
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
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.
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?
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.
[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.