我使用的是 Linux Mint 14 Cinnamon 64 位。我遇到了笔记本电脑风扇一直转的问题。笔记本电脑的详细信息和读数:
Linux core-Inspiron-N7010 3.5.0-17-generic #28-Ubuntu SMP
Tue Oct 9 19:31:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Sensors
acpitz-virtual-0 Adapter: Virtual device
temp1: +26.8°C (crit = +100.0°C)
temp2: +0.0°C (crit = +100.0°C)
radeon-pci-0200
Adapter: PCI adapter
temp1: +75.5°C
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +54.0°C (high = +95.0°C, crit = +105.0°C)
Core 2: +52.0°C (high = +95.0°C, crit = +105.0°C)
inxi -Fc 0
System: Host: core-Inspiron-N7010
Kernel: 3.5.0-17-generic x86_64 (64 bit)
Desktop: Gnome Distro: Linux Mint 14 Nadia
Machine:
Mobo: Dell model: 0PJTXT version: A11 serial: .24XCSN1.CN486430B30123.
Bios: Dell version: A11 date: 03/31/2011
CPU:
Dual core Intel Core i5 CPU M 460 (-HT-MCP-)
cache: 3072 KB
flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx)
Clock Speeds:
1: 1199.00 MHz 2: 1199.00 MHz
3: 1199.00 MHz 4: 1199.00 MHz
Graphics:
Card: Advanced Micro Devices [AMD] nee ATI Manhattan
[Mobility Radeon HD 5400 Series]
X.org: 1.13.0 drivers: ati,radeon (unloaded: fbdev,vesa)
tty size: 197x48 Advanced Data: N/A for root
Audio:
Card-1: Intel 5 Series/3400 Series Chipset
High Definition Audio driver: snd_hda_intel
Sound: ALSA ver: 1.0.25
Card-2: Advanced Micro Devices [AMD] nee ATI Cedar HDMI Audio
[Radeon HD 5400/6300 Series] driver: snd_hda_intel
Network:
Card-1: Atheros AR8152 v1.1 Fast Ethernet
driver: atl1c
IF: eth0 state: down mac: f0:4d:a2:57:71:f4
Card-2: Broadcom BCM4313 802.11b/g/n Wireless LAN Controller
driver: bcma-pci-bridge
IF: wlan0 state: up mac: 1c:65:9d:7c:e8:5e
Drives: HDD Total Size: 128.0GB (3.2% used) 1:
id: /dev/sda model: SAMSUNG_SSD_830 size: 128.0GB
Partition:
ID: / size: 110G used: 3.8G (4%) fs: ext4
ID: swap-1 size: 8.44GB used: 0.00GB (0%) fs: swap
RAID: No RAID devices detected -
/proc/mdstat and md_mod kernel raid module present
Sensors: System Temperatures: cpu: 26.8C mobo: 0.0C gpu: 76.0
Fan Speeds (in rpm): cpu: N/A
Info: Processes: 162 Uptime: 17 min
Memory: 915.1/7847.5MB Client: Shell inxi: 1.8.4
答案1
我看到你正在戴尔 Inspiron 笔记本电脑。
您很可能能够解决运行问题i8kutils
(至少有一位回答者已经建议过),同时还可以使用禁用 BIOS 风扇控制的技巧。为了完整起见,我将提供一些有关戴尔笔记本电脑风扇控制的一般说明,以及 的完整说明i8kutils
。
(dellfand
比 更旧i8kutils
,但仍然维护且有详尽的文档,因此这ì8kutils
是我的建议。)
哪些功能可能无法在戴尔笔记本电脑上运行
控制笔记本电脑风扇的两种常见且直接的方法是通过 ACPI 和 PWM 引脚,然而不幸的是:
戴尔笔记本电脑缺乏交流电源接口风扇控制能力 (*1)
- 因此,尝试使用 ACPI 启动参数等将会失败
据我所知,戴尔 Latitude 笔记本电脑(可能还有 Inspiron)缺少 pwm 可控风扇 (*2)
- 因此,
fancontrol
/pwmconfig
程序将无法运行
- 因此,
使用 i8kutils
这个包被i8kutils
设计用来控制戴尔 Inspiron 笔记本电脑的风扇,通过系统管理界面BIOS. 一些用户报告说他们的戴尔纬度笔记本电脑也是如此(我是其中之一,使用戴尔 Latitude E7440) - 但是,通常需要一些技巧来摆脱干扰 BIOS 风扇控制。
安装i8kutils
:
$ sudo apt-get install i8kutils
尝试一下:
$ i8kfan 2 2 # set to max speed
$ i8kfan 0 0 # set to 0 speed
...听听看它是否有效。
禁用 BIOS 风扇控制
如果风扇能正常工作,但其他东西却在阻碍设定的速度(许多使用 Dell Latitude 笔记本电脑的用户都报告了这种情况),这是由于计划的 SMM 会话将风扇速度调低了。幸运的是,有一种方法可以通过写入 SMM 寄存器来禁用 BIOS 风扇控制。
警告:请参阅 smm.c 顶部的警告。此方法将写入 SMM 寄存器。但是,我还没有看到任何用户报告此操作会造成问题。此外,所有尝试此操作的报告都表明禁用 BIOS 风扇控制是成功的。
i8kutils
包含程序源代码smm
,但i8kutils
软件包不包含编译后的二进制文件。我们要做的是下载源代码i8kutils
,编译程序smm
,并使用适当的参数运行它,通过写入 SMM 寄存器来禁用 BIOS 风扇控制。
下载构建所需的软件包:
$ sudo apt-get build-dep i8kutils
下载i8kutils
源代码,解压并进入目录(具体名称取决于 i8k 版本):
$ apt-get source i8kutils
$ tar xvf i8kutils_1.33.tar.gz
$ cd i8kutils-1.33/
如果smm
在32 位系统:
$ make
(以上将执行gcc -g -O2 -Wall -I. -o smm smm.c
。)
如果smm
在64 位系统:
$ gcc -g -O2 -Wall -I. -o smm -m32 smm.c
smm
使用参数运行30a3
以禁用 SMM 风扇控制:
$ sudo ./smm 30a3
现在,BIOS 风扇控制应该被禁用。尝试使用 设置速度i8kctl
,听风扇的声音并确保速度持续。
笔记:此设置将保留重启和关机。可以使用 再次启用 BIOS 风扇控制$ sudo ./smm 31a3
。
*1:我看过官方的资料,现在找不到。如果你想验证你的硬件是否缺少它,请按照 Ubuntu Wiki 上的“DebuggingACPI”说明进行操作(我无权提供链接)。
*2:为了验证这一点,运行 pwmconfig:,sudo apt-get install fancontrol
将sudo pwm-config
判断是否存在支持 pwm 的风扇
答案2
因为它是 i5 处理器,并且您有 Mobility Radeon HD 5400 系列显卡。这意味着您有双显卡。Radeon 图形驱动程序在 Linux 中效果不佳。您必须安装 AMD 催化剂驱动程序或完全关闭 AMD 卡。
两者都有自己的优势,例如 AMD 显然更适合玩游戏,我不确定 Radeon HD 5400 至少与英特尔 hd 3000 (sandy bridge) 或英特尔 hd 4000 (ivy bridge) 相比有多好。英特尔显卡的电池寿命更长,运行温度更低,同时可以玩一些游戏(甚至是 steam 上的 TF2)。
我猜是显卡(AMD)风扇在运转。使用以下命令检查是否如此。
$ sudo su -
# echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
首先以 root 身份登录终端,然后关闭辅助卡。如果一段时间后风扇关闭。
您可以将此命令复制到 /etc/rc.local(在 exit 0 之前)并在启动前关闭 AMD。或者,如果您打算安装 AMD 驱动程序而不是英特尔驱动程序,请按照这两个链接操作。
http://ubuntuforums.org/showthread.php?t=1930450
注意:如果是双显卡情况,仅通过上述第一个链接安装催化剂驱动程序可能不起作用。为此,您可能需要在 /etc/X11 目录中安装 xorg.conf。如果 aticonfig 没有创建这样的文件,您可以从第二个链接复制它。
但是,您可能需要使用以下命令在 xorg.conf 中为 AMD 卡设置适当的端口号
$ lspci | grep VGA
注意:如果您计划同时使用两者,目前它们无法按预期工作。例如,Catalyst 驱动程序不支持最新的 xserver 驱动程序。
您可能能够使用催化剂驱动程序在集成英特尔卡和独立 AMD 卡之间切换,但由于催化剂驱动程序中的错误,您将失去英特尔卡的 3D 性能。但是,使用 AMD 卡,您可能会获得更好的游戏性能,并且风扇的运行温度将比现在更低。不过,笔记本电脑的电池寿命不会像使用英特尔卡那样长。
答案3
两个主要步骤:
弄清楚常见组件的驱动程序是否支持 Linux 下的电源管理。CPU 和风扇是否可以根据温度加快或减慢速度;是否可以关闭硬件以节省电量?
电源管理需要每个组件都有专用的驱动程序支持。这不是一件简单的事情。找出哪些服务/进程让你的笔记本电脑忙碌,这样你就可以决定是否要禁用它们。试试英特尔的Linux 版 Powertop查看哪些设备使您的笔记本电脑忙碌。
答案4
有一个控制戴尔风扇的特定模块。i8k
确保已安装并加载该模块:
sudo apt-get install i8kutils
sudo modprobe i8k
如果尚不存在,请将 i8k 添加到/etc/modules
:
sudo echo "i8k" >> /etc/modules
还有一个控制戴尔风扇的漂亮小程序,叫做dellfand
。它的网站是(http://dellfand.dinglisch.net/)似乎已经关闭,所以我上传了我拥有的副本这里.也许值得一试。
另一个可能导致风扇一直开着的原因是 CPU 缩放。大多数现代系统根据当前需求缩放 CPU 频率。在 Linux 系统上,这由“cpu 调节器”控制。如果将其设置为“按需”,则 CPU 频率将根据服务器的当前负载进行调高/调低。如果将其设置为“性能”,则 CPU 将始终以最高频率运行,从而产生更多热量,并且必须不断打开风扇来控制温度。
您可以使用以下命令检查设置了哪个调控器:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
可用选项包括:
- 表现
- 节能
- 用户空间
- 一经请求
- 保守的
您可以找到有关每个内容的更多信息这里。
要设置“ondemand”调控器,请执行以下操作:
sudo echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor