我最近从 4.9 内核更新到 4.14 只是发现我的扬声器有持续的嗡嗡声。我已将问题缩小到模块的power_save
参数snd_hda_intel
。启用时会发出持续的嗡嗡声,但禁用(设置为 0)时会静音。
我试图通过使用 amodprobe.d
和 kernel 参数来设置该值。问题是,该值被我系统中的某些东西覆盖/设置。
强制重新加载模块(默认为关闭)或写入 0/sys/module/snd_hda_intel/parameters/power_save
将暂时解决问题,直到重新启动或从挂起中唤醒。我无法确定是什么启用了 power_save 功能。我什至尝试使用inotifywait
并lsof
找到罪魁祸首,但没有任何结果(似乎不适用于睡眠/唤醒周期)。
这是一台台式电脑,因此没有电池,因此没有 AC 与 BAT 模式或类似 pm-util 的任何东西。我正在使用 GNOME 版本的 Manjaro,但我确信任何平台的解决方案都可能有所帮助。如果有帮助的话,音频是一个板载的 ALC887-VD 芯片组。
任何人都可以建议我在哪里看或可能导致这种情况吗?
更新:
我注意到我的发行版附带了 TLP(类似于pm-utils
),并且在 4.14 内核 TLP 上总是以电池模式启动。我的电脑没有电池,但有无线外围设备。我认为这可能是 TLP 本身的一个错误。
更改后您是否更新了 initramfs 文件
/etc/modprobe.d/
?声音驱动程序模块可能会提前加载,并且在安装根文件系统之前您的修改将不可用 - 此时为时已晚,因为模块已经从 initramfs 加载。我对 Arch 不太熟悉,但看起来mkinitcpio是更新 initramfs 文件所需的命令。
我已经确认 TLP(版本 1,0)在这里有问题。它通过扫描
/sys/class/power_supply
. 由于它检测到由电池供电的设备并且没有由电源供电的设备,因此它错误地认为系统是由电池供电的。如果有人想看这个,检测循环就在这里。在内核 4.9 上,我的
/sys/class/power_supply
目录是空的,但在 4.14 上,它填充了我的罗技无线鼠标和键盘。我猜测许多其他使用无线外围设备的 TLP 用户也可能会受到此错误的影响。但是,在大多数情况下,许多人甚至可能没有意识到他们的台式 PC 正在以电池模式运行。更新:
该问题已在 TLP 1.1 beta 中得到修复。它现在忽略 HID 设备,系统正确使用 AC 模式。