BIOS를 업데이트해도 팬 동작이 수정되지 않았습니다.

BIOS를 업데이트해도 팬 동작이 수정되지 않았습니다.

Ubuntu 18.04.4 LTS가 설치된 Dell G5 5590이 있습니다. BIOS 버전은 1.11.1입니다.

내 팬은 프로세서 부하가 없어도 30초(30초 최고 속도, 30초 완전히 꺼짐) 동안 지속적으로 켜지고 꺼집니다. 이것은 매우 짜증나는 일이며, 좀 더 그라데이션된 팬 제어를 기대하기 때문에 이렇게 되어야 할지 잘 모르겠습니다.

제가 한:

  • BIOS 설정을 살펴봤지만 팬 제어와 관련된 설정을 찾지 못했습니다.
  • 을(를 ) 설치 lm-sensors하고 설정하고 에 sensors-detect추가했습니다 .coretemp/etc/modules
  • 를 설치 i8kutils하고 실행했습니다 . 이제 아래 그림과 같이 GUI sudo modprobe i8k force=1에서 팬 속도를 볼 수 있습니다 .psensor
  • 여기에 설명된 대로 설치 fancontrol하고 설정하려고 했습니다.https://askubuntu.com/a/46135/762767- pwmconfig도구는 보정 중에 팬을 끄고 켤 수 있지만 보정 후에는 다음과 같이 표시됩니다.
