전원 잭이 연결되거나 연결되지 않으면 Linux가 절전 모드에서 깨어납니다.

전원 잭이 연결되거나 연결되지 않으면 Linux가 절전 모드에서 깨어납니다.

Lenovo IdeaPad 5 Pro 14ACN6에 새로운 Linux Mint Xfce 21.1이 있습니다. 덮개를 닫았다가 열면 절전/깨우기가 제대로 작동하지만 한 가지 문제가 있습니다. 절전 모드에서는 플러그를 꽂거나 뽑을 때 OS가 깨어납니다. 호흡을 멈춰 잠에서 깨어난 것을 감지하면 "호흡" LED가 켜집니다.
전원 플러그 이벤트로 인해 노트북이 깨어나는 것을 방지할 방법이 필요합니다.

이 문제를 직접 파악하기 위해 BIOS에서 절전 모드 해제와 관련된 모든 옵션을 확인했습니다. 그런 다음 Linux의 전원 관리자에서 동일한 작업을 수행했습니다. 이것은 도움이 되지 않습니다.
커널(5.15, 5.19)을 변경해 보았습니다.
깨우기를 유발한 이벤트를 찾기 위해 ACPI 디버깅을 시도했습니다. ACPI 디버깅 수준과 디버깅 이벤트에는 다음과 같은 다양한 설정이 있습니다.https://mjmwired.net/kernel/Documentation/acpi/debug.txt#115불행하게도 로깅은 메모리 액세스 주소에 대한 정보를 제공하지 않거나 너무 많은 정보를 제공합니다. 그래서 깨우기 트리거를 끄는 설정 이름과 위치를 식별할 수 없습니다.
또한 ACPI 디버깅을 위한 유용한 리소스도 찾았습니다.https://wiki.ubuntu.com/Kernel/Reference/ACPITricksAndTips주요 아이디어는 ACPi 디버깅이 쉽지 않다는 것입니다. ALS ACPI 언어는 AML 코드로 컴파일되며, 이를 분해하고 분석하여 공급업체별 하드웨어와 관련된 다양한 문제를 찾을 수 있습니다. 그러나 acpidump와 같은 일부 도구가 언급되어 있습니다. 나는 달리려고 노력한다acpi_listen뚜껑을 닫고 전원을 뽑은 후 다음 로그를 얻었습니다.

acpi_listen  
button/lid LID close  
ac_adapter ACPI0003:00 00000080 00000000  
battery PNP0C0A:00 00000080 00000001  
button/lid LID open  

따라서 깨우기를 유발해서는 안 되지만 깨우기를 유발하는 배터리 이벤트가 분명히 있습니다.

절전 모드에 대한 몇 가지 정보가 있습니다.https://news.ycombinator.com/item?id=25387947내 문제는 절전 모드 시 CPU를 종료하지 않는 "최신 절전" S0ix 상태와 관련이 있는 것 같습니다. 하지만 끌 수 있는 옵션은 없습니다. 지원되는 절전 상태는 S0 S4 S5입니다.

dmesg |grep -i acpi| grep supports  
[    0.285799] ACPI: PM: (supports S0 S4 S5)  
[    0.322305] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3]  

답변1

추가 조사 끝에 여기에서 답을 찾았습니다.https://wiki.archlinux.org/title/Lenovo_IdeaPad_5_14are05
Lenovo의 BIOS에는 숨겨진 설정이 많이 있는 것으로 나타났습니다. 다음을 통해 열 수 있습니다.

  1. BIOS 설정에서 OneKeyBattery 모드를 끄고(활성화된 경우) BIOS 설정을 저장하십시오.
  2. 노트북의 전원을 끕니다.
  3. 노트북을 끈 상태에서 다음을 입력합니다 F1 1 Q A Z F2 2 W S X F3 3 E D C F4 4 R F V F5 5 T G B F6 6 Y H N. 이 조합은 무작위가 아니라는 것을 알 수 있습니다.
  4. F2부팅 후 한 번 클릭하여 BIOS로 들어갑니다.

AMD PBS섹션 에서 에서 로 S3/Modern Standby Support변경해야 합니다 . Modern Standby EnableS3Lenovo ideapad는 BIOS 설정 및 절전 모드를 숨깁니다.

관련 정보