Contribute
Register

Lenovo X230 Battery Cycle Count (Last Problem to be Solved)

Status
Not open for further replies.
I did use 15 fields of _BIF to retrieve total length (256bits; 32 bytes) of EC (EmbeddedController claims that the total length is 0x100), but no one seems to be the correct cycle count.

You need to reverse the EC data, such that you know which offset the cycle count is stored (assuming it is even there).
 
I took photo of each offset (also assumed it is even there according to my HP 9470). will post to you tomorrow.
 
I took photo of each offset

No idea what you're referring to.

(also assumed it is even there according to my HP 9470).

Cycle count on HP ProBook/EliteBook/etc has nothing to do with cycle count on other computers.
 
Here is part of the EC data:
CC 19126
FC 10800
DC/SB 5616
AC 19071
DV 10800
BAF 10
BBS 255
BAE 19126
BRS 49
BOM 17085
BSI 49
BDT 16785
I either use the last 2 character or 3 of the original EC register name.
 
Here is part of the EC data:
CC 19126
FC 10800
DC/SB 5616
AC 19071
DV 10800
BAF 10
BBS 255
BAE 19126
BRS 49
BOM 17085
BSI 49
BDT 16785
I either use the last 2 character or 3 of the original EC register name.

No idea what that data refers to.
If you look at your original DSDT, you find 'SBCC' field in the EC (at offset 0xA4). It may be your cycle count. You should check in RW-Everything (in Windows) and see if the data there makes sense as a cycle count.
 
sbcc data is 19126 (assuming 2 bytes for cycle count data)
 
sbcc data is 19126 (assuming 2 bytes for cycle count data)

No idea what you mean by 19126, unless you're saying that is the data there (0x4ab6, would appear as b6 4a).
In which case, it makes no sense as cycle count data (because certainly your battery does not have 19126 cycles on it).

Suggestion for reversing/finding EC data related to cycle count:
- dump entire EC data (RW-Everything)
- force a cycle on the battery (discharge/recharge)
- dump entire EC data (RW-Everything)
- analyze difference between the dumps looking for something that increased by 1
 
yes, it shows 0x4ab6 for sbcc. sorry about that all above data had been translated to decimal instead of hex
 
yes, it shows 0x4ab6 for sbcc. sorry about that all above data had been translated to decimal instead of hex

Clearly, it is not cycle count (or you're reading it incorrectly).

Read edit in post #17.
 
ok will read later. inconvenient at the moment.
sbcc - sbac = 19126 - 19071 = 55
is also make sense. but just don't know if it is static data or dynamic data.
FYI, sbcc data is generated from B1B2 Method, that why I said assuming cycle count data is from double bytes, if single may also do the treat, I need to do another experiment.
 
Status
Not open for further replies.
Back
Top