systemd failed to load kernel module thinkpad_acpi

With

systemd 228
+PAM -AUDIT +SELINUX -IMA +APPARMOR -SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT -GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID -ELFUTILS +KMOD -IDN

on

OpenSUSE 42.2

systemd-modules-load failed to insert thinkpad_acpi, complaining about:

No such file or directory

However, seconds later, it is successfully inserted.

The relevant log sudo journalctl | grep think reads:

06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_ctl_notify (err 0)
06:28:05 notebook systemd-modules-load[109]: Failed to insert ‘thinkpad_acpi’: No such file or directory
06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_ctl_add (err 0)
06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_card_register (err 0)
06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_card_free (err 0)
06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_ctl_new1 (err 0)
06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_card_new (err 0)
06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_ctl_boolean_mono_info (err 0)
06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_ctl_notify (err 0)
06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_ctl_add (err 0)
06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_card_register (err 0)
06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_card_free (err 0)
06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_ctl_new1 (err 0)
06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_card_new (err 0)
06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_ctl_boolean_mono_info (err 0)
06:28:05 notebook kernel: thinkpad_acpi: Unknown symbol snd_ctl_notify (err 0)
06:28:08 notebook kernel: thinkpad_acpi: ThinkPad ACPI Extras v0.25
06:28:08 notebook kernel: thinkpad_acpi: http://ibm-acpi.sf.net/
06:28:08 notebook kernel: thinkpad_acpi: ThinkPad BIOS 6QET70WW (1.40 ), EC 6QHT34WW-1.15
06:28:08 notebook kernel: thinkpad_acpi: Lenovo ThinkPad X201, model 3323DAG
06:28:08 notebook kernel: thinkpad_acpi: detected a 16-level brightness capable ThinkPad
06:28:08 notebook kernel: thinkpad_acpi: radio switch found; radios are enabled
06:28:08 notebook kernel: thinkpad_acpi: possible tablet mode switch found; ThinkPad in laptop mode
06:28:08 notebook kernel: thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver
06:28:08 notebook kernel: thinkpad_acpi: Disabling thinkpad-acpi brightness events by default…
06:28:08 notebook kernel: thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
06:28:08 notebook kernel: thinkpad_acpi: rfkill switch tpacpi_wwan_sw: radio is blocked
06:28:08 notebook kernel: thinkpad_acpi: Standard ACPI backlight interface available, not loading native one
06:28:08 notebook kernel: input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input8
06:28:08 notebook systemd-modules-load[417]: Inserted module ‘thinkpad_acpi’
06:28:08 notebook thinkfan[797]: thinkfan 0.9.1 starting…

Seems to me this is something you need to ask Lenovo…

From what you posted, it looks like the boot sequence is looking for a kernel module called “thinkpad_acpi” but as you note… The module doesn’t exist. I don’t know how a vendor-specific kernel module would be installed when it’s not distributed as part of the mainline kernel…

But, it doesn’t seem to be a critical error because booting continues, and later is able to make direct calls to your BIOS to read your system’s hardware values. I don’t know that this information is equivalent to what the system wants from the missing kernel mdoule or not… and I don’t know what is in the missing kernel module.

Note that this is a kernel module possibly with a file extension “ko” and not a part of systemd or anything else.

TSU

It is part of the kernel. For reference, I get…

# rpm -ql kernel-default|grep thinkpad
/lib/modules/4.4.57-18.3-default/kernel/drivers/platform/x86/thinkpad_acpi.ko

@Konfekt: Please post output of the following…

uname -r
rpm -ql kernel-default|grep thinkpad

--- ~ » uname -r
4.4.57-18.3-default
--- ~ » rpm -ql kernel-default | egrep thinkpad
/lib/modules/4.4.57-18.3-default/kernel/drivers/platform/x86/thinkpad_acpi.ko

It is there, because the log tells us three seconds later that


06:28:08 notebook systemd-modules-load[417]: Inserted module 'thinkpad_acpi'
06:28:08 notebook thinkfan[797]: thinkfan 0.9.1 starting...

On http://www.thinkwiki.org/wiki/Thinkpad-acpi it says that the thinkpad_acpi module has to be disabled before suspending and show how that’s done for init.v. However OpenSUSE 42.2 uses systemd. Perhaps it has to do with it. But the distribution should already take care of it.

Yep, so a bug report is likely needed here.

Actually, focussing on this error message

notebook systemd-modules-load[109]: Failed to insert 'thinkpad_acpi': No such file or directory

check file entries in /etc/modules-load.d/ and check syntax of those perhaps

There is the file /usr/lib/modules-load.d/thinkpad_acpi.conf with content


#Load thinkpad_acpi kernel module at boot 
thinkpad_acpi

However, commenting it out gives the same error on startup.

I’m out of ideas…can only suggest a bug report now.