No correlations were detected.
There is either no fan connected to the output of hwmon7/pwm1,
or the connected fan has no rpm-signal connected to one of
the tested fan sensors. (Note: not all motherboards have
the pwm outputs connected to the fan connectors,
check out the hardware database on http://www.almico.com/forumindex.php)

pwmconfig그리고 설정을 마치고 서비스를 실행 해도 fancontrol팬 동작에는 아무런 변화가 없습니다.

psensor에서는 다음과 같이 보입니다. 여기에 이미지 설명을 입력하세요

답변1

BIOS를 업데이트해도 팬 동작이 수정되지 않았습니다.

그러나 이는 프로세서의 성능을 영구적으로 저하시켰으며 일부에서는 언더볼팅 기능을 제거했습니다.

대신 팬을 수동으로 제어하고 사용자 지정 팬 곡선을 설정하는 방법은 다음과 같습니다.

i7-9750H와 RTX 2070MQ를 갖춘 Dell G5 5590이 있습니다. 저는 우분투 변형인 Pop_OS 20.10을 실행 중이고 systemd를 사용합니다.

내가 아는 한, BIOS 업데이트(적어도 1.10 이후, 그 이전에는 말할 수 없음)는 대부분 인텔 프로세서 아키텍처 보안 결함을 수정하기 위한 것이었습니다. '수정'에는 성능을 영구적으로 저하시키는 방식으로 프로세서를 핸디캡 처리해야 하며 다운그레이드는 매우 어렵고 위험합니다(Dell에서 차단하고 우회하려면 자체 가짜 BIOS 페이로드를 생성해야 하며 지문 판독기가 다시 작동하지 않을 수 있음). 또한 위 답변과 위 답변 및 기타 링크에 대한 의견에 따라 1.10에서 1.14로 이동한 내 경험을 통해 이 노트북의 팬/열 프로필을 변경하지 않습니다.

최신 BIOS 1.14에서 800mhz의 유휴 상태에서도 내 온도 곡선은 다음과 같습니다. 여기에 이미지 설명을 입력하세요

이미지 하단에서 볼 수 있듯이 온도가 위아래로 흔들리고 있습니다. 이러한 스윙의 상단에서 팬은 '높음'/최대 속도 4700rpm으로 켜지고 하단에서는 팬이 0rpm으로 꺼집니다. 매우 짜증난다. 그리고 제가 바이오스 1.10에서 경험했던 것과 동일합니다.

이후 업데이트: 이 노트북에서 내 문제는 hdmi 및 miniDP 포트를 통해 외부 모니터를 사용하는 것이었습니다. 이렇게 하면 Linux와 Windows 모두에서 온도가 말 그대로 섭씨 40도 이상 높아집니다. 이는 nvidia 드라이버 문제인 것 같습니다. 대신 USB-C를 통해 외부 모니터를 듀얼 HDMI 허브에 연결하면 클린 부팅 후 유휴 상태에서 팬 없이 컴퓨터를 47c로 유지할 수 있습니다.

Dell은 팬을 제한하고 특정 사전 설정에 대한 제어만 허용하지만 다음 링크를 읽으면 하드웨어에서 가능한 범위까지 액세스할 수 있습니다.

(업데이트: Dell은 팬 제어를 오픈 소스로 제공하지 않는 것 같고 리버스 엔지니어링 작업은 제한적으로 성공했습니다. Linux에서 액세스할 수 있는 것보다 Windows에서 사용할 수 있는 사전 설정이 더 많은 것 같습니다.)

팬 속도를 제어하는 ​​방법은 무엇입니까? https://www.cyberciti.biz/faq/controlling-dell-fan-speeds-온도-on-ubuntu-debian-linux/ https://mijorus.medium.com/thermal-tweaks-on-dell-laptops-running-linux-769c8c80022e https://wiki.archlinux.org/index.php/fan_speed_control#BIOS_overriding_fan_control https://github.com/TomFreudenberg/dell-bios-fan-control

(제 생각에 /etc/i8kutils/i8kmon.conf는 이후 버전에서 /etc/i8kmon.conf로 이동했으며 현재 내 파일 시스템과 매뉴얼 페이지에서 볼 수 있는 내용입니다. 매뉴얼 페이지에도 조항이 있습니다. 홈 디렉토리에 conf 파일을 지정하려면)

1단계: 설치 및 설정

sudo apt install lm-sensors i8kutils -y
sudo modprobe i8k
if that doesn't work, which it did not for me, you may try:
# sudo modprobe i8k force=1
# (which seems to work for me?)
git clone https://github.com/TomFreudenberg/dell-bios-fan-control.git
cd dell-bios-fan-control
make
sudo mv dell-bios-fan-control /usr/bin/dell-bios-fan-control

i8k가 작동하지 않는 문제가 있는 경우 다음을 시도해 볼 수 있습니다.

sudo -i
echo "options i8k force=1"  >  /etc/modprobe.d/i8k.conf
echo i8k  >> /etc/modules
exit

컴퓨터를 다시 시작하면 더 나은 결과를 볼 수도 있습니다.

여전히 문제가 있는 경우 위에 언급된 링크를 확인하고 modprobe를 사용하여 더 많은 정보를 찾아볼 수 있습니다.이 링크안내하는 데 도움이 될 수도 있습니다.

2단계: 작동하는지 확인

실제로 이를 적용하려면 서비스를 시작해야 합니다.팬의 BIOS 제어를 비활성화합니다. 이는 분명히 매우 위험합니다. 이와 같은 프로세서는 고온에서 10초 동안 작동하면 수리할 수 없을 정도로 과열될 수 있으므로 여기에서 매우 주의하십시오.

나의 충고:

  1. 임시 그래픽 응용 프로그램을 열거 psensor나 기타 그래픽 임시 응용 프로그램을 사용하여 온도를 계속 관찰할 수 있고, 온도가 예상보다 높게 상승하는 경우 조치를 취할 준비를 하십시오.
  2. dell-bios-fan-control 1다음을 실행하여 즉시 BIOS 제어로 돌아갈 수 있는지 테스트하고 확인하십시오 .여기).
  3. 특정 온도에 도달하면 psensor자동으로 작동하도록 알람을 설정하여 더욱 안전하게 사용할 수 있습니다 .dell-bios-fan-control 1
  4. 온도가 상승하고 해당 명령을 실행할 때 팬이 작동하는 소리가 들리지 않으면 빨리 전원을 끌 준비를 하십시오. 이 노트북에서 전원 버튼을 누른 채 강제 종료하면 속도가 매우 느리다는 사실을 발견했습니다. 따라서 여기서 안전하려면 OS 전원 버튼 설정을 '절전' 대신 '종료'로 업데이트해야 합니다. (내 생각에는 실행하고 싶지 않을 것 같습니다. shutdown now왜냐하면 그렇게 하면 CPU의 로드가 충분히 빨리 죽지 않을 것이기 때문입니다. 그러나 확실하지는 않습니다.)
  5. ctrl+ alt+ printscrn/(sysreq) + b는 커널이 즉시 하드 재부팅되도록 하는 가장 빠른 방법일 수 있습니다. 더 좋은 방법이 있을 수 있습니다.

그것은 아마도 과잉일 것입니다. 하지만... 값비싼 노트북을 가지고 있다면 준비하십시오. (그러나 과열로부터 보호하기 위해 노트북을 차단하는 하드웨어 안전 스위치가 있으므로 편집증에 빠지지 마십시오.)

이제 준비가 되었으니,

sudo systemctl stop i8kmon.service 
sudo systemctl status i8kmon.service 

좋습니다. 이제 BIOS 제어를 비활성화하겠습니다. 팬은 조용해야 합니다. 그런 다음 즉시 팬을 켜십시오. 1실제로 사용할 수 있는 팬 설정 수를 테스트하고 이를 확인하겠습니다. 일하고 있습니다.

이 명령을 하나씩 실행하고 시스템에 주의를 기울이십시오.

dell-bios-fan-control 0
# fans are now not being controlled by anything; are they quiet? 
# how are temps? You can watch for a second if desired.
dell-bios-fan-control 1
# let's turn it back on to make sure our failsafe works. With that settled,
# let's turn it back off
dell-bios-fan-control 0
# and let's manually set the fans on with i8kctl
i8kctl fan 1 1
# did fans turn on? let's see what RPM we're at:
i8kctl 
# you can spam this command a few times to get info. 
# the 7th and 8th values (will be in the thousands if fan is running, otherwise 0)
# are the left and right fan RPM.
# Now let's try and see if you hear different rpm's at different levels.
sudo i8kctl fan 2 2
# hear a difference? we can check again: 
i8kctl 
sudo i8kctl fan 3 3
i8kctl 
# did they all work? If not, not which ones did and didn't. For my G5 5590, I'm only seeing 0,1,2 work, which are 0rpm, 2200~ rpm, and 4740rpm.

3단계: 팬 "곡선" 설정

이제 팬 곡선을 설정해야 합니다. 이 파일을 편집하면 됩니다:

sudo nano /etc/i8kmon.conf

이제 컴퓨터의 열 특성에 따라 해당 파일을 편집해야 합니다. 필요에 따라 매뉴얼 페이지와 문서를 참조하십시오. 짧은 버전은 다음과 같은 줄이 있다는 것입니다.

set config(0) {{0 0} -1 55 -1 60}
set config(1) {{1 1} 45 80 45 80}
set config(2) {{2 2} 70 90 70 90}
set config(3) {{3 3} 80 128 80 128}

노트북의 열 특성에 따라 이 값을 조정하는 것이 좋습니다. 내 특정 컴퓨터는 85 이하에서 유휴 상태를 유지할 수 없으므로 팬이 항상 켜져 있어야 하므로 이에 따라 곡선이 조정됩니다. 다시 붙여넣고 나면 자동으로 유휴 상태가 되도록 다시 변경하겠습니다.

(G5 5590은 전력 스테이지 3을 지원하지 않고 전력 스테이지 2까지만 지원합니다. 그래도 해당 라인을 포함하지 않으려면 아무 것도 깨지지 않는지 테스트하세요. i8kutils는 사물에 민감합니다. 그런 식으로)

이 줄을 작성하는 방법을 해석하려면 다음을 의미합니다.

# DO NOT COPY PASTE THESE LINES, ADDING COMMENTS AFTER BREAKS THIS CONFIG FILE
set config(0)   {{0 0}  -1  55  -1  60} # run fans at 0,0; above 55(ac) / 60(batt), move up to config(1)
set config(1)   {{1 1}  50  65  55  70} # run fans at 1,1; at 50(ac),55(batt) drop down to config(0); at 65(ac),70(batt) move up to config(2)
set config(2)   {{2 2}  60  75  65  80} # etc.                           
set config(3)   {{2 2}  70 128  75 128} # etc.    

참고: 이 명령과 동일한 줄에 주석을 추가하지 마십시오. 줄 바꿈/이후에만 주석을 추가하십시오.또한 최대/최소 온도 설정은 적어도 10도 정도 겹쳐야 합니다. 이유를 이해하지 못하는 경우 매뉴얼 페이지를 참조하십시오.

# set 
# config(configuration-number) 
# {
#  {speed-of-fan-n1 speed-of-fan-n2} 
#  drop-down-temp-AC                          
#  step-up-temp-AC                          
#  drop-down-temp-battery                       
#  step-up-temp-battery
# }
# 
# https://mijorus.medium.com/thermal-tweaks-on-dell-laptops-running-linux-769c8c80022e

fans at 0,0fans at 1,1다음 줄에 해당합니다 .

set status(leftspeed)   "0 1000 2000 3000" 
# 0=0rpm, 1=1000rpm, etc.
set status(rightspeed)  "0 1000 2000 3000" 
# same for right fan

# so 1,1 correponds to 1000rpm left fan,1000rpm right fan

(다시 말하지만, G5에서는(정밀 라인에서도 말도 안 되는 일이라고 생각합니다) 팬 RPM을 수동으로 설정하는 것은 지원되지 않지만 XPS와 Alienware 라인에서는 지원되는 것 같습니다. 이 줄을 생략하지 마세요. 프로그램은 실행되지만 팬은 절대 회전하지 않습니다.)

여기 댓글에서 무엇을 볼 수 있는지 알려주세요. 나는 Alienware 제품이 이 기능을 허용한다고 가정하고 XPS는 내가 간략히 읽은 내용에 따르면 것처럼 보입니다. 그러나 Dell은 최고급 프리미엄 시스템이 아닌 모든 것, 심지어 세미 프리미엄 시스템까지 인위적으로 팬을 핸디캡으로 설정합니다. Precision 및 G5(G7은 잘 모르겠나요?) 라인은 rpm 설정을 허용하지 않습니다. 좋은데, 델.

4단계: 팬 서비스

이제 과거에 임시 온도에 주의를 기울였다면 구성 파일에 가서 원하는 수준으로 설정하고 i8kmon에 대한 systemd 서비스를 켜 볼 수 있습니다.

sudo systemctl status i8kmon.service 
sudo systemctl enable i8kmon.service 
sudo systemctl start i8kmon.service 

이제 다시 시작할 때 BIOS가 다시 작동하지 않도록 시스템 프로세스를 추가해야 합니다. 수행원이 가이드, 기본적으로 다음을 수행합니다.

sudo nano /lib/systemd/system/dell-bios-fan-control.service

거기에 이것을 붙여넣으세요:

[Unit]
Description=Turn off bios control of fans

[Service]
Type=simple
ExecStart=/usr/bin/dell-bios-fan-control 0

[Install]
WantedBy=multi-user.target

그 다음에

sudo cp /lib/systemd/system/dell-bios-fan-control.service /etc/systemd/system/dell-bios-fan-control.service
 
sudo systemctl enable dell-bios-fan-control
sudo systemctl start dell-bios-fan-control

가셔도 좋습니다. 그래도 컴퓨터를 다시 시작하고 예상대로 작동하는지 확인하겠습니다. psensor를 관찰하면 구성 값을 따르고 있는지 여부를 알 수 있습니다.

