태그 보관물: linux

linux

Linux에서 팬을 수동으로 시작하려면 어떻게합니까? 랩탑이 꺼 질까 걱정됩니다. 다음 명령을 실행했습니다. dmesg

팬이 Linux에서 실행되지 않습니다. 온도가 너무 높아지면 랩탑이 꺼 질까 걱정됩니다.

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

dmesg | grep -I fan

이것은 나에게 주었다 :

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

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



답변

팬은 일반적으로 CPU 및 OS가 아니라 시스템 관리 컨트롤러에 의해 제어됩니다. 이렇게하면 OS에 장애가 발생하더라도 작동합니다.

불행하게도 이것은 “팬 오프”오류가 일반적으로 하드웨어 문제라는 것을 의미합니다. 읽는다 : 팬 (조립품)을 교체해야합니다.

유일한 예외는 팬을 종료 할 수있는 매우 손상된 ACPI 구현입니다. 이 경우 팬이 BIOS에서 실행 됩니다. 그러나 그러한 구성에 대해서는 들어 보지 못했습니다.


답변

팬들은 가정 커널이 온도를 모니터링하고 규칙을 제공하는 바이오스를 사용하여 자동으로 팬 속도를 조정하기 위해 바이오스와 협력 할 수 ACPI, 관리 할 수 있습니다. 불행히도, 아직 단일 바이오스 공급 업체가 실제로 표준을 준수하는 것을 보지 못했습니다. / sys / class / thermal을보고 그 아래에 표시되는 팬이 있고 설정을 변경할 수 있는지 확인할 수 있습니다. 일반적으로 bios ACPI 테이블은 팬 인터페이스를 제공하지 않으며 관리 할 하드웨어 컨트롤러로 남겨 둡니다.

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

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


답변

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

답변

내장 컨트롤러를 사용하여 팬을 제어 할 수 있습니다. CPU 온도 및 팬 제어 레지스터 중 일부가 EC에 노출 될 수 있습니다. Linux에서는 매우 쉽게 액세스하여 해당 레지스터를 덤프 할 수 있습니다. 내 랩탑도 작동하지 않았으며 ACPI는 설계 상으로 고장 났으며 팬은 주로 BIOS에 의해 제어되며 영원히 켜집니다. Windows에서는 RW 모든 도구를 다운로드하여 EC를 확인할 수 있습니다. RW 모두 도구를 사용하면 일부 값을 수정하려고 할 수도 있습니다. 이것은 내 상자에서 작동했으며 팬 자동 및 수동 모드와 속도를 제어 할 수 있습니다.