z6will
发表于 2011-10-25 00:46
也就是高位字节乘0xff,然后加低位字节;
把Store (BSDC, Local1)修改为
Multiply (SDC1, 0xFF, Local1)
Add (SDC0, Local1, Local1)
你的意思是把高位左移8位,然后加上低位把?
为何乘以0xff而不是0x100呢?
siriusalive
发表于 2011-10-25 01:35
我的电池信息不是在BAT0下。。。是在BAT1下。。。也没有楼主说的定义啊- -| Device (BAT1)
{
Name (_HID, EisaId ("PNP0C0A"))
Name (_UID, One)
Name (_PCL, Package (0x01)
{
_SB
})
Method (_STA, 0, NotSerialized)
{
If (LAnd (ECOK (), LEqual (ECDY, Zero)))
{
If (^^EC0.BAL0)
{
Sleep (0x14)
Return (0x1F)
}
Else
{
Sleep (0x14)
Return (0x0F)
}
}
Else
{
Sleep (0x14)
Return (0x1F)
}
}
Method (_BIF, 0, NotSerialized)
{
Name (STAT, Package (0x0D)
{
One,
0x0FA0,
0x0FA0,
One,
0x2B5C,
0x01A4,
0x9C,
0x0108,
0x0EC4,
"PABAS024",
"3658Q",
"LION",
"COMPAL"
})
If (ECOK ())
{
Store (^^EC0.BDN0, Local0)
If (LEqual (Local0, 0x02))
{
Store ("PA3457U ", Index (STAT, 0x09))
}
If (LEqual (Local0, 0x08))
{
Store ("PA3457U ", Index (STAT, 0x09))
}
Sleep (0x14)
Store (^^EC0.BDC0, BFC1)
Sleep (0x14)
Store (^^EC0.BMF0, Local1)
Sleep (0x14)
If (LEqual (Local1, One))
{
Store ("SANYO ", Index (STAT, 0x0C))
}
Else
{
If (LEqual (Local1, 0x02))
{
Store ("SONY ", Index (STAT, 0x0C))
}
Else
{
If (LEqual (Local1, 0x03))
{
Store ("LG ", Index (STAT, 0x0C))
}
Else
{
If (LEqual (Local1, 0x04))
{
Store ("PANASONIC ", Index (STAT, 0x0C))
}
Else
{
If (LEqual (Local1, 0x05))
{
Store ("SAMSUNG ", Index (STAT, 0x0C))
}
Else
{
Store ("COMPAL ", Index (STAT, 0x0C))
}
}
}
}
}
}
Else
{
Store ("Li-Ion", Index (STAT, 0x0B))
}
If (^^EC0.BDC0)
{
Store (^^EC0.BDC0, Local1)
Store (Local1, Index (STAT, One))
Store (^^EC0.BFC0, Local2)
If (LGreater (Local2, Local1))
{
Store (Local1, Local2)
}
Store (Local1, Index (STAT, 0x02))
}
Return (STAT)
}
Method (_BST, 0, NotSerialized)
{
Name (PBST, Package (0x04)
{
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
0x2B5C
})
If (LAnd (ECOK (), LEqual (ECDY, Zero)))
{
Sleep (0x14)
Store (^^EC0.BST0, BST1)
Sleep (0x14)
Store (^^EC0.GAU0, BGU1)
Sleep (0x14)
Store (^^EC0.BPV0, Local3)
Sleep (0x14)
}
If (BFC1)
{
Multiply (BGU1, BFC1, Local2)
Divide (Local2, 0x64, Local4, Local2)
}
Else
{
Multiply (BGU1, 0x28, Local2)
}
If (LGreater (^^EC0.BAC0, 0xFB00))
{
Store (0xFAFF, Local5)
}
Else
{
Store (^^EC0.BAC0, Local5)
}
And (Local5, 0x8000, Local6)
If (LEqual (Local6, 0x8000))
{
Not (Local5, Local5)
And (Local5, 0xFFFF, Local5)
}
Store (BST1, Index (PBST, Zero))
Store (Local5, Index (PBST, One))
Store (Local2, Index (PBST, 0x02))
Store (Local3, Index (PBST, 0x03))
If (LGreater (ECDY, Zero))
{
Decrement (ECDY)
If (LEqual (ECDY, Zero))
{
Notify (BAT1, 0x80)
If (LEqual (OSYS, 0x07D6))
{
Store (One, ^^EC0.WINV)
}
Else
{
Store (Zero, ^^EC0.WINV)
}
}
}
Return (PBST)
}
}
VIVXIX
发表于 2011-10-25 02:14
{:9_353:}搞定
mingquan84
发表于 2011-10-25 08:12
请问能否把您的IORegistryExplorer上传一个呢?我的也是3820tg的,对比了一下我们两个的DSDT,想更加完美一下。另外请问你的蓝牙能够使用吗?
zenglg1977
发表于 2011-10-25 08:33
z6will 发表于 2011-10-25 00:46 static/image/common/back.gif
你的意思是把高位左移8位,然后加上低位把?
为何乘以0xff而不是0x100呢?
应该乘以0x100,多谢
zenglg1977
发表于 2011-10-25 08:37
siriusalive 发表于 2011-10-25 01:35 static/image/common/back.gif
我的电池信息不是在BAT0下。。。是在BAT1下。。。也没有楼主说的定义啊- -|
看看BDC0或者BFC0是否是16位的?很大可能是。每个机器的DSDT是不一样的,命名方式也是不一样的,因此只能参考,不能照搬
zenglg1977
发表于 2011-10-25 08:38
mingquan84 发表于 2011-10-25 08:12 static/image/common/back.gif
请问能否把您的IORegistryExplorer上传一个呢?我的也是3820tg的,对比了一下我们两个的DSDT,想更加完美一 ...
不能,我的现在蓝牙不能用,不能睡眠,显卡6550M驱动需要EDID覆盖。
harrysh
发表于 2011-10-25 08:38
谢谢,我来试试看!
zenglg1977
发表于 2011-10-25 08:39
z6will 发表于 2011-10-24 23:54 static/image/common/back.gif
能分享source么?
可以,但现在我还在修改,稳定的话就公开
gatwin
发表于 2011-10-25 08:41
能否帮我修改一下。没看懂。
小小虫。
发表于 2011-10-25 08:44
楼主绝对技术派的啊,顶了,回头测试反馈
mingquan84
发表于 2011-10-25 08:48
zenglg1977 发表于 2011-10-25 08:38 static/image/common/back.gif
不能,我的现在蓝牙不能用,不能睡眠,显卡6550M驱动需要EDID覆盖。
能否把你的IORegistryExplorer上传来,对比一下。我看了你的DSDT,没明白帖子里面修改的是哪些地方。
zenglg1977
发表于 2011-10-25 08:51
mingquan84 发表于 2011-10-25 08:48 static/image/common/back.gif
能否把你的IORegistryExplorer上传来,对比一下。我看了你的DSDT,没明白帖子里面修改的是哪些地方。
你比较一下你的DSDT和我的DSDT,然后查找我帖子中的代码,就可以定位的。我现在没有带笔记本,等晚上传给你
williamhzp
发表于 2011-10-25 08:55
很好,用上楼主发的KEXT ,不用修改DSDT 就可以直接显示 电池信息了, 哦也{:5_262:}
mingquan84
发表于 2011-10-25 08:56
zenglg1977 发表于 2011-10-25 08:51 static/image/common/back.gif
你比较一下你的DSDT和我的DSDT,然后查找我帖子中的代码,就可以定位的。我现在没有带笔记本,等晚上传给 ...
我的显卡是直驱的,DSDT中没有加入代码,你可以尝试一下。
fbi527
发表于 2011-10-25 09:06
thx!!!!!!!!!!!!!
daxiawj
发表于 2011-10-25 09:12
非常不错啊
支持学习一下
Ace懂懂
发表于 2011-10-25 09:50
楼主能帮忙看下么= =
Y450直接找不到所描述语句啊。。
麻烦了啊
不修改dsdt的时候电池是x号= =
Ace懂懂
发表于 2011-10-25 09:54
而且很奇怪的是蓝牙也变成了不可用= =
z6will
发表于 2011-10-25 09:57
zenglg1977 发表于 2011-10-25 08:39 static/image/common/back.gif
可以,但现在我还在修改,稳定的话就公开
赞楼主!
不知道楼主有没有关注过IM上hp的关于acpibattery的帖子,那个强人解决了hp笔记本在lion下的电池驱动,而且把acpibattery改名成smartbattery,这样做的话,就可以使用mac下的原生的电池监测软件,而不必用修改过的istat pro
页:
1
[2]
3
4
5
6
7
8
9
10
11