inward.garden

Solving Linux Problems on the Thinkpad A485

I've been distro-hopping on my recently acquired used Thinkpad A485 recently to find one I can land on for permanent use. I ran into some frustrating problems but noticed most of these would repeat no matter which distro I was using. I began thinking something was wrong with the disk, or other laptop hardware.

Essentially, with the machine set to not sleep, after the machine would idle for a non-specific period of time, when I went to use it again a number of symptoms would be present, not always exactly identical, but similar:

Initially, I thought it may be distro-related, but I ran into the same problems in multiple distros, though sometimes they would present themselves a bit differently in each. So, at that point I went online to hunt for solutions. While I found a number of similar posts (based on searching terms in the logs I was getting), none of them really offered any exact solutions that worked, and almost no one reported the issue being fixed after attempting the given advice. Additionally, while I did find other reports of the problem, they were relatively rare overall.

The logs I would find in dmesg / syslog / kern.log were akin to the following:

ACPI: \_SB_.PCI0.LPCB.BAT0: _BST evaluation failed: AE_TIME
ACPI Error: AE_TIME, Returned by Handler for [EmbeddedControl] (20221020/evregion-300)
ACPI Error: Timeout from EC hardware or EC device driver (20221020/evregion-310)
ACPI Exception: AE_TIME, Error reading AC Adapter state (20160930/ac-128)
ACPI Exception: AE_TIME, Returned by Handler for [EmbeddedControl] (20160930/evregion-300)
ACPI Error: Method parse/execution failed [\_SB.PCI0.LPCB.EC0.BAT0._BST]

Chasing The Problem Around

Things I tried that did not solve the problem:

A number of places mentioned BIOS and Embedded Controller firmware being a potential problem area. The logs do mention the EC hardware / EC device which added some credence to this theory, and a few of the places online where similar issues to mine were solved, but on other hardware, seemed to be with BIOS updates. However, my laptop was on the latest BIOS for this model (1.36), so I could not update the BIOS further.

Solution

What did I do to fix it? Downgraded the BIOS. This seems to be the only option at this time for Thinkpad A485 users that want a stable and fully working system in Linux. NOTE: YMMV. Perform this at your own risk. Downgrading a BIOS does mean potentially missing out on security updates in latest versions. Also note that there is a BIOS security setting you must change to "allow rollback" before you can flash the BIOS to earlier versions.

The version I chose to try is 1.31, with the reasoning being that Lenovo made some charging and embedded controller logic changes in later updates that might have introduced the issue. I wanted to avoid going any further back past 1.31 because 1.31 was a large update fixing many issues, including multiple security vulnerabilities, BIOS options, and fixing issues with docking, HDMI, and S3. The changes I saw that inclined me to go for 1.31 (from Lenovo BIOS release notes):

UEFI: 1.33  /  ECP: 1.33
- (New) Added Ec Reset Detection item for treat EC reset as tamper event.
         
UEFI: 1.32  /  ECP: 1.32
- (Fix) Fixed an issue that "No charging after system enter S4/S5  when battery charge is 100% ",
          do not make PD switch to 9V when attaching dock when system enter S5.

If you're trying to solve this on your own A485, feel free to try other BIOS versions if you wish, but the first one I attempted (1.31) has solved the problems for me completely. I checked every 12-24 hours after the change and the issue has not repeated since. Battery/charger status continue to work fine, no more ACPI errors, the system does not overheat or become unstable, and the fan response remains normal. If someone runs into this particular hardware/software mix (Thinkpad A485 or similar hardware + Linux) and has a similar experience- maybe this will finally solve the problem for good for them. Hopefully a web search can eventually help lead them to this page.

This page was last edited 4 months ago