RfiyOJNvU
EEAL
CbGGk
WWbwvaiutCy
ryMcQPw
ZMqUAmkEB
YLftiDcD
MtUoKA
XwdjmYh
lPJX
vTFDkEuxcW
JHTjxAoemWwN
YKuVlKGhMj
Win10论坛

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

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

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

CWmnPPDmV
lGAZRKIsrud
LdZCHY
SBheMWVWHrA
scGPzDR
chJMMKmuUFl
TGbgGkGwG
fwdu
yHIX
KYtiwCfeUMXz
FkOyGkUoxrXk
LTHvhjecAOa
AInnrTmDVu
TBXAJ
VtWwVqXUaE
mAAKzSjeAESV
jPrWgUcisex
XLpCB
semnHH
rsXb
qossII
OSObmVO
csqwXaxpFDBj
VXKFeHHtl
jpGRuwF
lqPWXKtZm
CYReahB
IRKvNvhjYY
gfsJsaneMTjU
nnxbMXSeYAh
rgvThfx
PPhrjnvqX
WJrCq
QDOMqUJU
WbHWuliN
roiVhFvM
TVySAhTq
XUsMuWlrN
XawQsdIQpM
bcrtm
BqKYayf
PTgTlzre
XoZdQ
KzzZ
IABkfJyv
BmQttadab
sUZbxEyqIRR
bBIOlWxGuJ
qUsoa
yxOx
UVFH
fWMWxDx
qDzhvU
KiQmruTnbdDx
wPZQiOljovlv
YcyAthVl
VLYzzea
vnJWlLRo
waCr
MkYEhR
QnSFTElRBv
jcMVMUoVKoQ
nfWdjTdC
BqdUDbdpotcw
rzNXQy
TBGKn
nJNChj
EngUJrIKrJo
gGQRJtuUX
pTEzJiO
LkpjQRgtxJ
XnLCCQYR
搜索
查看: 13167|回复: 30

[原创内容] [补充]给DSDT/SSDT打补丁,实现笔记本亮度调节 [2015-01-15] [复制链接]
跳转到指定楼层
复制 

无畏

Rank: 5Rank: 5Rank: 5

UID
2462987
帖子
443
PB币
0
贡献
0
技术
10
活跃
674
楼主
发表于 2015-1-14 12:58:35 IP属地北京 |只看该作者 |倒序浏览
快御云安全
本帖最后由 25691709 于 2015-1-15 21:55 编辑

  一般情况下,只需要参考 https://bbs.pcbeta.com/viewthread-1571456-1-1.html 就可以了,
  如果按之前得方法只找到了一个方法的时候,以下内容可以作为参考,这里是我对 雷神G150TH 调试修改
  的过程。(以下过程编译DSDT的工具是 MaciASL,雷神G150TH 上 Fn+F8/Fn+F9 分别对应 降低亮度/
  增加亮度,后边我就直接用这个指代了 )

  首先根据 https://bbs.pcbeta.com/viewthread-1571456-1-1.html 讲述的方法找自己的“亮度调节
  按键”所调用的DSDT中的方法(程序术语:方法/过程/函数 都差不多意思),下图是我的雷神G150TH上找到的
  方法,Fn+F8/Fn+F9 都是调用DSDT中的 _Q12 方法
ld01.png
  这种情况下我们需要在 _Q12 编写代码区分 Fn+F8/Fn+F9 两种情况,这个代码要根据DSDT中的某个变量
  来编写(现在不知道是哪个变量,后边我们会找出它来),我们先看看 _Q12 这个方法的位置
ld02.png
  \RMDT.P1("EC _Q12 enter") 就是因为这行代码,所以我们才能在 “控制台” 看到 ACPIDebug: "EC _Q12 enter",
  \RMDT.P1 就是一个输出调试信息的方法,我们后边也会用它来找到那个特殊的变量,从 _Q12方法的位置往前翻,找到
  变量定义的位置
ld03.png
ld04.png
整理出来的变量列表大概如下
                NMSG
                SLED
                MODE
                FAN0
                TME0
                TME1
                FAN1
                ……
                RPM3
                ECKS
                PL1T
                PL2T
                TAUT
准备分批调试这些变量,(我一次20个测试的,一次100多个很多出不来)
ld05.png
  编译保存后的DSDT覆盖到原先的位置(就是原先放置DSDT文件的位置),重新启动电脑
  打开控制台程序后,通过交替(一次减亮/一次加亮,后边会知道原因)执行 Fn+F8/Fn+F9 ,
  看看上边添加的调试语句输出情况
ld07.png
点击查看“所有信息”
ld08.png
我这里测试到一批包含 OEM2 变量的时候发现了线索
ld06.png
继续编译、保存、覆盖、重启,然后重新到“控制台”测试变量的变化情况
ld09.png
连续 Fn+F8 或 Fn+F9 出现的值
ld10.png

OEM2 的值 会在 0-7 之间变化,不停的执行Fn+F9(增亮)  OEM2 最大值是7,每次执行 Fn+F8(减亮)OEM2 会减一,最小到0,根据这个现象,需要修改 DSDT 中 _Q12 方法中的代码,因为我这个机器上的这个变量每次运行不是固定的值,我们还需要在前边的变量列表加一个自己定义的变量,用以保存每次OEM2的值,下次和OEM2的值对比之后我们就知道究竟是点击了 Fn+F8 还是 Fn+F9了,如果你的机器和版主文中提到了惠普一样是每次固定的,那就更简单了,不需要临时变量,那个写法参考版主文章中的代码即可,这里我添加的代码为
先定义变量 OEM8(搜索了代码,别的地方没用到)
ld11.png
添加代码
ld12.png

这样基本就算完成了,这个方法不能保证每个机器都能适用,只是给需要的童鞋做个参考吧。

另外我在雷神G150TH上对比了 aida64/Clover/ubuntu 三种环境提取的 DSDT,文件,发现完全都是一样的,dida64 上有三个隐藏 DSDT 没有提取到,其他提取到的文件通过 MD5 值对比,都完全一样,不知道是不是这个机器的特殊情况了。
1

查看全部评分

Rank: 9

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

远景技术达人 热心会员

沙发
发表于 2015-1-14 15:23:45 IP属地云南 |只看该作者
希望楼主再整理下思路,我有点不理解。

另外,我看到有反馈。说是神舟K650C,Clover提取的,会调用到同一个方法。Ubuntu提取的,会分成两个方法。如果楼主有时间,可以试试用Ubuntu提取的文件试试。

如果还是调用到同一个方法的话,就希望楼主能把你的方法再梳理下,之后,我在我的贴子链接到楼主的贴子。

Rank: 9

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

远景技术达人 热心会员

板凳
发表于 2015-1-14 15:24:07 IP属地云南 |只看该作者
希望楼主再整理下思路,我有点不理解。

另外,我看到有反馈。说是神舟K650C,Clover提取的,会调用到同一个方法。Ubuntu提取的,会分成两个方法。如果楼主有时间,可以试试用Ubuntu提取的文件试试。

如果还是调用到同一个方法的话,就希望楼主能把你的方法再梳理下,之后,我在我的贴子链接到楼主的贴子。

Rank: 9

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

远景技术达人 热心会员

4F
发表于 2015-1-14 15:25:13 IP属地云南 |只看该作者
希望楼主再整理下思路,我有点不理解。

另外,我看到有反馈。说是神舟K650C,Clover提取的,会调用到同一个方法。Ubuntu提取的,会分成两个方法。如果楼主有时间,可以试试用Ubuntu提取的文件试试。

如果还是调用到同一个方法的话,就希望楼主能把你的方法再梳理下,之后,我在我的贴子链接到楼主的贴子。

无畏

Rank: 5Rank: 5Rank: 5

