Funny battery values (nx6325)
Dan Lukes
dan at obluda.cz
Fri Mar 19 03:52:11 UTC 2010
On 03/18/10 20:53, Joerg Wunsch:
> Is anybody able to hint me where the _BIF and _BST methods get their
> actual data from?
Method (_BIF, 0, NotSerialized)
{
Return (C1AC (0x00))
}
where 0x00 seems to be battery number.
The structure that will be returned is here:
Name (C1AF, Package (0x02)
{
Package (0x0D)
{
0x01,
0xFFFFFFFF,
0xFFFFFFFF,
0x01,
0xFFFFFFFF,
0x00,
0x00,
0x64,
0x64,
"Primary",
"100000",
"LIon",
"Hewlett-Packard"
},
And it's filled in C1AC() method. The Design/Last Full Capacity is
filled here:
Store (C164, Local0)
Store (Local0, Index (DerefOf (Index (C1AF, Arg0)), 0x01))
Store (Local0, Index (DerefOf (Index (C1AF, Arg0)), 0x02))
It mean that both numbers are same and come from C164 variable.
C164 variable is defined as 16bit variable on offset 0x8D of
EmbeddedController (_HID=PNP0C09) memory region.
So, now you know from where the Design/Last Full Capacity come from.
Unless you have improper BIOS (BIOS for other computer type/version)
then there seems not to be problem between ACPI and OS. You should ask
why independent embedded controller store such value to memory where the
OS is reading it. As far as I know, you can't debug the operations of
embedded controller, so you can imagine only why it store such values
here ...
Dan
More information about the freebsd-acpi
mailing list