Unable to Resume from Suspend on ThinkPad X230

Asked by Alvaro Leal (Effenberg0x0)

1) Unable to resume from suspend: Users effectively lose data if the computer automatically enters S3 after an inactivity period (which is the default behavior on Ubuntu)

Thinkpad x230 can't resume from suspend (S3). The power button continues blinking, indicating the system is suspended and pressing any key in the laptop will not wake it. The CPU cooler continues running nonstop. The only option is to press power for 10 seconds to turn the laptop off.

I have tried all workarounds listed at ThinkWiki (see http://www.thinkwiki.org/wiki/Category:X230 and http://www.thinkwiki.org/wiki/How_to_make_ACPI_work) .

It's easy to find reports of Thinkpads with this problem online, but the reports generally refer to other Thinkpad models. Some examples:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1331077
https://bbs.archlinux.org/viewtopic.php?id=187624
https://bugzilla.kernel.org/show_bug.cgi?id=80351
https://forums.lenovo.com/t5/ThinkPad-11e-Windows-E-and-Edge/E540-Suspend-Resume-failure/td-p/1868488/page/5

This problem also affects Intel Rapid Start (IRS). It never enters IRS state, although it is properly activated and configured in the BIOS settings and a partition with the proper id exists in the SSD.

S3/Resume and Intel Rapid Start work normally on this same laptop under WIndows 8.1.

2) BIOS version
The certification data at http://www.ubuntu.com/certification/hardware/201206-11273/ mentions BIOS version 1.02 (G2ET22WW). Howevere, this BIOS is not provided by Lenovo (see all BIOS for Thinkpad x230 at http://support.lenovo.com/us/en/downloads/ds029187).

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu-Certification Edit question
Assignee:
No assignee Edit question
Solved by:
Alvaro Leal (Effenberg0x0)
Solved:
Last query:
Last reply:
Revision history for this message
Yung Shen (kaxing) said :
#1

Sorry this reply may not answering your question directly.

The certification data you referring to is only applies system with Ubuntu release 12.04.2, if you stay with the release and not upgrading kernel manually you should not encounter suspend-resume issues.

I'm personally work on X230(i5-3210M) at the daily basis, and currently running 14.04.3 without any problem. I did affected by couple suspend/resume problems back on different kernel versions, but usually I can fix them with newer kernel versions.
I do manually upgrading kernel versions time by time, and keep at least one elder kernel just in case.

My thinkpad doesn't have RST ability, Intel RST requires specific hardware and partition schema[0], and it is out of certification coverage. A more technical explain can be found here: https://blueprints.launchpad.net/ubuntu/+spec/foundations-irst-support

And the latest bios version I could get from lenovo's tool on windows is: G2ETA4WW (2.64 )

HTH

[0] http://download.intel.com/support/motherboards/desktop/sb/rapid_start_technology_user_guide.pdf

Revision history for this message
Alvaro Leal (Effenberg0x0) (effenberg0x0) said :
#2

Hi, thanks for your answer.

I'm not familiar with the processes and rules of certification. As far as I could understand it from your answer, Lenovo x230 was certified exclusively for release 14.04.3 of Ubuntu and the certification is not upgraded as new versions of Ubuntu are released. Is that a correct interpretation?

Regarding BIOS: My point is that the certification data mentions a BIOS version that is no longer provided by Lenovo. However, x230 are still sold around the world, both new and used, but they may or may not have that BIOS version, apparently they're more likely to have more recent BIOS versions. So, in other words, is a Thinkpad x230 laptop with a more recent BIOS considered certified to work with Ubuntu 12.04 LTS? Or is the certification limited to the BIOS 1.02?

[Off Topic]
About Intel Rapid Start Technology: My x230 has support for IRST on the BIOS. Are you sure your x230 doesn't have it? Look at Config/Power on the BIOS. Anyway, there seem to be people using it with Linux. Apparently it works as long as one creates an unformatted partition at least the same size as the installed RAM in their SSD and use GUID D3BFE2DE-3DAF-11DF-BA-40-E3A556D89593. However, in order for it to work, S3 would have to be fully functional, which is not the case with Ubuntu 15.04.

As you mention having no S3 problems with 14.04, I'll install it and then try S3 and S4/IRST.
[/Off Topic]

Thanks.

Revision history for this message
Yung Shen (kaxing) said :
#3

yes, the latest certificate for ThinkPad X230 is currently only certified with 12.04.2

