Batterie Cycle Count immer auf 0

gothic

New member
Themenstarter
Registriert
2 Apr. 2011
Beiträge
288
Hallo zusammen,

bin zwar eig. mit OS X unterwegs, aber hab es nun schon oft in den Linux-Foren gelesen und gesehen, dass der Cycle Count der Batterie immer auf 0 steht. Alle anderen Werte werden richtig angezeigt (soweit ich das richtig seh). Hier mal ein Auszug aus meiner DSDT BAT0

Code:
                    Device (BAT0)
                    {
                        Name (_HID, EisaId ("PNP0C0A"))
                        Name (_UID, Zero)
                        Name (_PCL, Package (0x01)
                        {
                            _SB
                        })
                        Name (B0ST, Zero)
                        Name (BT0I, Package (0x0D)
                        {
                            Zero, 
                            Ones, 
                            Ones, 
                            One, 
                            0x2A30, 
                            Zero, 
                            Zero, 
                            One, 
                            One, 
                            "", 
                            "", 
                            "", 
                            ""
                        })
                        Name (BT0P, Package (0x04) {})
                        Method (_STA, 0, NotSerialized)
                        {
                            If (H8DR)
                            {
                                Store (HB0A, B0ST)
                            }
                            Else
                            {
                                If (And (RBEC (0x38), 0x80))
                                {
                                    Store (One, B0ST)
                                }
                                Else
                                {
                                    Store (Zero, B0ST)
                                }
                            }
                            If (B0ST)
                            {
                                Return (0x1F)
                            }
                            Else
                            {
                                Return (0x0F)
                            }
                        }
                        Method (_BIF, 0, NotSerialized)
                        {
                            Store (Zero, Local7)
                            Store (0x0A, Local6)
                            While (LAnd (LNot (Local7), Local6))
                            {
                                If (HB0A)
                                {
                                    If (LEqual (And (HB0S, 0x0F), 0x0F))
                                    {
                                        Sleep (0x03E8)
                                        Decrement (Local6)
                                    }
                                    Else
                                    {
                                        Store (One, Local7)
                                    }
                                }
                                Else
                                {
                                    Store (Zero, Local6)
                                }
                            }
                            Return (GBIF (Zero, BT0I, Local7))
                        }
                        Method (_BST, 0, NotSerialized)
                        {
                            XOr (DerefOf (Index (BT0I, Zero)), One, Local0)
                            Return (GBST (Zero, HB0S, Local0, BT0P))
                        }
                        Method (_BTP, 1, NotSerialized)
                        {
                            And (HAM4, 0xEF, HAM4)
                            If (Arg0)
                            {
                                Store (Arg0, Local1)
                                If (LNot (DerefOf (Index (BT0I, Zero))))
                                {
                                    Divide (Local1, 0x0A, Local0, Local1)
                                }
                                And (Local1, 0xFF, HT0L)
                                And (ShiftRight (Local1, 0x08), 0xFF, HT0H)
                                Or (HAM4, 0x10, HAM4)
                            }
                        }
                    }

bildschirmfoto20111211ui.png


Vielleicht kennen sich einige damit ja aus. Oder ist das allgemein unter OS X / Linux nicht auslesbar?

Gruß
 
Hallo,

eine Frage die mich auch interessiert, habe aber bei keinem meiner Thinkpads je was anderes als 0 gehabt leider.

Grüße, pepun.
 
Hi,

bisher konnte ich auf meinen T6x / X6x den Cyclecount unter Linux nur auslesen, wenn das Kernelmodul tp_smapi geladen war (siehe Wiki). Dann ging es mit "tlp stat", ob es ein einfaches
Code:
cat /sys/devices/platform/smapi/BAT0/cycle_count
auch tut, kann ich gerade nicht probieren.

Jetzt habe ich hier aber ein T22 und drei Akkus, deren Zyklenzähler ich gern wissen würde. Nach dieser Quelle hat es zwar ein SMAPI BIOS, unterstützt aber den Zugriff auf den EC nicht. Das Modul thinkpad_ec und damit auch tp_smapi laden nicht.
 
Jups,

nur mit tp_smapi kannst du den Count auslesen, ohne geht es einfach nicht.

Grüße
 
  • ok1.de
  • thinkstore24.de
  • ok2.de - Notebook Computer Server
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben