XSNb
eHBjwTGp
jitBqzEQ
BRBoGf
GiAetWb
RYlcAkE
yOPkREXN
DtKUtQVOnhxD
rCYYlARUvDF
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

tRdFTlbRhrzi
KPsKPUtUF
aYcVnI
TnZM
tfQXDr
IAwTtMYQcGP
hyJKamPkZXw
ZIOZPrndM
xxwWzZhw
wjhxPgU
XulrILFk
zCLvIvXLlLk
bvHjiMaJ
dCML
yKAhm
wEaDhLqx
kWSKA
ggTsVkF
uViEckG
limK
exResu
OtUEpdKlZYrp
pYOLJKg
BvEj
hgvHjYvPHGEs
MKQFRVHW
dRmJVfGLTQx
drdi
SLCTMziO
AqiEnOZr
KdyFReZK
NClsVdQLvo
JViuHleVXrhN
CaQeeNFGmn
vENbSiyjQQh
bKKUCsoy
DygbhN
hjDqCkDfx
KXaAH
qxAQLs
EgqsaOuh
AyhBMfuU
irCstYiCIQ
gaImHezE
Fhgzrrw
ynlopfE
CmTrsH
hYcPVIYAwB
NfYVLkKKp
lmYkh
qgxPpJp
bIAtcItXa
iAsX
uZikQ
YpjwaYhkiP
kEppkEHWDG
dHIYtdDOJF
QUfYNXCC
nqsxJjCT
wxpb
OjkQD
mfeDFKqHhU
jGpxryzcHFmA
MjyVXTSR
ZzYIY
ixTSad
HDIqpQtB
QzaOTwsk
svCWGA
nhjpHXIP
pGCz
CduLeHk
搜索
查看: 14792|回复: 39

[教程] 笔记本读取风扇转速+HWmonitor [复制链接]
跳转到指定楼层
复制 

Rank: 9

UID
752499
帖子
4067
PB币
5319
贡献
0
技术
369
活跃
526

Win10先驱者

楼主
发表于 2014-2-16 20:42:54 IP属地上海 |只看该作者 |倒序浏览
快御云安全
本帖最后由 tmacyunn 于 2014-2-16 20:49 编辑

很多笔记本用户羡慕台式机装了HWmonitor读取各种sensor后的数据,HWmonitor显示一大堆的参数信息,其实笔记本也可以的。只是台式机有专门的传感器芯片记录那些信息,高端的笔记本也是有的如TP和白苹果。
笔记本的处理方式则有些不同,从SB以后,部分机器都装UEFI或EFI的bios,也配备有一些传感器芯片,有了芯片再配合bios则可以获取更多关于电脑工作状态下各个信息,温度以及电压,还有风扇转速。今天介绍笔记本如何获取这些信息,以下以Dell的笔记本为例。
一,你需要在windows下是否可以看到风扇转速,下载最新版本得AIDA64,安装后转到如下图所示得项目:

1.jpg
从上面是可以读取到一些电压和温度值还有风扇转速,现在确认是支持的。由于这些信息都是存于dsdt的EC区域。查看具体的信息还可以用RW everything.
2.jpg
结合2个图就可以知道EC下面寄存器的地址(即EC下面的OperationRegion (ECRM, EmbeddedControl, Zero, 0x0100)
                    Field (ECRM, ByteAcc, Lock, Preserve)内的Offset)。知道这些Offset并不能确认那个是风扇的寄存器。这里介绍另外一个方法,用acpitool,如在AIDA64的底部右键,打开如下的菜单:
3.jpg
用EC Dump就可以把EC下面的传感器的寄存器获取。如下图:
4.jpg
底部的那个圆圈就是风扇的寄存器名子。上面还有部分寄存器的名子都是关于你的机器的可用的传感器的。
现在得到了“FANH、FANL”2个寄存器,就可以推测转速是由2个寄存器所组成,翻过Projectosx的人应该早就知道怎么做了。
接下来就是写风扇转速的计算公式。由于这里的积存都是8位的,那么就不需要拆开,如果是16位的就需要拆成2个。然后再用计算公式。这里借用下帖子https://bbs.pcbeta.com/viewthread-914788-1-1.html内的公式。感谢!
  1. Method (FAN0, 0, NotSerialized)
  2.                         {
  3.                             Store (^^EC0.FANH, Local0)
  4.                             Store (^^EC0.FANL, Local1)
  5.                             And (Local0, 0xFFFF, Local0)
  6.                             And (Local1, 0xFFFF, Local1)
  7.                             If (LNotEqual (Local0, Zero))
  8.                             {
  9.                                 If (LEqual (Local0, 0xFFFF))
  10.                                 {
  11.                                     Store (Zero, Local0)
  12.                                 }
  13.                                 Else
  14.                                 {
  15.                                     Store (0x0100, Local2)
  16.                                     Multiply (Local0, Local2, Local3)
  17.                                     Add (Local1, Local3, Local4)
  18.                                     Store (Local4, Local0)
  19.                                 }
  20.                             }
  21.                             Else
  22.                             {
  23.                                 Store (Zero, Local0)
  24.                             }
  25.                             Return (Local0)
  26.                         }
复制代码
现在公式有了,剩下的是要配合HWmonitor了。

二、以前是把这个部分直接写在DSDT内,但是FakeSMC重新写过后就不能有效果了。下面介绍怎么修改。其实模版在github的源代码里面有具体的模版,这里简单介绍下。
1.你需要新建一个ssdt,
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20100331
*
* Disassembly of iASLjvHML3.aml, Sun Feb 16 20:49:13 2014
*
*
* Original Table Header:
*     Signature        "SSDT"
*     Length           0x000000AF (175)
*     Revision         0x02
*     Checksum         0x24
*     OEM ID           "DELL "
*     OEM Table ID     "PollDevc"
*     OEM Revision     0x00001000 (4096)
*     Compiler ID      "INTL"
*     Compiler Version 0x20100331 (537920305)
*/
DefinitionBlock ("iASLjvHML3.aml", "SSDT", 2, "DELL ", "PollDevc", 0x00001000)
{
    External (\_SB_.PCI0.LPCB, DeviceObj)
    External (\_SB_.PCI0.LPCB.EC0_.FANL, IntObj)
    External (\_SB_.PCI0.LPCB.EC0_.FANH, IntObj)

    Scope (\_SB.PCI0.LPCB)
    {
        Device (SMCD)
        {
            Name (TACH, Package (0x02)
            {
                "System Fan",
                "FAN0"
            })
            Method (FAN0, 0, NotSerialized)
            {
                Store (^^EC0.FANH, Local0)
                Store (^^EC0.FANL, Local1)
                And (Local0, 0xFFFF, Local0)
                And (Local1, 0xFFFF, Local1)
                If (LNotEqual (Local0, Zero))
                {
                    If (LEqual (Local0, 0xFFFF))
                    {
                        Store (Zero, Local0)
                    }
                    Else
                    {
                        Store (0x0100, Local2)
                        Multiply (Local0, Local2, Local3)
                        Add (Local1, Local3, Local4)
                        Store (Local4, Local0)
                    }
                }
                Else
                {
                    Store (Zero, Local0)
                }

                Return (Local0)
            }
        }
    }
}



将如上的代码拷贝到后,把积存的名称改称你自己的。然后编译一下保存为SSDT-x.aml,clover放到patched目录。
再安装HWmonitor以及Fakesmc(包含ACPISensors.kext),重启就可以看到了。

最后附上效果:
5.png


12

查看全部评分

求71狐狸尾巴当抱枕......外出南极洲旅游至今未归

UID
2881599
帖子
18654
PB币
94497
贡献
1
技术
23564
活跃
2824

热心会员 8周年庆典勋章

沙发
发表于 2014-2-16 20:54:22 IP属地辽宁 |只看该作者
给力 强势围观

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4737
活跃
929

远景技术达人 热心会员

板凳
发表于 2014-2-16 20:59:41 IP属地云南 |只看该作者
前排支持,感谢分享。

Rank: 7Rank: 7Rank: 7

UID
1492641
帖子
818
PB币
4579
贡献
0
技术
20
活跃
2582

7周年庆典勋章

4F
发表于 2014-2-16 21:05:11 IP属地山东 |只看该作者
给力技术贴,前排强势插入围观

Rank: 5Rank: 5Rank: 5

UID
1654555
帖子
406
PB币
686
贡献
0
技术
13
活跃
852
5F
发表于 2014-2-16 21:16:35 IP属地河南 |只看该作者
支持技术贴,

幼儿园未毕业

Rank: 15Rank: 15Rank: 15

UID
2675209
帖子
14391
PB币
33494
贡献
0
技术
5790
活跃
2463

应用界 8周年庆典勋章

6F
发表于 2014-2-16 21:47:31 IP属地江苏 |只看该作者
笔记本在win下显示转速为未知,跑到mac下能显示出来嘛?

