我有一台装有新版 Debian 12 的 Compaq CQ58 笔记本电脑。我想解决一个问题,即 WLAN 开/关按钮不起作用。持续呈黄色亮起(应该是黄色或蓝色)并且对按下没有反应。xev
没有抓住它的压力。
答案1
Debian 12 发布时附带了最新的 Linux LTS:Linux 6.1
对于 6.1 版本,存在处理 WMI 密钥的驱动程序:
HP WMI 附加功能位于
drivers/platform/x86/Kconfig
配置项CONFIG_HP_WMI:
- 提示:HP WMI 附加功能
- [...]
- 在 Linux 内核中找到:2.6.29–2.6.39、3.0–3.19、4.0–4.20、5.0–5.19、6.0–6.1 内置模块:
hp-wmi
、hp-wmi
、hp-wmi
[...]
如果您愿意,请在此处选 Y支持 HP 笔记本电脑上基于 WMI 的热键以及从 WMI 读取数据,例如对接或环境光传感器状态。
但实际上还有一个额外的切换来获取此选项:X86_PLATFORM_DRIVERS_HP
它出现在 6.2 中并且是向后移植到 6.1之后。这造成了一个回归,因为这个新选项在 Debian 的内核 6.1 中没有启用:
$ grep CONFIG_X86_PLATFORM_DRIVERS_HP /boot/config-6.1.0-12-amd64
# CONFIG_X86_PLATFORM_DRIVERS_HP is not set
导致CONFIG_HP_WMI
Debian 内核中根本没有任何选项出现。较旧的内核(例如linux-image-6.1.0-9-amd64
)仍然提供此驱动程序。
现在可以做什么?
Debian 12 目前正在向后移植Linux 6.4.4(pull
linux-image-6.4.0-0.deb12.2-amd64
) 确实启用了此选项,因此确实提供了hp_wmi
内核模块。或者你可以使用https://snapshot.debian.org/以类似的方式在回归之前使用最新提供的内核:(
linux-image-6.1.0-9-amd64
确实包括hp_wmi
)。
在适当的内核中启动后,请验证模块hp_wmi
(来自文件hp-wmi.ko
)是否已加载:
lsmod | grep hp_wmi
如果没有,请以 root 身份(因此使用第一个su -
或sudo -i
)尝试使用以下命令加载它:
modprobe hp_wmi
如果它什么也没说,那么它很可能正在工作。如果它返回类似以下内容:
modprobe: ERROR: could not insert 'hp_wmi': No such device
这意味着这个答案没有解决问题(即:模块无法识别当前硬件)。
稍后应该做什么?
不建议使用 -backports 内核,因为它不会收到任何及时的安全更新。同样,保留旧内核意味着它不会更新。
将内核切换到测试/不稳定内核,虽然不是最佳实践,但比向后移植更好,但必须小心谨慎,以避免错误地将整个 Debian 12 升级到测试/不稳定。
真的,你应该提交 Debian bug为了内核(无法判断这应该是 forkernel
还是 for linux
)询问CONFIG_X86_PLATFORM_DRIVERS_HP
并HP_WMI
在 Debian 12 的稳定内核中启用,因为它会导致回归。