I did all my testing now out of the console to exclude Plasma and stuff.
I manually started TLP and powertop --auto-tune.
Powertop showed all good.
S0ixSelftestTool still failed and I’ve noticed that it shows that the drive is in L0 only when I run it for the first time. After that it always shows L1.2.
atop shows that everything is fine. In Terminal everything is usually @ 0, with atop being at the top of the list.
CPU still stays @ C3 and C6 and does not go to C7, C8, C9, or C10.
I am gonna download the newest ISO of KDE Neon and Ubuntu and boot them from USB and see what happens there.
On USB boot everything works fine until the device goes to sleep, after awakening, it is unable to go below C3 and that’s regardless of PCIE settings, TLP, and powertop, while on SSD boot I am unable to make it below C3.
I really don’t want to distro hop or reinstall the system, but it seems that I have to install Neon on a separate drive, fix the problem after going to sleep, and then reinstall my main os, or distro hop.
The SSD can still cause problems even when running the OS from an USB stick (I confirmed this using S0ixSelftestTool on a Void Linux live USB).
The USB boot should give you the option of editing the kernel command line before booting (eg. on Ubuntu you can press ‘e’ on the boot menu). Then you can try adding nvme.noacpi=1 to the USB boot.
It just says that “PC10 wasn’t achieved”, but neither of the states below C6 were achieved.
I was ignoring the BIOS update from 3.06 to 3.07 because their Change Log says that they mostly fixed some charging issues, but after the BIOS update I am getting the same results in USB boot and SSD boot and now S0ixSelftestTool clearly says that after awakening from sleep SSD is stuck in L1 (not L1.1 or L1.2).
I removed TLP, powertop, and set grub to default for testing purposes before, so now I will set those things up again and if it does not help then I will change the sleep mode or just replace it with hibernation.
I think it should be noted in the tutorial that BIOS 3.06 is fucked.
Update:
After BIOS update and setting nvme.noacpi=1 in grub, everything was perfect. CPU hit C8 and C10 after and before sleep, but I decided to install tlp and powertop and now I am getting this from S0ixSelftestTool:
The deeper CPU Package C-state is available after
PCI devices LTR ignore,please investigate the potential IP LTR issue.
Without LTR ignore it’s stuck again @ C3. (Yes, I set PCIE_something=powersupersave in TLP) Removing TLP and powertop didn’t fix it.
I have the same drive, it hits c10. I am running Manjaro Gnome and powertop. So the good news is that it should work. The bad news is that you’re still trying to determine what is preventing the system from hitting that state. Finally, this may not be relevant to your issue, but there is a firmware update for the drive - you have to use windows to update it.
Well, I got this, but either TLP or powertop fucked me.
Does anyone know what to do with this message from S0ixSelftestTool and how to fix it?:
The deeper CPU Package C-state is available after
PCI devices LTR ignore,please investigate the potential IP LTR issue.
This is a stupid piece of trash. Frame.work did really SCREWED UP. I don’t know whether any of the devs gonna see that, but I believe I have that stupid temporary audio codec and using it was a mistake!
It sounds bad, it doesn’t support energy-saving, and it creates tons of high pitch noise when you turn it off, and at the top of that, IT WAS CAUSING ALL THE ISSUES WITH CPU AND ENERGY STATES. As soon as I ignore LTR from that chip, the CPU starts working correctly, but the audio gets unbearably choppy.
BIOS 3.06 is broken in some way
92HD95B is a piece of crap.
When the computer plays only a movie then audio is kinda fine, so when battery saving is needed then simply run this script to allow states, below C3:
#!/bin/bash
pkexec su -c "echo 9 > /sys/kernel/debug/pmc_core/ltr_ignore"
On AC it doesn’t matter anyway.
Power consumption went from ~12W to ~8W, which is fine since I have animated wallpaper, gen 4 SSD, and an HDMI expansion card.
I really want to see a decent audio amp in the expansion slot in the future.
This is stupid. This codec sounds really bad so I am using PulseEffect just to equalize it, meanwhile, it supports 12 bands bi-quad hardware EQ. I want access to that, so I will not waste CPU for something that has hardware acceleration!
I just found out that the audio codec is fine, the CPU is fine and PulseAudio is a reason for all my troubles with audio and power saving. Because PulseAudio doesn’t go to sleep by default, it keeps the audio codec awake and the codec keeps the CPU in high C states, and all of that wastes ~6W of power.
But I was f* reverse engineering an issue. From CPU through codec to PulseAudio.