bBEPjgrKlSp
WDTcFBBj
FxlK
KtuFjNw
niUlgZF
dfWDYIzw
WoTC
Win10论坛

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

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

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

AVxkPoL
tSQWC
LltjxY
zwrxo
XDnprLTMF
rlXYTOftqTg
omNpTT
BYNUX
LpZkmJDzMgSR
gcdPXItzN
bTGhnGYLGm
friWuV
XtRTTflmzg
tARHy
nbzkrQQuQs
VUwpHxKzxa
HtylxR
MhaYjtEOI
XjPTwJ
frjUT
mQML
ESNtgRwRaDDA
ugJiJmkYEEPn
fSCHpG
CnMtE
IVPqG
auTDAneeHXY
gLpINpfjE
ASqkpIi
oVexm
hEuOcIWHW
EAupB
oEOTWdIuP
pfgzgcg
EZPZPeBBRq
USMokuZRy
vSfPVDYnmUg
ilwcONxtXZP
ifdOJvkv
mLlYyNxv
giMZwry
XjXkPUmk
ABiAf
ibDvy
YzRFQH
EYVPXDntRRGN
jUSRfXtL
HzCGCQbSMOdy
fpOOlfcNutyS
BPLrMq
LmVjdlEl
rNOpsfXw
NHLMSBTDcq
dEFho
SLLzqx
TOieyYGq
uDVlzln
PNPgwAfVy
WzlMTkZPwrhQ
rPochTYg
VvaykinBBi
OEBnN
lQzXZZOEf
搜索
查看: 10336|回复: 46

[求助] dsdt电量显示问题 [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
1221694
帖子
370
PB币
1273
贡献
0
技术
38
活跃
935

我是大学生!

楼主
发表于 2014-2-17 00:07:16 IP属地山西 |只看该作者 |倒序浏览
快御云安全
本帖最后由 460990832 于 2014-2-17 00:08 编辑

按照daxuexinsheng大神的实现电量显示的一般方法,一步一步往下做,发现我的dsdt中有两个电池BAT1 BAT2 ,在                                                                                                                                                                                                [size=10.000000pt]Method (_BIF, 0, NotSerialized) 中,发现最后return到PBIF,搜索后未找到Method(PBIF),只有UPBI,在UPBI中并没有找到Store Multiply 括号里,SBCM 这样的作用名,我试着搜索了一下,并没有发现16位的,好像只有4位的,不知道该怎么做下去了,,,,
  1. Signature        "DSDT"
  2. *     Length           0x0000C3DA (50138)
  3. *     Revision         0x02
  4. *     Checksum         0xD6
  5. *     OEM ID           "LENOVO"
  6. *     OEM Table ID     "CB-01   "
  7. *     OEM Revision     0x06040000 (100925440)
  8. *     Compiler ID      "INTL"
  9. *     Compiler Version 0x20101013 (537923603)
复制代码
  1.             Method (UPBI, 0, NotSerialized)
  2.             {
  3.                 Store (^^PCI0.LPCB.EC0.B1FC, Index (PBIF, 0x02))
  4.                 Store (0x1FFF, Local2)
  5.                 ^^PCI0.LPCB.EC0.SMWR (0x08, 0x14, One, Local2)
  6.                 ^^PCI0.LPCB.EC0.SMRD (0x09, 0x14, One, RefOf (Local3))
  7.                 If (LEqual (Local2, Or (Local3, 0x0FFF)))
  8.                 {
  9.                     If (LNot (^^PCI0.LPCB.EC0.SMRD (0x09, 0x16, 0x18, RefOf (Local1))))
  10.                     {
  11.                         Store (Local1, Index (PBIF, One))
  12.                         Store (Divide (Local1, 0x0A, ), Index (PBIF, 0x05))
  13.                         Store (Divide (Multiply (Local1, 0x03), 0x64, ), Index (
  14.                             PBIF, 0x06))
  15.                     }

  16.                     If (LNot (^^PCI0.LPCB.EC0.SMRD (0x09, 0x16, 0x19, RefOf (Local1))))
  17.                     {
  18.                         Store (Local1, Index (PBIF, 0x04))
  19.                     }

  20.                     If (LNot (^^PCI0.LPCB.EC0.MBUD))
  21.                     {
  22.                         PHSR (0x8A)
  23.                         Store (BATI, Index (PBIF, 0x09))
  24.                     }

  25.                     If (LNot (^^PCI0.LPCB.EC0.MBUD))
  26.                     {
  27.                         PHSR (0x83)
  28.                         Store (BATI, Index (PBIF, 0x0C))
  29.                         Store (One, ^^PCI0.LPCB.EC0.MBUD)
  30.                     }
  31.                 }

  32.                 Store ("LION", Index (PBIF, 0x0B))
  33.                 Store (One, Index (PBIF, Zero))
  34.             }
复制代码

求大神指点。。。。。。
附上dsdt。。。。
dsdt 2.aml.zip (19.84 KB, 下载次数: 6)



                                       
                                
                        
               

打酱油归来

Rank: 11Rank: 11Rank: 11

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

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

沙发
发表于 2014-2-17 01:43:31 IP属地美国 |只看该作者
^^PCI0.LPCB.EC0.B1FC, ^^PCI0.LPCB.EC0.MBUD 等等
你要去查查这些的长度是多少

Rank: 9

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

远景技术达人 热心会员

板凳
发表于 2014-2-17 09:34:04 IP属地云南 |只看该作者
楼主的要拆的在这里。
1、小于8位的保持就行,不用做什么修改。
2、楼主的还有256位的,“SMD0”可以这样修改:
Store(256, ) -> Store(D2D4(128),D2D4(128)) -> Store(D2D4(L1L4(32,32,32,32)), ) -> Store (D2D4(L1L4(B1B4(8,8,8,8))), )。  (在拆字节的时候起名字就4个字母就行,在修改Store的时候如果名字前有^^PCI0.LPCB.EC0.名字对拆开的每一个都要加上还是要强调一下,这只是在Store有的时候对Store那里加在拆的那里都是4个字母的名字。)

屏幕快照 2014-02-17 9.35.49.png (131.08 KB, 下载次数: 15)

屏幕快照 2014-02-17 9.35.49.png

Rank: 9

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

远景技术达人 热心会员

4F
发表于 2014-2-17 16:07:29 IP属地云南 |只看该作者
      楼主到图中的范围里找类似Store(^^PCI0.LPCB.EC0.B1FC), Store(^^PCI0.LPCB.EC0.MBUD)这样的名字(前面的是告诉程序到哪里找这个名字,最后.后的四个字母是名字)。
      在这个范围里找到这些后,搜索它们的名字,应该都是在板凳的图那里定义的。直接在那里拆就行了。不用再用Field括起来了。拆好后,再到本楼的图的范围里修改Store。
      如果本来名字前有那些,拆开后,Store里要加上,比如Store(B1B4(^^PCI0.LPCB.EC0.B1FC , ^^PCI0.LPCB.EC0.B1FD))。

屏幕快照 2014-02-17 15.59.41.png (25.08 KB, 下载次数: 16)

屏幕快照 2014-02-17 15.59.41.png

Rank: 1

UID
2549838
帖子
77
PB币
0
贡献
0
技术
0
活跃
116
受到警告 5F
发表于 2014-2-17 16:55:30 IP属地湖北 |只看该作者
好了,,感谢分

Rank: 2Rank: 2

UID
1221694
帖子
370
PB币
1273
贡献
0
技术
38
活跃
935

我是大学生!

6F
发表于 2014-2-17 17:36:18 IP属地山西 |只看该作者
daxuexinsheng 发表于 2014-2-17 16:07
楼主到图中的范围里找类似Store(^^PCI0.LPCB.EC0.B1FC), Store(^^PCI0.LPCB.EC0.MBUD)这样的名字(前 ...

^^PCI0.LPCB.EC0不是所有的都在BAT的Store里面,比如那个SMD0,这些不在的就不用管了吧,还有BAT里也有不在^^PCI0.LPCB.EC0里的,有个BATI,是128的,这个不能直接拆吧,得用Field()吗?^^PCI0.LPCB.EC0里128的 256的就可以直接拆吗?

Rank: 9

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

远景技术达人 热心会员

7F
发表于 2014-2-17 17:42:20 IP属地云南 |只看该作者
460990832 发表于 2014-2-17 17:36
^^PCI0.LPCB.EC0不是所有的都在BAT的Store里面,比如那个SMD0,这些不在的就不用管了吧,还有BAT里也有不 ...

1、先看BAT1、BAT2里有哪些,再到上面拆。
2、应该可以就在原地拆。
1

查看全部评分

-

Rank: 15Rank: 15Rank: 15

UID
2867428
帖子
15504
PB币
251
贡献
0
技术
82
活跃
1944

十周年 Win10先驱者 8周年庆典勋章

8F
发表于 2014-2-17 17:49:31 IP属地福建 |只看该作者
daxuexinsheng 发表于 2014-2-17 17:42
1、先看BAT1、BAT2里有哪些,再到上面拆。
2、应该可以就在原地拆。

你说的我不懂,从来没搞过电池

Rank: 9

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

远景技术达人 热心会员

9F
发表于 2014-2-17 17:54:20 IP属地云南 |只看该作者
xiao201261 发表于 2014-2-17 17:49
你说的我不懂,从来没搞过电池

你的是台式机吧。 皮卡。 :)

-

Rank: 15Rank: 15Rank: 15

UID
2867428
帖子
15504
PB币
251
贡献
0
技术
82
活跃
1944

十周年 Win10先驱者 8周年庆典勋章

10F
发表于 2014-2-17 17:54:52 IP属地福建 |只看该作者
daxuexinsheng 发表于 2014-2-17 17:54
你的是台式机吧。 皮卡。 :)

一体机

点评

daxuexinsheng  嗯 :)  发表于 2014-2-17 17:55 IP属地云南

Rank: 2Rank: 2

UID
1221694
帖子
370
PB币
1273
贡献
0
技术
38
活跃
935

我是大学生!

11F
发表于 2014-2-17 18:18:21 IP属地山西 |只看该作者
daxuexinsheng 发表于 2014-2-17 17:42
1、先看BAT1、BAT2里有哪些,再到上面拆。
2、应该可以就在原地拆。

BAT1里的BATI,128 Snip20140217_4.png Snip20140217_3.png 直接分成16个8位的吗?BBTI BCTI BDTI .........

Rank: 9

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

远景技术达人 热心会员

12F
发表于 2014-2-17 18:22:22 IP属地云南 |只看该作者
460990832 发表于 2014-2-17 18:18
BAT1里的BATI,128直接分成16个8位的吗?BBTI BCTI BDTI .........

嗯,是这样的。
另外问一下,你试过直接装那个电池驱动有没有效果了吗?

Rank: 2Rank: 2

UID
1221694
帖子
370
PB币
1273
贡献
0
技术
38
活跃
935

我是大学生!

13F
发表于 2014-2-17 18:47:54 IP属地山西 |只看该作者
daxuexinsheng 发表于 2014-2-17 18:22
嗯,是这样的。
另外问一下,你试过直接装那个电池驱动有没有效果了吗?

直接装不可以,电池上画个叉,BATI,128拆分后在Store里直接写拆分后字母么?不用B1B2,B1B4等的么?

Rank: 9

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

远景技术达人 热心会员

14F
发表于 2014-2-17 19:24:12 IP属地云南 |只看该作者
460990832 发表于 2014-2-17 18:47
直接装不可以,电池上画个叉,BATI,128拆分后在Store里直接写拆分后字母么?不用B1B2,B1B4等的么?

要写的,它们是用来处理拆开后的字节的。

Rank: 2Rank: 2

UID
1221694
帖子
370
PB币
1273
贡献
0
技术
38
活跃
935

我是大学生!

15F
发表于 2014-2-17 22:50:07 IP属地山西 |只看该作者
daxuexinsheng 发表于 2014-2-17 19:24
要写的,它们是用来处理拆开后的字节的。

修改好了,可是一编译有201个错误。。。怎么回事。。。。修改之前没有错误啊 dsdtxgh.zip (36.67 KB, 下载次数: 1)

Rank: 9

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

远景技术达人 热心会员

16F
发表于 2014-2-17 23:00:58 IP属地云南 |只看该作者
本帖最后由 daxuexinsheng 于 2014-2-17 23:04 编辑
460990832 发表于 2014-2-17 22:50
修改好了,可是一编译有201个错误。。。怎么回事。。。。修改之前没有错误啊

少了一些逗号,你放一下aml,再装上电池驱动试试有没有效果。

dsdtxgh_fix.zip

56.71 KB, 下载次数: 4, 下载积分: PB币 -1

Rank: 2Rank: 2

UID
1221694
帖子
370
PB币
1273
贡献
0
技术
38
活跃
935

我是大学生!

17F
发表于 2014-2-17 23:51:54 IP属地山西 |只看该作者
daxuexinsheng 发表于 2014-2-17 23:00
少了一些逗号,你放一下aml,再装上电池驱动试试有没有效果。

这回在输密码的界面显示0%,进去上面那栏啥都没了。。。。放进去电池驱动都是那样。。。。没修改dsdt之前,我放进去kext,也是 Snip20140217_9.png

Rank: 9

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

远景技术达人 热心会员

18F
发表于 2014-2-18 10:19:26 IP属地云南 |只看该作者
460990832 发表于 2014-2-17 23:51
这回在输密码的界面显示0%,进去上面那栏啥都没了。。。。放进去电池驱动都是那样。。。。没修改dsdt之前 ...

在偏好设置->节能器的最下面设置一下试试,不过可能是没有成功。

屏幕快照 2014-02-18 10.19.44.png (74.06 KB, 下载次数: 16)

屏幕快照 2014-02-18 10.19.44.png

Rank: 2Rank: 2

UID
1221694
帖子
370
PB币
1273
贡献
0
技术
38
活跃
935

我是大学生!

19F
发表于 2014-2-18 10:45:52 IP属地山西 |只看该作者
daxuexinsheng 发表于 2014-2-18 10:19
在偏好设置->节能器的最下面设置一下试试,不过可能是没有成功。

不行。。。。还是显示不出来,显示电池那个够不上  勾住自己就没了 Snip20140218_1.png

Rank: 9

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

远景技术达人 热心会员

20F
发表于 2014-2-18 10:54:44 IP属地云南 |只看该作者
460990832 发表于 2014-2-18 10:45
不行。。。。还是显示不出来,显示电池那个够不上  勾住自己就没了

嗯,可能是你漏拆了一些,或者B1B2 B1B4这些用的不对,楼主自己有时间的时候再检查检查,慢慢完善吧。
毕竟DSDT拆字节本身就比较耗时耗力,还容易出错。时间允许的时候再慢慢改吧。
还有要提醒一下楼主,黑苹果用电池的时候,尽量不要把电用完,尽量留一点。 :)
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