컴퓨터의 팬 속도를 변경하고 싶습니다. ASUS BIOS 설정에서는 PWM 및 DC(그 중 3개는 핀 4에 연결됨)를 사용하여 이를 달성할 수 있지만 실행 중인 운영 체제에서도 동일한 작업을 수행하는 데 문제가 있는 것 같습니다.
수동으로 변경하려는 마더보드의 이름 두 개는 CHA_1FAN과 CHA_2FAN입니다.
> cat /etc/sensors3.conf | grep -i fan
# Fans
label fan1 "PSU Fan"
label fan2 "CPU Fan"
label fan3 "System FAN2"
label fan4 "System FAN3"
label fan5 "System FAN4"
# Fans
label fan1 "CPU Fan"
label fan2 "System FAN2"
label fan3 "System FAN3"
label fan4 "System FAN4"
label fan7 "PSU Fan"
> hwinfo | grep -i fan
acpi-fan: /devices/platform/PNP0C0B:03
acpi-fan: /devices/platform/PNP0C0B:01
acpi-fan: /devices/platform/PNP0C0B:04
acpi-fan: /devices/platform/PNP0C0B:02
acpi-fan: /devices/platform/PNP0C0B:00
acpi-fan: module = fan
type = "", modalias = "acpi:PNP0C0B:", driver = "acpi-fan"
type = "", modalias = "acpi:PNP0C0B:", driver = "acpi-fan"
type = "", modalias = "acpi:PNP0C0B:", driver = "acpi-fan"
type = "", modalias = "acpi:PNP0C0B:", driver = "acpi-fan"
type = "", modalias = "acpi:PNP0C0B:", driver = "acpi-fan"
E: DRIVER=acpi-fan
E: DRIVER=acpi-fan
E: DRIVER=acpi-fan
E: DRIVER=acpi-fan
E: DRIVER=acpi-fan
<6>[ 0.062442] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
fan 20480 0 - Live 0x0000000000000000
Driver Status: thermal,fan are active
Driver Activation Cmd: "modprobe thermal; modprobe fan"
> sudo pwmconfig
[sudo] password for root:
# pwmconfig revision $Revision$ ($Date$)
[...]
/usr/sbin/pwmconfig: There are no pwm-capable sensor modules installed
heimchen@DESKTOP-G0NG8DL / [1]>
시스템은 OpenSuse Leap 15.5이며 lm-sensor가 설치되어 있지 않은 것 같습니다. 소스에서 다운로드하고 컴파일해 보았지만 작동했지만 여전히 내 디스크에 이 이름을 가진 항목이 없습니다.
답변1
루멘 센서단일 도구가 아니라 툴킷입니다. 예를 들어 pwmconfig
다음 명령은예lm-센서의 일부이므로 "lm-센서가 설치되지 않은 것 같습니다"라는 가정은 올바르지 않습니다. pwmconfig
시스템에 lm-센서가 있으므로 어떤 방식으로든 lm-센서를 설치해야 합니다.
acpi-fan
출력에 나열된 내용은 hwinfo
별로 유용하지 않습니다. 기본적으로 이를 통해 시스템 펌웨어에 필요하다고 생각하는 냉각 양에 대해 부드럽게 권장할 수 있습니다. 펌웨어가 시스템에 제안한 것보다 더 많은 냉각이 필요하다고 판단하면 제안을 완전히 무시할 수 있습니다.
팬 제어를 기반으로 하려면 pwmconfig
먼저 식별하고 로드해야 합니다.센서 칩 드라이버일반적으로 이러한 칩에는 소프트웨어로 제어되는 팬에 대한 속도 제어 하드웨어도 포함되어 있습니다. 아마도 가장 쉽고 안전한 방법은 sensors-detect
루트로 실행하는 것입니다. 일반 데스크탑 시스템에서 실행할 감지 방법에 대해 몇 가지 질문이 표시됩니다. 기본값을 그대로 사용할 수 있습니다.
센서 및/또는 PWM 장치가 발견 되면 sensors-detect
시작 시 드라이버를 자동으로 로드하는 파일이 생성됩니다.
수정되지 않은 업스트림 소스에서 이 파일은 Fedora/RedHat 규칙에 따라 생성된 것으로 보입니다. 다른 배포판에는 배포판의 자체 구성 파일 규칙과 일치하도록 이 섹션을 수정하는 배포판별 패치가 포함될 수 있습니다.
따라서 lm 센서 및 커널 모듈에 더 익숙해질 때까지 sensors-detect
먼저 배포판의 자체 버전을 사용해 보십시오. 수정되지 않은 업스트림 버전(또는 Git 저장소의 최신 개발 버전)에서 최신 버전을 시도하는 경우 모듈 자동 로딩을 구성하는 방식이 배포에서 예상하는 방식으로 수행되지 않을 수 있다는 점에 유의하세요. 모듈 자동 로딩을 직접 구성해야 할 수도 있습니다.
sensors-detect
성공 하면 sensors
이제 명령을 통해 이전에는 사용할 수 없었던 일련의 전압, 온도 및 팬 속도 값을 표시할 수 있습니다. 이는 매우 중요한 전제 조건입니다. sensors
팬을 모니터링할 수 없다면 pwmconfig
팬을 조정할 수도 없습니다.
ASUS 특유의 나쁜 소식...일종의
역사적으로 대부분의 데스크탑 마더보드에서 실행되는 운영 체제 커널은 센서 칩의 I/O 주소에 무료로 액세스할 수 있었습니다. Asus는 현재 이러한 관례에서 벗어나고 있는 것으로 보입니다. 최신 Asus 마더보드는 점점 더 ACPI 펌웨어 데이터시트에서 센서 칩 레지스터를 "펌웨어에 의해 제어됨, 건드리지 마세요"로 표시하고 있으며 Linux는 기본적으로 이러한 표시를 존중합니다. (재정의는 가능하지만 그에 따른 책임은 본인에게 있습니다.)
대신 Asus는 펌웨어 자체와 실행 중인 운영 체제가 센서 칩에 대한 액세스를 조정할 수 있도록 하는 펌웨어 기반(ACPI/WMI) 인터페이스를 제공하는 것으로 보이며, 이는 제대로 구현된다면 좋은 아이디어입니다. 불행히도 Asus는 이 인터페이스의 여러 변형을 실험한 것으로 보이며 Linux 하드웨어 모니터링 개발자는 아직 각 Asus 마더보드 모델에 사용해야 하는 액세스 방법에 대한 포괄적인 목록을 갖고 있지 않습니다. 또한 이러한 액세스 방법 중 일부에 대한 드라이버 코드는 여전히 다소 실험적인 것으로 간주됩니다.
정보 수집은 기본적으로 개발자에게 마더보드에 대한 하드웨어 모니터링 및 팬 제어가 작동하도록 하기 위해 무엇을 해야 하는지 알려주는 것이므로 상황은 천천히 개선되고 있습니다... 그러나 최악의 경우에는 최신 커널 버전 또는 마더보드 모델과 함께 특정 ASUS 전용 모니터 칩 인터페이스를 사용하도록 커널에 지시하는 (간단한) 사용자 정의 커널 패치도 있습니다.
ASUS Z97 시리즈 마더보드 세부 정보
~에 따르면이 메시지는 lm-sensors 개발자 메일링 리스트에 있습니다.ASUS Z97 시리즈의 HW 모니터링/PWM 팬 제어 칩은 커널 모듈에서 지원하는 Nuvoton NCT6791D인 것으로 보입니다 nct6775
.
이 글을 쓰는 시점에는 이 보드가 아직 최신 커널에 나열되지 않았습니다.ASUS 특정 ACPI 액세스 방법 목록하드웨어 모니터링 칩의 경우 모듈을 로드하기만 하면 됩니다.
sudo modprobe nct6775
sensors
출력에 다음과 같은 줄로 시작하는 새 그룹이 표시 되어야 합니다 .
nct6791-isa-0290
작동하는 경우 드라이버를 계속 사용할 수 있도록 부팅 시 자동으로 로드되도록 모듈을 구성해야 합니다.
echo "nct6775" | sudo tee /etc/modules-load.d/hwmon.conf
출력에 이 nct6791-isa-0290
그룹이 표시되지 않으면 sensors
시스템이 커널이 아직 알지 못하는 새로운 액세스 방법을 사용해야 할 수도 있습니다. 이 경우 커널 부팅 매개변수를 추가하여 레거시 액세스를 허용할 수 있습니다 acpi_enforce_resources=lax
.자신의 책임하에 사용하십시오.이 방법을 사용하면 커널은 dmesg
가능하면 새로운 방법을 사용하는 것이 더 낫다는 점을 상기시키는 메시지를 출력합니다.
테스트 목적으로 GRUB 메뉴를 사용하여 linux
현재 부팅 옵션에 대한 GRUB 구성 줄에 이 부팅 매개변수를 추가할 수 있지만, 이것이 효과가 있고 유해한 부작용이 없다면 다음의 변수에 추가할 수 있습니다 GRUB_CMDLINE_LINUX
. /etc/default/grub
GRUB 구성을 업데이트하여 지속적으로 만드십시오.
부팅에 커널 부팅 옵션을 추가한 후 모듈을 다시 로드하고 sensors
모니터링 칩의 정보가 표시되는지 확인하세요. 그렇다면 위에서 설명한 대로 모듈 로딩을 지속적으로 만들 수 있습니다.
/etc/sensors3.conf
위에 링크된 메일링 리스트 메시지에서 모니터링 칩의 전압 모니터링 채널에 대한 올바른 스케일링 값을 포함하는 구성 블록을 얻을 수도 있습니다 . 구성 파일을 수정한 후 실행하여 sudo sensors --set
새로운 스케일링 값이 적용되도록 합니다.