1

I have a Compaq CQ58 laptop with fresh Debian 12. I would like to fix one problem, namely the non-working WLAN on/off button. Constantly lights up yellow (it should be either yellow or blue) and does not respond to pressing. xev does not catch its pressing.

1
  • 1
    @A.B, oh, sorry. I solved problem with WLAN button with your answer! Many thanks to you! Commented Oct 8, 2023 at 12:27

1 Answer 1

1

Debian 12 ships with the latest Linux LTS when it was released: Linux 6.1

For the 6.1 version the driver handling WMI keys exists:

CONFIG_HP_WMI:

HP WMI extras found in drivers/platform/x86/Kconfig

The configuration item CONFIG_HP_WMI:

  • prompt: HP WMI extras
  • [...]
  • found in Linux kernels: 2.6.29–2.6.39, 3.0–3.19, 4.0–4.20, 5.0–5.19, 6.0–6.1 modules built: hp-wmi, hp-wmi, hp-wmi

[...]

Say Y here if you want to support WMI-based hotkeys on HP laptops and to read data from WMI such as docking or ambient light sensor state.

But actually there's an additional toggle to get this option: X86_PLATFORM_DRIVERS_HP which appeared in 6.2 and was backported to 6.1 later. This created a regression, because this new option wasn't enabled in Debian's kernel 6.1:

$ grep CONFIG_X86_PLATFORM_DRIVERS_HP /boot/config-6.1.0-12-amd64 # CONFIG_X86_PLATFORM_DRIVERS_HP is not set 

resulting in no CONFIG_HP_WMI option appearing at all in Debian's kernel. Older kernels (such as linux-image-6.1.0-9-amd64) still provided this driver.


What can be done now?

  • Debian 12 offers currently in backports Linux 6.4.4 (pulling linux-image-6.4.0-0.deb12.2-amd64) which does enable this option and thus does provide the hp_wmi kernel module.

    Instructions on activating backports: https://backports.debian.org/Instructions/

  • Or you can use https://snapshot.debian.org/ in a similar way to use the latest provided kernel before the regression: linux-image-6.1.0-9-amd64 (does include hp_wmi).

Once booted in an adequate kernel, please verify that the module hp_wmi (from file hp-wmi.ko) is loaded:

lsmod | grep hp_wmi 

If not, as root (so using first su - or sudo -i) attempt to load it with:

modprobe hp_wmi 

If it tells nothing chances are it's working. If it returns something like:

modprobe: ERROR: could not insert 'hp_wmi': No such device 

that would mean this answer didn't solve the problem (ie: the module doesn't recognize the current hardware).


What should be done later?

  • Using a -backports kernel is not recommended, because it doesn't receive any timely security update. Likewise, keeping an older kernel means it's not updated.

  • Switching the kernel to a testing/unstable kernel, while not best practice would be better than backports, but some adequate care must be done to avoid upgrading by mistake the whole Debian 12 into testing/unstable.

Really, you should file a Debian bug for the kernel (can't tell if this should be for kernel or for linux) asking that CONFIG_X86_PLATFORM_DRIVERS_HP and HP_WMI get enabled in Debian 12's stable kernel because it's causing a regression.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.