여기에 문제가 있는 것이 있으면 알려주세요. 저는 시행착오를 통해 알아낸 후 정말 잘못된 방식으로 이 글을 쓰고 있습니다. 이에 대한 이해를 확고히 하면서 시간이 지남에 따라 정리하고 있습니다.

확실히 눈에 띄는 문제는 안전을 위해 시작에 실패할 경우 BIOS 제어를 다시 켜는 i8k 서비스 시작 시 오류 처리가 있어야 한다는 것입니다.

그것조차도 보장되지는 않습니다. '팬 rpm' 줄을 주석 처리했습니다. 기본 파일에서는 불필요하다고 표시하고 아마도 자동으로 검색할 수 있으며 해당 기능은 내 모델(G5 5590)에서 지원되지 않기 때문입니다. 서비스가 정상적으로 시작되는 것 같지만 실제로 팬을 활성화하는 데는 실패합니다. 결과적으로 다른 응용 프로그램에서는 또 다른 온도 안전 장치를 사용하는 것이 좋습니다. 이 작업을 수행하게 되면 이 가이드를 업데이트하려고 노력할 것입니다.

5단계: 종료 동작/이중 부팅 안전

이중 부팅을 사용하는 경우 수동 팬 제어를 추가하지 않은 다른 배포판에서는 팬이 작동하지 않으므로 과열되어 충돌이 발생합니다. 이를 변경하려면 다음과 같이 종료 시 BIOS로 다시 제어권을 넘겨주는 역방향 프로세스를 추가해야 합니다.

sudo nano /lib/systemd/system/dell-bios-fan-control-reverse.service
[Unit]
Description=Turn fan control back over to bios at shutdown, in case of windows boot, or i8k >

[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=/usr/bin/dell-bios-fan-control 1

[Install]
WantedBy=multi-user.target

그 다음에

sudo cp /lib/systemd/system/dell-bios-fan-control-reverse.service /etc/systemd/system/dell-bios-fan-control-reverse.service
 
sudo systemctl enable dell-bios-fan-control-reverse
sudo systemctl start dell-bios-fan-control-reverse

답변2

BIOS 버전 1.11.1에서 최신 버전으로 업데이트하세요.바이오스, 1.12.0, 당신을 위해델 G5 5590 노트북, 팬 문제를 해결하려면 (아직) 조정할 수 있는 컨트롤이 없더라도 팬 컨트롤이 BIOS를 거치기 때문입니다.

후자의 주장은 주제에 대한 웹 검색을 통해 찾은 처음 세 개의 게시물을 기반으로 하며, 이는 Windows 10과 Linux를 실행하는 사용자에게 문제가 있음을 나타냅니다. 따라서 BIOS가 관련되어 있다고 생각합니다.

https://www.reddit.com/r/Dell/comments/ag5d4p/dell_g5_manual_fan_control_utility/

https://www.dell.com/community/Inspiron/Dell-G5-15-5590-fan-control/td-p/7390514

https://www.dell.com/community/Inspiron/Annoying-fan-speed-oscillation-on-DELL-G5-5590/td-p/7403566

답변3

해결책을 찾은 것 같은데 내 노트북에서 이 작업이 작동합니다. DELL Latitude는 $etc/fancontrol 문서에 정의되어 있지 않습니다.

# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=0000.1
DEVPATH=hwmon3= hwmon4=devices/pci0000:00/0000:00:03.0/0000:01:00.0
DEVNAME=hwmon3=dell_smm hwmon4=nouveau
FCTEMPS= hwmon3/pwm1=hwmon4/temp1_input
FCFANS= hwmon3/pwm1=
MINTEMP= hwmon3/pwm1=30
MAXTEMP= hwmon3/pwm1=60
MINSTART= hwmon3/pwm1=150
MINSTOP= hwmon3/pwm1=10
MAXPWM= hwmon3/pwm1=250

FCFANS는 비어 있습니다. FCFANS= hwmon3/pwm1=1이라고 썼습니다.

그게 효과가있어 !!

관련 정보