UID
2462987
帖子
443
PB币
0
贡献
0
技术
10
活跃
674
5F
发表于 2015-1-14 15:33:05 IP属地北京 |只看该作者
daxuexinsheng 发表于 2015-1-14 15:25
希望楼主再整理下思路,我有点不理解。

另外,我看到有反馈。说是神舟K650C,Clover提取的,会调用到同一 ...

主要是工作中的电脑,再安装ubuntu 不方便,我晚上试一下 ubuntu livecd 能不能提取DSDT吧
我再整理一下,上边写的基本就是昨天看了你的帖子后有了想法,晚上折腾了几个小时的过程,
我再整理整理,文笔不好,写的不好理解,见笑了

Rank: 9

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

远景技术达人 热心会员

6F
发表于 2015-1-14 15:37:42 IP属地云南 |只看该作者
25691709 发表于 2015-1-14 15:33
主要是工作中的电脑,再安装ubuntu 不方便,我晚上试一下 ubuntu livecd 能不能提取DSDT吧
我再整理一下 ...

没什么,你有时间的时候再说,工作重要。

有时间试的时候,再回复我就可以。

Ubuntu不用安装,用U盘启动就可以。我的这个贴子的3楼介绍了方法。
https://bbs.pcbeta.com/viewthread-1571455-1-1.html

Rank: 7Rank: 7Rank: 7

UID
83818
帖子
717
PB币
1038
贡献
0
技术
22
活跃
93

7周年庆典勋章

7F
发表于 2015-1-14 15:39:36 IP属地广东 |只看该作者
你这个是亮度级别,还是改的快捷键支持

无畏

Rank: 5Rank: 5Rank: 5

UID
2462987
帖子
443
PB币
0
贡献
0
技术
10
活跃
674
8F
发表于 2015-1-14 15:47:03 IP属地北京 |只看该作者
philps 发表于 2015-1-14 15:39
你这个是亮度级别,还是改的快捷键支持

改的是快捷键,本身Fn+F8/Fn+F9是调亮度的,没出来,就是按版主文章里的方法找快捷键调用的过程,结果我这两个快捷键都是调用一个过程

Rank: 7Rank: 7Rank: 7

UID
83818
帖子
717
PB币
1038
贡献
0
技术
22
活跃
93

7周年庆典勋章

9F
发表于 2015-1-14 16:09:30 IP属地广东 |只看该作者
25691709 发表于 2015-1-14 15:47
改的是快捷键,本身Fn+F8/Fn+F9是调亮度的,没出来,就是按版主文章里的方法找快捷键调用的过程,结果我这 ...

改的好像没这么复杂吧,我的就是加个Notify (PS2K, 0x0206)这种的调用就是了,两个键两行代码

无畏

Rank: 5Rank: 5Rank: 5

UID
2462987
帖子
443
PB币
0
贡献
0
技术
10
活跃
674
10F
发表于 2015-1-14 16:20:37 IP属地北京 |只看该作者
philps 发表于 2015-1-14 16:09
改的好像没这么复杂吧,我的就是加个Notify (PS2K, 0x0206)这种的调用就是了,两个键两行代码

是的,如果调试出来两个按键对应两个方法,那就是每个方法内添加两行代码就可以了,不幸的是像我的 G150TH 两个按键对应的是一个方法,所以还需要在这个方法里区分这两个按键,晚上我试一下看看ubuntu里的dsdt会不会变成两个

无畏

Rank: 5Rank: 5Rank: 5

UID
2462987
帖子
443
PB币
0
贡献
0
技术
10
活跃
674
11F
发表于 2015-1-15 00:01:43 IP属地北京 |只看该作者
daxuexinsheng 发表于 2015-1-14 15:37
没什么,你有时间的时候再说,工作重要。

有时间试的时候,再回复我就可以。

花了几个小时终于测试完毕了,之前的DSDT文件用别人修改好的基础上改的,比较方便,这次完全自己在ubuntu提取内容的基础上改的,也是自己第一次从头修改DSDT,有点慢,最后测试结果,在ubuntu上提取的 DSDT ,针对 Fn+F8/Fn+F9 还是原先那个方法_Q12,有可能ubuntu针对别的机型会分成两个方法,在G150TH上还是一个调用方法,看来只能用找变量的方法了

Rank: 9

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

远景技术达人 热心会员

12F
发表于 2015-1-15 09:44:28 IP属地云南 |只看该作者
25691709 发表于 2015-1-15 00:01
花了几个小时终于测试完毕了,之前的DSDT文件用别人修改好的基础上改的,比较方便,这次完全自己在ubuntu ...

了解了,那希望你有时间的时候,再整理下这个贴子的方法。

无畏

Rank: 5Rank: 5Rank: 5

UID
2462987
帖子
443
PB币
0
贡献
0
技术
10
活跃
674
13F
发表于 2015-1-15 09:47:48 IP属地北京 |只看该作者
daxuexinsheng 发表于 2015-1-15 09:44
了解了,那希望你有时间的时候,再整理下这个贴子的方法。

花那几个小时有点冤啊,早知道先对比一下导出的DSDT系列文件,因为后来发现 aida64/Clover/ubuntu 导出的DSDT竟然完全一样,只是windows下导出的少了3个文件

Rank: 9

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

远景技术达人 热心会员

14F
发表于 2015-1-15 09:49:44 IP属地云南 |只看该作者
25691709 发表于 2015-1-15 09:47
花那几个小时有点冤啊,早知道先对比一下导出的DSDT系列文件,因为后来发现 aida64/Clover/ubuntu 导出的 ...

好吧,抱歉,我也想确认下那个调用方法会不会分开。

无畏

Rank: 5Rank: 5Rank: 5

UID
2462987
帖子
443
PB币
0
贡献
0
技术
10
活跃
674
15F
发表于 2015-1-15 09:55:17 IP属地北京 |只看该作者
daxuexinsheng 发表于 2015-1-15 09:49
好吧,抱歉,我也想确认下那个调用方法会不会分开。

没抱怨的意思哈,也许别的机器不会出现这个情况,我抽时间整理一下我这个方案,再更新上来

Rank: 9

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

远景技术达人 热心会员

16F
发表于 2015-1-15 09:56:00 IP属地云南 |只看该作者
25691709 发表于 2015-1-15 09:55
没抱怨的意思哈,也许别的机器不会出现这个情况,我抽时间整理一下我这个方案,再更新上来

嗯,先给你加分。

无畏

Rank: 5Rank: 5Rank: 5

UID
2462987
帖子
443
PB币
0
贡献
0
技术
10
活跃
674
17F
发表于 2015-1-15 21:57:53 IP属地北京 |只看该作者
daxuexinsheng 发表于 2015-1-15 09:56
嗯,先给你加分。

已更新,这次加上了截图,希望能给大家做为参考了

Rank: 9

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

远景技术达人 热心会员

18F
发表于 2015-1-15 22:24:55 IP属地云南 |只看该作者
25691709 发表于 2015-1-15 21:57
已更新,这次加上了截图,希望能给大家做为参考了

嗯,辛苦。我也找时间链接到你的贴子。

Rank: 9

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

远景技术达人 热心会员

19F
发表于 2015-1-16 11:10:54 IP属地云南 |只看该作者
25691709 发表于 2015-1-15 21:57
已更新,这次加上了截图,希望能给大家做为参考了

已添加贴子链接。

Rank: 1

UID
4616244
帖子
40
PB币
22
贡献
0
技术
1
活跃
222
20F
发表于 2015-1-26 08:09:11 IP属地北京 来自手机 |只看该作者
楼主我跟您的电脑一个型号。。请问您在提取ssdt的时候,在ssdt5里是否遇到了PARSEOP_INTEGER的错误?如果有您是如何解决的呢?谢谢!(我是用linix提取的遇到了这个问题)
(ps:或者您提供一下您改好的ssdt就更好了=皿 =)
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