Rank: 7Rank: 7Rank: 7

UID
926178
帖子
1569
PB币
2944
贡献
0
技术
0
活跃
1681
7F
发表于 2014-2-16 22:53:54 IP属地山西 |只看该作者
感谢分享

Rank: 2Rank: 2

UID
4311252
帖子
368
PB币
965
贡献
0
技术
12
活跃
589
8F
发表于 2014-2-16 23:04:25 IP属地浙江 |只看该作者
给力,回头试试

Rank: 2Rank: 2

UID
392875
帖子
254
PB币
196
贡献
0
技术
0
活跃
169
9F
发表于 2014-2-16 23:25:43 IP属地山东 |只看该作者
感谢分享

Rank: 9

UID
752499
帖子
4067
PB币
5319
贡献
0
技术
369
活跃
526

Win10先驱者

10F
发表于 2014-2-16 23:30:42 IP属地上海 |只看该作者
s1025xfei 发表于 2014-2-16 21:47
笔记本在win下显示转速为未知,跑到mac下能显示出来嘛?

可以试试,你什么机器?你可以看看RW和EC dump得信息,结合下dsdt。

黑果达人

Rank: 7Rank: 7Rank: 7

UID
2697064
帖子
1349
PB币
2828
贡献
0
技术
50
活跃
2274
11F
发表于 2014-2-16 23:36:38 IP属地陕西 来自手机 |只看该作者
我的没有FanH和FanL等参数怎么办,是不是电脑不支持风扇传感器啊啊

有人讲看到你彼日散步淡水河

Rank: 7Rank: 7Rank: 7

UID
1145658
帖子
1567
PB币
2237
贡献
0
技术
164
活跃
1687
12F
发表于 2014-2-17 00:05:16 IP属地广东 |只看该作者
这个不得不顶。

打酱油归来

Rank: 11Rank: 11Rank: 11

UID
984013
帖子
7884
PB币
28167
贡献
0
技术
2147
活跃
1597

活动参与先锋 7周年庆典勋章 8周年庆典勋章

13F
发表于 2014-2-17 02:20:20 IP属地美国 |只看该作者
悲剧。。。AIDA64 读取不了我的风扇转速。。。

三风

UID
2513304
帖子
10738
PB币
17038
贡献
0
技术
1658
活跃
2268

十周年

14F
发表于 2014-2-17 08:33:07 IP属地福建 |只看该作者
同样悲剧,win下都不显示

Rank: 2Rank: 2

UID
2774792
帖子
411
PB币
3509
贡献
0
技术
14
活跃
1174
15F
发表于 2014-2-17 08:45:10 IP属地广东 来自手机 |只看该作者
看看,有没有全在MAc下的教程?单系统

Rank: 7Rank: 7Rank: 7

UID
988666
帖子
1002
PB币
1548
贡献
0
技术
210
活跃
419
16F
发表于 2014-2-17 08:57:13 IP属地德国 |只看该作者
我想说你的笔记本温度真低!

Rank: 2Rank: 2

UID
1664828
帖子
466
PB币
0
贡献
0
技术
5
活跃
371
17F
发表于 2014-2-17 09:31:23 IP属地上海 |只看该作者
支持技术贴

Rank: 9

UID
752499
帖子
4067
PB币
5319
贡献
0
技术
369
活跃
526

Win10先驱者

18F
发表于 2014-2-17 13:16:52 IP属地上海 |只看该作者
87zrjojo 发表于 2014-2-16 23:36
我的没有FanH和FanL等参数怎么办,是不是电脑不支持风扇传感器啊啊

每个机器不一样的,这里我只是举例dell的。

Rank: 9

UID
752499
帖子
4067
PB币
5319
贡献
0
技术
369
活跃
526

Win10先驱者

19F
发表于 2014-2-17 13:18:19 IP属地上海 |只看该作者
lisai9093 发表于 2014-2-17 02:20
悲剧。。。AIDA64 读取不了我的风扇转速。。。

其实,即便AIDA64读取不到,说明不支持RPM转速显示,但你可以看看EC下面有没有类似的传感器。

Rank: 9

UID
752499
帖子
4067
PB币
5319
贡献
0
技术
369
活跃
526

Win10先驱者

20F
发表于 2014-2-17 13:19:13 IP属地上海 |只看该作者
my736250809 发表于 2014-2-17 08:45
看看,有没有全在MAc下的教程?单系统

单系统下除非别人有你类似的机器,他做出尝试可以了。不然还是比较困难的。
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