Dell Latitude 7390 터치스크린의 PopOS/Ubuntu 22.04에서 깨우기 장치를 비활성화할 수 없습니다.

Dell Latitude 7390 터치스크린의 PopOS/Ubuntu 22.04에서 깨우기 장치를 비활성화할 수 없습니다.

저는 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_nameCatch-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
  • 재시작

관련 정보