You are viewing hughsient

Technical Blog of Richard Hughes - Lenovo - AHHHHHHH

Richard Hughes
Date: 2007-04-28 16:52
Subject: Lenovo - AHHHHHHH
Security: Public
My Lenovo 300 N100 laptop is now not charging the battery. The laptop also won't turn on when on battery power alone as the cell is 0% charged. Removing and reinserting the battery sometimes makes it charge for a few seconds only.

This laptop is a hunk of shit.

EDIT: IT GETS WORSE. According to this lenovo document  the battery isn't covered under the warranty. This laptop is less than 6 months old...
Post A Comment | 6 Comments | Share | Link






User: unmadindu
Date: 2007-04-28 19:39 (UTC)
Subject: Sorry to hear about that :-(
I faced a similar issue with my Compaq laptop around two years back. Same symptoms, had to get the battery replaced (fortunately it was covered by the warranty). Towards the beginning, taking out the battery, keeping it outside for an hour or two helped, but after a week or, that approach didn't work any more. The guy at the service center told me that the circuitry inside which determines the charge level of the battery had gone for a toss, and the most likely cause was a power surge (which did not surprise me since the power supply at my college supply is extremely erratic).
Reply | Thread | Link



Hubert Figuiere: digital
User: hub_
Date: 2007-04-28 20:49 (UTC)
Subject: (no subject)
Keyword:digital
My Thinkpad battery got replaced after almost 12 month... You should really request them a replacement. (I know you don't have a Thinkpad). The only fact that you can't switch on the laptop without the battery is shameful (I could).
Reply | Thread | Link



simosx
User: simosx
Date: 2007-05-01 14:06 (UTC)
Subject: What's your last charge?
Do a

$ cat /proc/acpi/battery/BAT0/info

and compare the "design capacity" and "last full capacity" values.

Your battery is healthy when "last full capacity" is as close as to "design capacity". Thus, if in your case you get a poor "last full capacity", then the battery is busted in the sense it cannot charge.
Reply | Thread | Link



Richard Hughes
User: hughsient
Date: 2007-05-01 15:49 (UTC)
Subject: Re: What's your last charge?
No, the design and last capacity are hardcoded in my ACPI DSDT and therefore don't change. This BIOS is crap.
Reply | Parent | Thread | Link



simosx
User: simosx
Date: 2007-05-01 16:19 (UTC)
Subject: Re: What's your last charge?
The design capacity is fixed and is read from the smart battery.
The last capacity should be variable and gradually decrease when the battery gets older.

I do not want to believe that Lenovo puts non-smart batteries in laptops, or hardcodes the "last capacity"... :)
Reply | Parent | Thread | Link



Richard Hughes
User: hughsient
Date: 2007-05-01 16:50 (UTC)
Subject: Re: What's your last charge?
>or hardcodes the "last capacity"

Don't joke. See _BIF below:

Method (_BIF, 0, NotSerialized)
{
Name (STAT, Package (0x0D)
{
One, // Power Unit, mAh
0x0FA0, // Design Capacity, 4000 mAh
0x0FA0, // Last Full Charge Capacity, 4000 mAh
One, // Battery Technology
0x2B5C, // Design Voltage, 11100 mV
0x01A4, // Design Capacity of Warning, 420 mAh
0x9C, // Design Capacity of Low, 158 mAh
0x0108, // Battery Capacity Granularity 1, 264 mAh
0x0EC4, // Battery Capacity Granularity 2, 3780 mAh
"PABAS024",// Model Number
"3658Q", // Serial Number
"LION", // Battery Type
"COMPAL" // OEM Information
})
If (ECOK ())
{
Store (^^EC0.BDN0, Local0)
If (LEqual (BRAD, One))
{
If (LEqual (Local0, 0x02))
{
Store ("PA3421U ", Index (STAT, 0x09))
}

If (LEqual (Local0, 0x08))
{
Store ("PA3395U ", Index (STAT, 0x09))
}
}
Else
{
If (LEqual (Local0, 0x02))
{
Store ("PA3421U ", Index (STAT, 0x09))
}

If (LEqual (Local0, 0x08))
{
Store ("PA3395U ", Index (STAT, 0x09))
}
}

Sleep (0x14)
Store (^^EC0.BDC0, Index (STAT, One))
Sleep (0x14)
Store (^^EC0.BFC0, Index (STAT, 0x02))
Sleep (0x14)
Store (^^EC0.BDV0, Index (STAT, 0x04))
Sleep (0x14)
Store (^^EC0.BMF0, Local1)
Sleep (0x14)
If (LEqual (Local1, One))
{
Store ("SANYO ", Index (STAT, 0x0C))
}
Else
{
If (LEqual (Local1, 0x02))
{
Store ("SONY ", Index (STAT, 0x0C))
}
Else
{
If (LEqual (Local1, 0x04))
{
Store ("PANASONIC ", Index (STAT, 0x0C))
}
Else
{
If (LEqual (Local1, 0x05))
{
Store ("SAMSUNG ", Index (STAT, 0x0C))
}
Else
{
Store ("COMPAL ", Index (STAT, 0x0C))
}
}
}
}
}
Else
{
Store ("Li-Ion", Index (STAT, 0x0B))
}

Return (STAT)
}
Reply | Parent | Thread | Link



browse
my journal
April 2008