我在戴尔7480上运行Debian测试。
我一直有很多冷冻问题,我终于把它缩小到过热的问题。在电池上,我可以为1hr+工作没有任何问题,有时系统会冻结:鼠标停止移动,键盘的背光没有关闭,我不能SSH进入这台机器。在交流电上,同样的情况在接通电源后15-20分钟就会发生;当这种情况发生时,笔记本电脑的底部是相当温暖的(不是烫伤的热,只是比它应该的温度高)。我目前在这台电脑的AC和它还没有冻结21分钟后,但我有一个USB风扇连接到它。
问题是风扇从来没有启动过。我在昨天的整个会议中运行了watch sensors,温度确实有变化;然而,在一个手表周期(2秒)中,风扇的速度总是变化为正数,然后在一两秒后返回到零;所以系统读取一个旋转风扇大约2-4秒,然后停止,但我从未听到它。我知道风扇可以工作,因为我运行了车载诊断工具,风扇不仅启动了,而且在记忆测试的某个时候我可以全速听到它。
编辑:我忘记提到我运行了sensors-detect,这意味着我将模块fan和coretemp添加到/etc/modules中,而我确实这样做了。当我运行lsmod时,两个模块总是在Used by列上显示0。
昨天系统在20:15冻结,所以今天我检查了/var/log/syslog,我发现:
Mar 9 20:15:01 host CRON[1203]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)我搜索了这个,我得到的只是这个职位,但我看不出它与我的问题有任何关系(我已经安装了Apache,但这不是服务器,它是一台膝上型计算机,我在这里不运行mysql;而且,CPU仪表不会上升,重新启动也不会比通常慢)。还有很多类似这样的行,但我不记得系统冻结时所有的行都发生过;我肯定不是所有的行都是这样的,因为在一些日志行显示机器仍在运行之后,会出现更多的日志行。
我能收集到的其他信息只有以下几个,也是从/var/log/syslog收集的:
Mar 10 18:45:20 host sensors[600]: dell_smm-isa-0000
Mar 10 18:45:20 host sensors[600]: Adapter: ISA adapter
Mar 10 18:45:20 host sensors[600]: Processor Fan: 0 RPM (min = 0 RPM, max = 6600 RPM)
Mar 10 18:45:20 host sensors[600]: CPU: +39.0°C
Mar 10 18:45:20 host sensors[600]: Ambient: +24.0°C
Mar 10 18:45:20 host sensors[600]: SODIMM: +23.0°C
Mar 10 18:45:20 host sensors[600]: Other: +24.0°C
Mar 10 18:45:20 host sensors[600]: nvme-pci-3c00
Mar 10 18:45:20 host sensors[600]: Adapter: PCI adapter
Mar 10 18:45:20 host sensors[600]: Composite: +23.9°C (low = -273.1°C, high = +84.8°C)
Mar 10 18:45:20 host sensors[600]: (crit = +89.8°C)
Mar 10 18:45:20 host sensors[600]: acpitz-acpi-0
Mar 10 18:45:20 host sensors[600]: Adapter: ACPI interface
Mar 10 18:45:20 host sensors[600]: temp1: +25.0°C (crit = +107.0°C)
Mar 10 18:45:20 host fancontrol[608]: Settings for hwmon6/pwm1:
Mar 10 18:45:20 host fancontrol[608]: Depends on hwmon6/temp1_input
Mar 10 18:45:20 host fancontrol[608]: Controls hwmon6/fan1_input
Mar 10 18:45:20 host fancontrol[608]: MINTEMP=20
Mar 10 18:45:20 host fancontrol[608]: MAXTEMP=60
Mar 10 18:45:20 host fancontrol[608]: MINSTART=150
Mar 10 18:45:20 host fancontrol[608]: MINSTOP=100
Mar 10 18:45:20 host fancontrol[608]: MINPWM=0
Mar 10 18:45:20 host fancontrol[608]: MAXPWM=255
Mar 10 18:45:20 host fancontrol[608]: AVERAGE=1
Mar 10 18:45:20 host systemd[1]: Started fan speed regulator.
Mar 10 18:45:20 host fancontrol[787]: Common settings:
Mar 10 18:45:20 host fancontrol[787]: INTERVAL=10
Mar 10 18:45:20 host ModemManager[795]: <info> ModemManager (version 1.18.6) starting in system bus...
Mar 10 18:45:20 host fancontrol[787]: Settings for hwmon6/pwm1:
Mar 10 18:45:20 host fancontrol[787]: Depends on hwmon6/temp1_input
Mar 10 18:45:20 host fancontrol[787]: Controls hwmon6/fan1_input
Mar 10 18:45:20 host fancontrol[787]: MINTEMP=20
Mar 10 18:45:20 host fancontrol[787]: MAXTEMP=60
Mar 10 18:45:20 host fancontrol[787]: MINSTART=150
Mar 10 18:45:20 host fancontrol[787]: MINSTOP=100
Mar 10 18:45:20 host fancontrol[787]: MINPWM=0
Mar 10 18:45:20 host fancontrol[787]: MAXPWM=255
Mar 10 18:45:20 host fancontrol[787]: AVERAGE=1以上两个区块并不是连续的,但这是相关的信息。以下是一些我认为相关的文件的内容:
cat /sys/devices/platform/dell_smm_hwmon/driver_override
(null)
cat /sys/devices/platform/dell_smm_hwmon/uevent
DRIVER=dell_smm_hwmon
MODALIAS=platform:dell_smm_hwmon
cat fancontrol
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=hwmon6=devices/platform/dell_smm_hwmon
DEVNAME=hwmon6=dell_smm
FCTEMPS=hwmon6/pwm1=hwmon6/temp1_input
FCFANS= hwmon6/pwm1=hwmon6/fan1_input
MINTEMP=hwmon6/pwm1=20
MAXTEMP=hwmon6/pwm1=60
MINSTART=hwmon6/pwm1=150
MINSTOP=hwmon6/pwm1=100最后一个已经在上面的syslog块上了,但是我还是在这里复制它。
我在Linux上遇到的所有解决方案都建议我安装fancontrol,然后运行pwmconfig。第一次尝试时,我发现一个错误,告诉我没有/etc/fancontrol.conf文件;我试着运行这个命令,而一个USB风扇插上了插头,它就开始工作了。为了安全起见,我只按Enter键生成带有默认参数的配置文件,但我仍然听不到粉丝的声音。正如我上面所说的,sensors程序告诉我速度每2-4秒改变一次,但风扇永远听不见,也不会停留。风扇在Windows上工作(这台笔记本以前有它,但我用新的SSD代替了SSD,但保留并且没有格式化旧的),正如我前面所说的,也在车载诊断工具中。我还在USB上运行过Puppy,它没有这个问题,虽然我也没听到风扇在工作。
是否有适当配置fancontrol以解决此问题的方法?还有其他选择吗?我可以很好地使用带有风扇的笔记本电脑,但这不是我想要的解决方案。谢谢!
发布于 2022-03-15 00:01:01
本例中的解决方案是设置modify /etc/default/grub,以便包含以下行:GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_osi=!Windows 2020"。acpi_osi参数告诉内核将ACPI事件视为发生在值OS上的事件。
https://unix.stackexchange.com/questions/693951
复制相似问题