Date: Wed, 17 Mar 2010 08:36:03 -0400 From: "Alexandre \"Sunny\" Kovalenko" <gaijin.k@gmail.com> To: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> Cc: freebsd-acpi@freebsd.org Subject: Re: Funny battery values (nx6325) Message-ID: <1268829363.6171.13.camel@RabbitsDen> In-Reply-To: <20100317074549.GC52442@uriah.heep.sax.de> References: <20100315062028.GC52442@uriah.heep.sax.de> <20100317070428.GA2924@server.vk2pj.dyndns.org> <20100317074549.GC52442@uriah.heep.sax.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2010-03-17 at 08:45 +0100, Joerg Wunsch wrote: > As Peter Jeremy wrote: > > > >Design capacity: 279 mAh > > >Last full capacity: 279 mAh > > > Is this consistent or does it vary from boot to boot or if you > > disconnect and reconnect the battery? > > Currently, my wife is on a business trip with that machine. > Hopefully, I'll also get a statement about how long it lasts on > battery once she is back ;-), and I'll re-check those values then. > > > >The battery is declared as 55 Wh, which would correspond to 5.1 Ah > > >(probably 3 x 2 x 18650 cells). > > > > But is also over 3 years old. Almost everything you do to LiION > > batteries makes their capacity drop. > > That's right, but it wouldn't be supposed to affect the "Design > capacity", would it? ;) > > Can anybody tell where these values actually come from? I could > perhaps even build a small microcontroller gadget, in order to query > the battery for its values offline (using I²C aka SMbus) in order to > see where the mistake might be. > You can dump your ASL (see Handbook for instructions) and search for something like: Method (_BIF, 0, NotSerialized) { If (\_SB.PCI0.SBRG.ECD.BTIN) { Noop Return (BIFF) } Else { Acquire (ECMX, 0xFFFF) // *** This is power unit (0 - mWh/mW, 1 - mAh/mA) Store (\_SB.PCI0.SBRG.ECD.BIF0 (), Index (BIFF, 0x00)) // *** This is the design capacity in units above Store (\_SB.PCI0.SBRG.ECD.BIF2 (), Index (BIFF, 0x01)) Store (\_SB.PCI0.SBRG.ECD.BIF2 (), Index (BIFF, 0x02)) Store (\_SB.PCI0.SBRG.ECD.BIF3 (), Index (BIFF, 0x03)) Store (\_SB.PCI0.SBRG.ECD.BIF4 (), Index (BIFF, 0x04)) Store (\_SB.PCI0.SBRG.ECD.BIF5 (), Index (BIFF, 0x05)) Store (\_SB.PCI0.SBRG.ECD.BIF6 (), Index (BIFF, 0x06)) Store (\_SB.PCI0.SBRG.ECD.BIF7 (), Index (BIFF, 0x07)) Store (\_SB.PCI0.SBRG.ECD.BIF8 (), Index (BIFF, 0x08)) Release (ECMX) Return (BIFF) } } and try to track down where the actual values came from. Chapter 10 of the ACPI specification (http://www.acpi.info/spec.htm) should provide you with more information on the subject. The contents of the method above came from some ASL I had laying around -- yours will likely be different. The important part is the returned package that contains values in the specific sequence. HTH, -- Alexandre Kovalenko (Олександр Коваленко)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1268829363.6171.13.camel>