and for the question about BIOS, long story short, it should always tested with the latest BIOS version provided by manufacturer but sometimes BIOS versions are vary, it won't tested with every new bios version. And strictly speaking, since we don't know how many things is being changed from version to version, the best recommended BIOS version is the one that shows on certificate page.

>> [off topic]
I've checked the bios setup again, sorry you are right, I do have the RST option with G2ETA4WW (2.64 ), but I don't have SSD to give it a try at the moment.
And interestingly I'm running the same kernel(3.19) on 14.04(trusty) that use in 15.04(vivid), so maybe the tp-smapi-dkms package is making something different here, you might want to give it a try.

Revision history for this message
Alvaro Leal (Effenberg0x0) (effenberg0x0) said :
#4

I'm also on kernel 3.19, but I don't have tp-smapi-dkms installed, because apparently it should not work on x230 (see the 3rd paragraph at http://www.thinkwiki.org/wiki/Tp_smapi). But maybe that information is wrong, I'll try it for sure.

Revision history for this message
Alvaro Leal (Effenberg0x0) (effenberg0x0) said :
#5

I tested tp-smapi-dkms and indeed it doesn't work. Do you see something like this in your PC?
$ dmesg | grep thinkpad_ec
[ 44.134191] thinkpad_ec: thinkpad_ec_read_row: failed requesting row: (0x01:0x00)->0xfffffffb
[ 44.134193] thinkpad_ec: initial ec test failed

Anyway,, from what I could understand, it should have no impact on the ability to suspend/resume properly. Apparently it only exposes firmware related to battery levels and sensors.

I think I will start a proper Launchpad bug since this place is regarding certification only.

Revision history for this message
Yung Shen (kaxing) said :
#6

yes I got the same error message.
I'm sorry that I pointing you to the wrong direction, open a dedicated bug would be a good idea.
And how about to turn of RST then make sure regular suspend-resume works first, i think this would helpful on figuring the root cause.

Revision history for this message
Yung Shen (kaxing) said :
#7

Hi, Alvaro,

This is a late follow-up on Intel RST, I've finally got a ssd with my own X230, therefore had the chance to give it a try.

My working setup:
ssd,installed on msata
bios: UEFI mode
release: trusty 14.04.3 (kernel 3.19)

1. create a blank partition, with a slightly larger size compare to your current ram size.
2. set the partition with GUID: "D3BFE2DE-3DAF-11DF-BA-40-E3A556D89593".
3. enable the Rapid Start under bios setting, choose immediately for testing purpose.

now when I suspending my system it goes completely power off, a bit slower than regular s3 suspend.
while it powering on, system will resume directly from poweroff, faster than hibernate.

# imo, this is a trade off between battery life and ssd life cycle, if you had second HDD on your system maybe suspend-hybrid is a better solution, and since hibernation had been disabled by default, so still if you want to use RST/hibernation it should depends on how much ram you got.

Revision history for this message
Alvaro Leal (Effenberg0x0) (effenberg0x0) said :
#8

Hi, thank you for the follow up.

I'm also able to use Intel RST with the latest updates to Ubuntu 15.04, but only when I run sudo systemctl hybrid-sleep. sudo systemctl suspend still puts my x230 on an unresumable state.

Questions:
1. Did you keep the laptop traditional HDD and added a SSD? Or are you using an SSD only? I've seen some reports of Linux users that are dealing with suspend/resume problems with x230 and I'm under the impression that these users have replaced their HDD with an SSD (like I did).

2. Out of curiosity, how much time does it take on your x230 to go from the Intel RST suspended state to a working desktop? Apparently Windows users get something like 10 to 15 seconds. I have to wait slightly more than a minute here (on Vivid).

Revision history for this message
Yung Shen (kaxing) said :
#9

1. Yes, I did keep my original HDD alone with msata SSD, but i'm running whole system solely on SSD and being recognize as sdb.

2. It's not fast, but with 10GB out of 12GB rams are being used on 3Gb/s msata bandwidth it sounds fair enough to me..
here is a quick test with my eyes and timer:

suspend: 51.54s
suspend with immediately goes to RST partition.(as set up in BIOS)

resume: 51.14s
until I see the login screen. (PM: resume of devices complete after 507.510 msecs)

And btw, I don't think there is a way to manually suspend to RST partition, suspend should follow the BIOS>RST settings to perform RST suspend/hibernate. Regular suspending still fast, but i'm doubting that numbers are from deep sleep(delayed hibernation).