After almost a week trying without success, finally my Latitude 7390 run smoothly under Ubuntu 20.04 and Pop!_OS 20.04 .
- Short story -
Just like sebastianer, I upgraded my laptop to latest Pop!_OS 20.04 at first time. Just realize the laptop freeze after I leave it almost hours (the power button still on, when it should be already on suspend) with blank screen, try hit the power button and press some key didn't work, so I need to force shutdown by long pressing the power button.
The second time, the laptop charging led blinking 2 times in amber and 1 time in white not long after the laptop going into lock state. According to Latitude 7390 manual, this mean something wrong with the processor. This happen too when I installing Ubuntu 18.04.4 and Ubuntu 20.04. This only happen in latest Ubuntu but not another distro.
Try to touch the processor side under the laptop after hung, but not feel hot. So I assume there must be something in the processor that can't run correctly under new (kernel?) in Ubuntu. Ah and I have an custom AMD APU PC with ASUS motherboard that have same problem, but seems like appear not often. But my other laptop (ThinkPad E540 and Vostro V131) are run smoothly without any problem.
The problem is on the locking state not the suspend. Because somehow I can doing suspend and wake it up normally, but not when locking the system. Just try disable the lock and going to suspend, or just click the suspend button or run sudo systemctl suspend
.
- The Fix -
(Latitude 7390 - i7-8650U - BIOS v1.14.0)
So I focused on the System Setup (BIOS). This time to change some setting related with the processor. Here is what I have done (in the BIOS - System Setup Manual):
- Disable "Intel Speed Shift Technology", this can be found under Power Management menu
- Disable "Trusted Execution" and "TPM 2.0 Security", this can be found under this link for Trusted Execution and this link for TPM
- Disable "Wireless Radio Control", this can be found under Power Management menu. By disabling both of WLAN and WWAN in this menu, it fix problem with "disabled by hardware" problem after wake up from suspend.
- Disable "Intel Software Guard Extensions", this can be found under Intel Software Guard Extensions.
(Custom PC with ASUS motherboard (F2A85-M LE) and AMD APU A10-5800K - BIOS v6504)
- Disable "Deep S4", this can be found under the Advance BIOS menu.
- Conclusion -
Seems like the Intel Speed Shift Technology, TPM, and Intel software Guard Extensions have problem with the new kernel. Maybe there still need a tweak in the driver side, a conflict with the P-State, or the combination all of it, idk. But after I disable all of it, my laptop work smoothly using Ubuntu 20.04 and Pop!_OS 20.04.
In the AMD side seems like S4 bring the system into a very deep sleep that no one can bring it up gracefully except to force it wake up by resetting the system.
I already run both system more than 24 hours now with latest update (kernel 5.4.0-7634-generic). Seems all the system working fine.
- Update 20200610 1813 -
After using almost a weeks or more, seems like my laptop fine but, then I need TPM due to app I made, so I enable all feature that I already disabled before in the BIOS. Then my system back to crash. But the strange things is even I revert it back to disable, it keep crashing after lock, going to CPU Failure. After googling looking for the right answer what happen with my CPU, then I found this and this articles.
I have i7-8650U which is Kaby Lake Refresh. In the article said "Some Intel systems, like Kaby Lake Refresh chips, require both intel_idle.max_cstate=1 and i915.enable_dc=0 to ensure a hang-free experience." so I put
intel_idle.max_cstate=1 i915.enable_dc=0
in my GRUB kernel parameter. Seems like it was the correct settings to make my Latitude 7390 laptop able to lock and/or suspend without CPU Failure and enable again the Intel Speed Shift Technology, TPM, and Trusted Execution .
Hope the answer help you and some people. Thank you and Good Luck
Best Answer
From your Desktop screen, press
F1
, thenCtrl + L
and typeman:systemd-suspend.service.8
.Repeat for
man:systemd-sleep.conf.5
.You have more experience in this matter than me as evident in question, but I'm sure this might help.