i8kmon이 Ubuntu 18.04에서 제대로 작동하지 않습니다.

i8kmon이 Ubuntu 18.04에서 제대로 작동하지 않습니다.

질문

나는 내 컴퓨터의 팬이 불필요하게 최고 속도로 켜지고 있다는 것을 깨닫기 시작했고, 이를 제어하기 위해 i8kmon 서비스를 설치했습니다. BIOS 팬 제어를 수동으로 비활성화할 때까지 i8kmon은 i8kfan 명령을 사용하여 팬을 제어할 수 없는 것으로 보입니다.

내 설정

  • 델 XPS 13 9380
  • 우분투18.04

통나무

서비스가 실행 중입니다.

root@pl438-pro:/home/inzaghi# /etc/init.d/i8kmon status
● i8kmon.service - Dell laptop thermal monitoring
   Loaded: loaded (/lib/systemd/system/i8kmon.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2021-05-07 09:58:26 CEST; 20min ago
     Docs: man:i8kmon
 Main PID: 1222 (tclsh)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/i8kmon.service
           └─1222 tclsh /usr/bin/i8kmon --nouserconfig

mai 07 10:18:40 pl438-pro i8kmon[1222]: temp, left fan state, right fan state, ac state: 50 0 0 0

서비스가 고온을 감지했지만 명령이 무시되었습니다.

May  7 10:14:32 pl438-pro i8kmon[1222]: temp, left fan state, right fan state, ac state: 65 0 0 0
May  7 10:14:32 pl438-pro i8kmon[1222]: # (65>=65), state=1, low=55, high=75
May  7 10:14:32 pl438-pro i8kmon[1222]: /usr/bin/i8kfan 1 1
May  7 10:14:34 pl438-pro i8kmon[1222]: temp, left fan state, right fan state, ac state: 65 0 0 0

구성 파일/etc/i8kmon.conf

# Sample i8kmon configuration file (/etc/i8kmon.conf, ~/.i8kmon).
set config(use_conf)    1

set config(auto)       1

# External program to control the fans
set config(i8kfan)      /usr/bin/i8kfan

# Report status on stdout, override with --verbose option
set config(verbose)     1

# Status check timeout (seconds), override with --timeout option
set config(timeout)     2

# Temperature threshold at which the temperature is displayed in red
set config(t_high)      80

# Temperature thresholds: {fan_speeds low_ac high_ac low_batt high_batt}
# These were tested on the I8000. If you have a different Dell laptop model
# you should check the BIOS temperature monitoring and set the appropriate
# thresholds here. In doubt start with low values and gradually rise them
# until the fans are not always on when the cpu is idle.
set config(0) {{0 0}  -1  60  -1  65}
set config(1) {{1 1}  50  70  55  75}
set config(2) {{2 2}  60  80  65  85}
set config(3) {{2 2}  70 128  75 128}

# Speed values are set here to avoid i8kmon probe them at every time it starts.
set status(leftspeed)   "0 1000 2000 3000"
set status(rightspeed)  "0 1000 2000 3000"

# end of file

해결책

서비스를 다시 시작해도 /etc/init.d/i8kmon아무 것도 변경되지 않았습니다. BIOS도 팬을 제어하려고 하는 것을 발견하여 BIOS를 설치했습니다.https://github.com/TomFreudenberg/dell-bios-fan-control스냅샷을 사용하면 실행이 /snap/dell-bios-fan-control/2/dell-bios-fan-control 0원활하게 진행됩니다.

이 설정은 BIOS에 영구적으로 저장되어 있는 줄 알았는데, 컴퓨터를 켤 때마다 실행해야 할 것 같습니다. 서비스로 추가해야 하나요?

답변1

dell-bios-fan-control 0편집 2: 마침내 해결 방법을 더욱 "깨끗하게" 만들었습니다. 시작 시 실행되는 서비스를 만들었습니다.

편집: 더 이상 작동하지 않거나 매우 무작위로 작동합니다. 작동하려면 여전히 실행 /snap/dell-bios-fan-control/2/dell-bios-fan-control 0하고 재부팅 해야 합니다 .i8kmod

다음과 같이 구성 파일 dell-smm-hwmon에 모듈을 추가하는 것을 잊은 것 같습니다 ./etc/modules/etc/modprobe.d/dell-smm-hwmon.conf

options dell-smm-hwmon restricted=0

지금은 작동하기 위해 아무것도 설정할 필요가 없습니다.

답변2

Dell-bios-fan-control의 스냅 버전이 Ubuntu 22.04 및 Dell Precision 5520에서 충돌합니다.

# dell-bios-fan-control 0
ioperm:: Operation not permitted
ioperm:: Operation not permitted
Segmentation fault (core dumped)

소스에서 컴파일했습니다 - https://github.com/TomFreudenberg/dell-bios-fan-control——드디어 팬들을 멈추게 만들었습니다!

관련 정보