Discussion:
niecałkowity suspend w laptopie
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
K***@no.no
2023-08-02 08:18:30 UTC
Permalink
W uśpionym laptopie coś drenuje baterię, rozładowując ją całkowicie w ciągu 12 godzin.
Przeszukałem internety, czasem ludziom pomaga wyłączenie RAID w BIOS,
albo dodanie do kernela parametru mem_sleep_default=deep lub nvme.noacpi=1

Niestety to nie pomaga w HP Pavilion (i5-11300H, SSD NVMe, nVidia RTX 3050 Ti, )
w uśpieniu nawet lekko się grzeje więc nie dziwota, że wysysa aku,

$ uname -a
Linux lapek 6.4.6-200.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jul 24 20:51:12 UTC 2023 x86_64 GNU/Linux

$ cat /sys/power/mem_sleep
[s2idle]

$ dmesg
ACPI: PM: (supports S0 S4 S5)

brak trybu S3, chyba nie ma możliwości włączenia usypiania w trybie deep, jest tylko s2idle

Ktoś, coś, jakiś pomysł do przetestowania?
PaPa
2023-08-03 03:02:49 UTC
Permalink
Post by K***@no.no
W uśpionym laptopie coś drenuje baterię, rozładowując ją całkowicie w ciągu 12 godzin.
Przeszukałem internety, czasem ludziom pomaga wyłączenie RAID w BIOS,
albo dodanie do kernela parametru mem_sleep_default=deep lub nvme.noacpi=1
Niestety to nie pomaga w HP Pavilion (i5-11300H, SSD NVMe, nVidia RTX 3050 Ti, )
w uśpieniu nawet lekko się grzeje więc nie dziwota, że wysysa aku,
$ uname -a
Linux lapek 6.4.6-200.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jul 24 20:51:12 UTC 2023 x86_64 GNU/Linux
$ cat /sys/power/mem_sleep
[s2idle]
$ dmesg
ACPI: PM: (supports S0 S4 S5)
brak trybu S3, chyba nie ma możliwości włączenia usypiania w trybie deep, jest tylko s2idle
Ktoś, coś, jakiś pomysł do przetestowania?
Walczyłem z tym problemem w swoim dell 7508 kilka dni ale wygrałem.
Ogólnie M$ wprowadził nowy system suspendu S0ix wzorując się na tabletach ale jak zawsze miało być dobrze a wyszło inaczej.
U mnie del wprowadził S0ix zamiast S3 w BIOS i bateria znikała po 12h czuwania.
Mi pomógł ten artykuł:
https://dev.to/epassaro/fix-suspend-issues-on-dell-7405-2-in-1-3l1b
trochę zabawy i kombinacji ale udało się i mam normalnego S3.
Pozdrawiam
K***@no.no
2023-08-03 11:57:20 UTC
Permalink
Wed, 2 Aug 2023 20:02:49 -0700 (PDT)
Post by PaPa
Post by K***@no.no
brak trybu S3, chyba nie ma możliwości włączenia usypiania w trybie deep, jest tylko
s2idle
Walczyłem z tym problemem w swoim dell 7508 kilka dni ale wygrałem.
Ogólnie M$ wprowadził nowy system suspendu S0ix wzorując się na tabletach ale jak
zawsze miało być dobrze a wyszło inaczej. U mnie del wprowadził S0ix zamiast S3 w BIOS
https://dev.to/epassaro/fix-suspend-issues-on-dell-7405-2-in-1-3l1b
trochę zabawy i kombinacji ale udało się i mam normalnego S3.
Super trop, jest na ten temat parę artykułów,
jednak opisy są sprzed kilku lat więc np. dsdt.dsl ma teraz inne warunki "if" dla stanu S3
ale usunąłem aby S3 było zdefiniowane bezwarunkowo, skompilowałem i wrzuciłem do /boot/acpi-override.img
dodałem do /etc/default/grub wpis
GRUB_EARLY_INITRD_LINUX_CUSTOM="acpi-override.img"

