Linux에서 팬을 수동으로 시작하는 방법은 무엇입니까?

Linux에서 팬을 수동으로 시작하는 방법은 무엇입니까?

내 팬이 Linux에서 작동하지 않습니다. 온도가 너무 높아지면 노트북이 꺼질까 봐 걱정됩니다.

다음 명령을 실행했습니다.

dmesg | grep -I fan

이것은 나에게 다음을 제공합니다:

ACPI: Fan [FAN0] (off)
ACPI: Fan [FAN1] (off)

디렉토리가 /proc/acpi/fan존재하지 않습니다. 팬이 제대로 작동하게 하려면 어떻게 해야 합니까?

답변1

팬은 일반적으로 CPU와 운영 체제가 아니라 시스템 관리 컨트롤러에 의해 제어됩니다. 이렇게 하면 운영 체제에 오류가 발생하더라도 계속 제대로 작동합니다.

불행하게도 이는 "팬 끄기" 오류가 일반적으로 하드웨어 문제라는 것을 의미합니다. 읽다: 팬(구성 요소)을 교체해야 합니다.

유일한 예외는 팬을 끄는 매우 열악한 ACPI 구현입니다. 이 경우 팬은달리기BIOS에서. 하지만 그런 구성은 들어본 적이 없습니다.

답변2

팬들은~해야 한다이는 ACPI에 의해 관리되므로 커널이 BIOS와 협력하여 온도를 자동으로 모니터링하고 BIOS에서 제공하는 규칙을 사용하여 팬 속도를 조정할 수 있습니다. 불행하게도 실제로 이 표준을 준수하는 BIOS 공급업체를 본 적이 없습니다. /sys/class/Thermal을 보고 아래에 팬이 나타나는지, 그리고 해당 설정을 변경할 수 있는지 확인할 수 있습니다. 일반적으로 BIOS ACPI 테이블은 팬 인터페이스를 제공하지 않으므로 이를 하드웨어 컨트롤러에서 관리하도록 남겨 둡니다.

이러한 많은 하드웨어 컨트롤러는 lm-sensors 패키지로 감지할 수 있습니다. 이를 실행 sensors-detect하면 알려진 컨트롤러를 감지하고 이를 작동하기 위해 로드할 올바른 드라이버를 구성할 수 있습니다. 이로 인해 sensors다양한 온도 및 전압 판독값을 보고하는 기능이 제공되는 경우가 많으며, fancontrol온도 판독값을 기반으로 팬 속도를 조작하도록 스크립트(Debian/Ubuntu에 별도로 패키지됨)를 구성할 수 있습니다.

acpi_enforce_resources=lax이러한 모듈 중 대부분을 로드하려면 커널 명령줄에 추가해야 합니다 .

답변3

Cooling_device의 cur_state 파일에 1/0을 수동으로 에코하면 켜거나 끌 수 있습니다.

for cdev in /sys/class/thermal/cooling_device*; do
   [ $(cat $cdev/type) == "Fan" ] && { echo 1 | sudo tee $cdev/cur_state; }
done

답변4

fn-1을 눌러 팬을 수동으로 켜고 끌 수 있습니다. (우분투 15.04)

관련 정보