On Tue, Dec 05, 2006 at 12:30:55AM +0300, Sergey Basmanov wrote: > Hi, > Was looking how to get battery discharge rate on this laptop. > This is part of DSDT: > Name (PBST, Package (0x04) > { > 0x00, > 0xFFFFFFFF, > 0xFFFFFFFF, > 0x2710 > }) > ... > > Method (_BST, 0, NotSerialized) > { > If (ECON) > { > If (\_SB.PCI0.LPCB.EC0.MBTS) > { > UPBS () > } > Else > { > IVBS () > } > } > Else > { > IVBS () > } > > Return (PBST) > } > ... > Method (UPBS, 0, NotSerialized) > { > Store (\_SB.PCI0.LPCB.EC0.MBRM, Local5) > If (LNot (And (Local5, 0x8000))) > { > ShiftRight (Local5, 0x05, Local5) > ShiftLeft (Local5, 0x05, Local5) > If (LNotEqual (Local5, DerefOf (Index (PBST, 0x02)))) > { > Store (Local5, Index (PBST, 0x02)) > } > } > > Store (\_SB.PCI0.LPCB.EC0.MBCV, Index (PBST, 0x03)) > Store (\_SB.PCI0.LPCB.EC0.MBST, Index (PBST, 0x00)) > Store (\_SB.PCI0.LPCB.EC0.BA1C, BCAP) > } > > and method IVBS just stores default values into PBST. > So, I'm not familiar with iasl and rest, but if I understand right, UPBS > method is used in case when battery connected and known to system. > In UPBS method I don't see any code that updates PBST at 0x01 > (discharge_rate). HP support says that sensor is present in system. > Any ideas where this sensor located and how can I get discharge rate > visible in ACPI (kernel 2.6.18.2)? It's likely under the embedded controller. If you give me the whole OperationRegion() and the Field() for that one it might be possible I could have a hint to get it. It should be something like that: Device (EC0) { ... ... OperationRegion(XXXX, EmbeddedControl, 0x00, 0xFF) Field(XXXX, ByteAcc, ..., ...) { ... ... } ... } I'll need all the Field with the same name (here XXXX). Or alternatively send to me the whole ASL. Cheers, -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html