As a ThinkPad fan, I really like X1 Carbon (G6). I run Fedora 28 on it, and almost everything runs flawlessly. One issue that bothers me a lot is problem with suspend. The X1 Carbon G6 supports S0i3 instead of the S3. Without the S3, when the laptop is put to suspended, the battery continue to drain and sometimes the cpu fan keeps running.

Fortunately, this issue has been recently addressed by Lenovo through firmware update. According to the wiki.archlinux.org, S3 can be enabled in BIOS from BIOS version 1.30 or newer.

Let’s confirmed that S3 is not supported:

~ ❯❯❯ dmesg | grep -i "acpi: (supports"
[    0.147429] ACPI: (supports S0 S4 S5)

To update the BIOS firmware on Fedora 28, there are 2 options: using command-cline fwupdmgr or the graphical application Software update on Gnome. I usually like the command-line option, but this time I opted in for graphical one as it’s a lot easier.

What I had to do was launching the Software app, then click on Updates tab an click the refresh button. After waiting for a while, I was presented with the following available update:

Click on Update, and then reboot the system.

After the system is reboot, the firmware update started, and it made beeping noise for each (step of) progress it made. Then the laptop was automatically rebooted 2 more times. For the 3rd reboot, I went into the BIOS configuration, and make a change to: Config -> Power -> Sleep State - Set to "Linux".

Here is what the dmesg shows after the 4th reboot:

~ ❯❯❯ dmesg | grep -i "acpi: (supports"
[    0.198522] ACPI: (supports S0 S3 S4 S5)