저는 Dell Latitude 7390 2-in-1 터치스크린 노트북을 사용하고 있습니다. 여기에 PopOS 22.04를 설치했습니다(Ubuntu 22.04 기반이지만 더 높은 커널: 5.19.0). 이제 노트북을 일시 중지 상태로 전환할 때마다(예: 덮개를 닫는 경우) 무작위로 일시 중지 상태가 종료되고 계속해서 전력이 소모됩니다.
이 문제를 해결하기 위해 다음 명령을 사용하여 모든 깨우기 장치(전원 버튼 제외)를 비활성화해 보았습니다.
for x in $(grep enabled /proc/acpi/wakeup | cut -f1 | grep -v PBTN)
do
echo $x | sudo tee /proc/acpi/wakeup
done
그러나 효과가 없습니다. 노트북은 키보드를 사용하거나 덮개를 열어 절전/일시 중단 상태를 해제할 수 있습니다. 전원 버튼만 사용하여 강제로 절전 모드를 종료하고 싶습니다.
업데이트: 모든 깨우기 장치가 비활성화된 경우에도 깨어납니다!
노트북의 모든 깨우기 장치를 비활성화하더라도 /proc/acpi/wakeup
키보드 키를 누르면 노트북이 계속 깨어납니다(뚜껑을 열거나 전원 버튼을 눌러도 깨어나지 않더라도).
업데이트: 가속도계를 비활성화하는 방법은 무엇입니까?
노트북을 흔들면 노트북도 깨어나는 것을 발견했습니다! 배낭에 넣으면 이런 일이 많이 발생합니다. 이는 가속도계 웨이크업으로 인해 발생하는 것입니다. 따라서 가속도계 자체를 비활성화하면 이 문제가 사라집니다.
그래서 저는 대안적인 질문을 던집니다.가속도계를 비활성화하는 방법은 무엇입니까?
관련 센서를 오프로드하는 커널 모듈을 사용할 수 있어야 하는데 modprobe -r module_name
Catch-22 상황에 갇혀 있습니다. 그것들은 모두 서로 의존하는 것처럼 보이며 일부는 나열되지 않은 종속성을 가지고 있습니다. 다음은 중요한 센서 목록입니다.
$ lsmod | grep sensor
Module Size Used by
hid_sensor_accel_3d 20480 1
hid_sensor_gyro_3d 20480 0
hid_sensor_magn_3d 20480 1
hid_sensor_custom_intel_hinge 16384 0
hid_sensor_rotation 20480 0
hid_sensor_incl_3d 20480 0
hid_sensor_trigger 20480 12 hid_sensor_gyro_3d,hid_sensor_custom_intel_hinge,hid_sensor_incl_3d,hid_sensor_accel_3d,hid_sensor_magn_3d,hid_sensor_rotation
industrialio_triggered_buffer 16384 1 hid_sensor_trigger
hid_sensor_iio_common 24576 7 hid_sensor_gyro_3d,hid_sensor_trigger,hid_sensor_custom_intel_hinge,hid_sensor_incl_3d,hid_sensor_accel_3d,hid_sensor_magn_3d,hid_sensor_rotation
industrialio 102400 11 industrialio_triggered_buffer,hid_sensor_gyro_3d,hid_sensor_trigger,hid_sensor_custom_intel_hinge,hid_sensor_incl_3d,kfifo_buf,hid_sensor_accel_3d,hid_sensor_magn_3d,hid_sensor_rotation
hid_sensor_custom 28672 0
hid_sensor_hub 28672 9 hid_sensor_gyro_3d,hid_sensor_trigger,hid_sensor_iio_common,hid_sensor_custom_intel_hinge,hid_sensor_incl_3d,hid_sensor_accel_3d,hid_sensor_magn_3d,hid_sensor_rotation,hid_sensor_custom
hid 155648 7 i2c_hid,wacom,usbhid,hid_multitouch,hid_sensor_hub,intel_ishtp_hid,hid_generic
일부 센서는 "사용 대상" 열에 숫자와 함께 나열됩니다(단, 해당 센서를 사용하는 모듈은 지정하지 않음). 따라서 제거가 실패합니다. hid_sensor_accel_3d
해당 센서를 제거하고 싶습니다. 하지만 그것은 불가능합니다!
답변1
이제 질문은 "커널 모듈을 비활성화하는 방법"이며 이에 대해 답변하겠습니다.
- 당신은 파일에 쓸 것입니다 -
/etc/modprobe.d/blacklist.conf
첫 번째 옵션:
- 별도의 줄에 입력하세요.
blacklist hid_sensor_accel_3d
두 번째 옵션:
재부팅 후에도 블랙리스트 모듈이 여전히 남아 있으면 모듈을 "가짜" 설치해야 합니다. 를 이용하여 확인할 수 있습니다 lsmod
.
- 별도의 줄에 입력하세요.
install hid_sensor_accel_3d /bin/true
다음으로 두 가지 옵션을 모두 수행합니다.
- initramfs 재생성 -
update-initramfs -u
- 재시작