po uruchomieniu grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
w /boot/grub2/grubenv pojawia się wpis: early_initrd=acpi-override.img
czyli grub poprawnie zauważył opcję,
jednak po reboocie nadal brak trybu uśpienia S3.
Może EFI blokuje modyfikację.
PaPa
2023-08-03 18:33:44 UTC
Permalink
Post by K***@no.no
Wed, 2 Aug 2023 20:02:49 -0700 (PDT)
Post by PaPa
Post by K***@no.no
brak trybu S3, chyba nie ma możliwości włączenia usypiania w trybie deep, jest tylko
s2idle
Walczyłem z tym problemem w swoim dell 7508 kilka dni ale wygrałem.
Ogólnie M$ wprowadził nowy system suspendu S0ix wzorując się na tabletach ale jak
zawsze miało być dobrze a wyszło inaczej. U mnie del wprowadził S0ix zamiast S3 w BIOS
https://dev.to/epassaro/fix-suspend-issues-on-dell-7405-2-in-1-3l1b
trochę zabawy i kombinacji ale udało się i mam normalnego S3.
Super trop, jest na ten temat parę artykułów,
jednak opisy są sprzed kilku lat więc np. dsdt.dsl ma teraz inne warunki "if" dla stanu S3
ale usunąłem aby S3 było zdefiniowane bezwarunkowo, skompilowałem i wrzuciłem do /boot/acpi-override.img
dodałem do /etc/default/grub wpis
GRUB_EARLY_INITRD_LINUX_CUSTOM="acpi-override.img"
po uruchomieniu grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
w /boot/grub2/grubenv pojawia się wpis: early_initrd=acpi-override.img
czyli grub poprawnie zauważył opcję,
jednak po reboocie nadal brak trybu uśpienia S3.
Może EFI blokuje modyfikację.
Ja nie pamiętam jak to zrobiłem ale wiem, że kombinowałem na wiele sposobów bo kompletnie nie ogarniałem tematu dekompilacji i kompilacji acpi.
Ale jeszcze mam w biosie funkcję Block Sleep (This options lets you to block entering Sleep (S3) mode in the operating system.
Mam ją włączoną.
to jest chyba fragment zmieniony u mnie po zmianie:
If (SS3)
{
Name (_S3, Package (0x04) // _S3_: S3 System State
{
0x05,
Zero,
Zero,
Zero
})
}

Pamiętaj aby podbić wersję DefinitionBlock o ile pamiętam.
Więcej raczej nie pomogę bo pomimo, że udało mi się to zrobić to kompletnie nie rozumiem tego kodu i co on robi.
Konto58
2023-08-04 06:51:54 UTC
Permalink
Thu, 3 Aug 2023 11:33:44 -0700 (PDT)
Post by PaPa
Ja nie pamiętam jak to zrobiłem ale wiem, że kombinowałem na wiele sposobów bo
kompletnie nie ogarniałem tematu dekompilacji i kompilacji acpi. Ale jeszcze mam w
biosie funkcję Block Sleep (This options lets you to block entering Sleep (S3) mode in
the operating system. Mam ją włączoną. to jest chyba fragment zmieniony u mnie po
No to jakby odwrotnie do założenia :)
Post by PaPa
zmianie: If (SS3)
{
Name (_S3, Package (0x04) // _S3_: S3 System State
{
0x05,
Zero,
Zero,
Zero
})
}
Też taki właśnie kod mam i zgodnie z poradnikiem przed kompilacją usunąłem warunek if.
Post by PaPa
Pamiętaj aby podbić wersję DefinitionBlock o ile pamiętam.
Tak też zrobiłem.

Będę jeszcze szukał rozwiązania.
PaPa
2023-08-05 19:15:58 UTC
Permalink
Post by Konto58
Thu, 3 Aug 2023 11:33:44 -0700 (PDT)
Post by PaPa
Ja nie pamiętam jak to zrobiłem ale wiem, że kombinowałem na wiele sposobów bo
kompletnie nie ogarniałem tematu dekompilacji i kompilacji acpi. Ale jeszcze mam w
biosie funkcję Block Sleep (This options lets you to block entering Sleep (S3) mode in
the operating system. Mam ją włączoną. to jest chyba fragment zmieniony u mnie po
No to jakby odwrotnie do założenia :)
Post by PaPa
zmianie: If (SS3)
{
Name (_S3, Package (0x04) // _S3_: S3 System State
{
0x05,
Zero,
Zero,
Zero
})
}
Też taki właśnie kod mam i zgodnie z poradnikiem przed kompilacją usunąłem warunek if.
Post by PaPa
Pamiętaj aby podbić wersję DefinitionBlock o ile pamiętam.
Tak też zrobiłem.
Będę jeszcze szukał rozwiązania.
Masz rację - podałem Ci niechcący kod jakiś testowy. Działający jest bez IF-a.
K***@no.no
2023-08-08 21:18:44 UTC
Permalink
Sat, 5 Aug 2023 12:15:58 -0700 (PDT)
PaPa <***@str.com.pl> napisał(a):


OK,
udało się w końcu dodać stan uśpienia S3 w systemie,
ale prócz edycji i podmiany tabeli ACPI oraz
dołożenia do grub parametru kernela mem_sleep_default=deep
trzeba było dodatkowo w przypadku EFI wyłączyć w kernelu kernel_lockdown i Secure Boot:

$ mokutil --disable-validation
i po reboocie wybrać wyłączenie Secure Boot

Wszystko pięknie: jest S3, jest domyślnie deep, można lapka uśpić i ...
jednak w moim przypadku wybudzenie lapka ze stanu S3 deep powoduje zwiechę na amen, fck :/


Więc póki co, pogrążony w głębokim smutku, pozostanę przy energożernym suspendzie ~ max 10 godzin
i ewentualnej hibernacji, która też wymaga wyłączenia Secure Boot.

Może kiedyś poprawią ten "nowoczesny" suspend, bo w internetach widać,
że problem dotyczy masy różnych lapków różnych producentów, również z Windowsami,
a producenci na potęgę wyłączają obsługę starego dobrego S3 ze swojego firmware.


Dzięki za uwagę, idę się u(ś)pić :)
rePeter

Kontynuuj czytanie narkive:
Loading...