Unable to execute some smbios commands on Linux 6.11
❯ sudo smbios-thermal-ctl --set-thermal-mode=balanced
Helper function to Set Thermal Mode
ERROR: Could not execute SMI.
Common problems are:
-- 'SMM Mitigations' is enabled in BIOS setup.
Run kernel 4.15 or later with
dell-smbios-wmi enabled.
or
Disable 'SMM mitigations' in BIOS setup.
-- Insufficient permissions to perform operation.
Try running as a more privileged account.
Linux : run as 'root' user
Windows: run as 'administrator' user
-- dell-smbios-wmi driver not loaded
Try loading the dell-smbios-wmi driver
Linux : modprobe dell-smbios-wmi
-- Call filtered by Linux kernel
Some functionality is natively supported
by the Linux kernel
-- dcdbas device driver not loaded.
Try loading the dcdbas driver
Linux : modprobe dcdbas
❯ sudo modprobe dell-smbios-wmi
modprobe: FATAL: Module dell-smbios-wmi not found in directory /lib/modules/6.11.2-arch1-1
Commands that output this error:
- smbios-thermal-ctl
- smbios-lcd-brightness
- smbios-wireless-ctl
Commands that seem to work (or at least they don't show this error):
- smbios-battery-ctl
- smbios-wakeup-ctl
smbios-thermal-ctl works on Linux 6.6.52 LTS. Doesn't work on 6.11.1 and 6.11.2. Worked on Linux 6.10 with BIOS 1.30.0.
❯ sudo smbios-sys-info-lite
Libsmbios: 2.4.3
System ID: 0x098F
Service Tag: DJ6FF63
Express Service Code: 29457824907
Asset Tag: Not Specified
Product Name: XPS 17 9700
BIOS Version: 1.31.0
Vendor: Dell Inc.
Is Dell: 1
OEM String 1: Dell System
OEM String 2: 1[098F]
OEM String 3: 3[1.0]
OEM String 4: 12[www.dell.com]
OEM String 5: 14[1]
OEM String 6: 15[11]
OEM String 7: 27[29457824907]
Might be related to https://www.phoronix.com/news/Dell-PC-Driver-For-Linux-6.11. But sudo modprobe dell-pc doesn't fix this issue.
I also have the exact same issue on my arch system, it is specific to the 6.11 kernel since I had no issues on the 6.6.52 lts kernel, or the prior 6.10 kernel.
> sudo smbios-sys-info-lite
Libsmbios: 2.4.3
System ID: 0x0BF7
Service Tag: 1V15PY3
Express Service Code: 4053180315
Asset Tag: Not Specified
Product Name: Dell G15 5530
BIOS Version: 1.19.0
Vendor: Dell Inc.
Is Dell: 1
OEM String 1: Dell System
OEM String 2: 1[0BF7]
OEM String 3: 3[1.0]
OEM String 4: 12[www.dell.com]
OEM String 5: 14[1]
OEM String 6: 15[0]
OEM String 7: 27[4053180315]
Same issue on a XPS 13 9320, running Ubuntu 24.10 with kernel 6.11.0-8
I believe functionality for smbios-thermal-ctl has been merged into the kernel. You can use sysfs to change the settings instead: under /sys/firmware/acpi/, see platform_profile and platform_profile_choices.
Previously, I had a script calling smbios-thermal-ctl when I changed the profile in tuned so that the fan/thermal profile would change, however, it seems to be automatically done now :)
Note the error message saying:
-- Call filtered by Linux kernel
Some functionality is natively supported
by the Linux kernel
It's filtered here: https://github.com/torvalds/linux/blame/ae90f6a6170d7a7a1aa4fddf664fbd093e3023bc/drivers/platform/x86/dell/dell-smbios-base.c#L80
It was added in this commit: https://github.com/torvalds/linux/commit/996ad412981024a9bb90991ab195685d37187bbd
I'm not sure about smbios-lcd-brightness or smbios-wireless-ctl, as I don't use it. Searching in the Kernel's code seems to show that smbios-wireless-ctl's functionality is implemented here: https://github.com/torvalds/linux/blob/81983758430957d9a5cb3333fe324fd70cf63e7e/drivers/platform/x86/dell/dell-laptop.c#L399
I found this: https://linux.debian.bugs.dist.narkive.com/bGnm2f83/bug-1087138-smbios-thermal-ctl-no-longer-works-under-linux-6-11 It works under suse linux also...