Làm thế nào để tôi kiểm soát quạt làm việc?


34

Tôi biết có một thứ gọi là fancontrol, cho phép bạn kiểm soát tốc độ thông gió của hệ thống. Tôi muốn để người hâm mộ của mình quay nhanh hơn một chút vì máy tính xách tay của tôi đang nóng lên rất dễ dàng. Tất cả các hướng dẫn và nội dung tôi tìm thấy là dành cho các phiên bản Ubuntu cũ và dường như không còn hoạt động nữa.

Bất cứ ai có thể giải thích cho tôi hoặc cho tôi một liên kết tốt về cách tôi có thể làm cho nó hoạt động trên Ubuntu? Một cái gì đó khác nhau với cùng một hiệu ứng cũng tốt.


Có thêm thông tin về phần cứng có thể sẽ giúp ích, như thương hiệu máy tính xách tay, tên / số kiểu máy và loại / phiên bản bios.
filecraps

@filescraps Dell Latitude D620: paste.ubfox.com/699801
RobinJ

5
@RobinJ - bạn đã thực hiện các kiểm tra thông thường cho các vấn đề quá nhiệt - kiểm tra bụi / tắc nghẽn - nhìn vào tản nhiệt bộ xử lý của bạn là tốt. Cập nhật bios của bạn lên bản mới nhất hiện có. Bạn đã thử thêm "acpi_osi = Linux" vào mạng lưới của mình chưa? Bạn đang sử dụng bất kỳ tùy chọn khởi động thêm? Về cơ bản, quan điểm của tôi là - vấn đề quá nhiệt là loại công cụ bụi / acpi - bạn không cần phải điều khiển quạt theo cách thủ công.
fossfreedom

Chà, quạt chỉ bắt đầu chạy nhanh hơn khi ở nhiệt độ khoảng 65 ° C và dường như đã quá muộn vì một khi nó bắt đầu tăng thì nó không còn xuống dưới 75 ° C nữa. Đó là một máy tính xách tay và tôi không đủ tự tin với phần cứng để mang nó đi. Không gì acpi_osi=Linuxlàm gì? Không có tùy chọn khởi động thêm, chỉ là GRUB mặc định.
RobinJ

1
@RobinJ - Đừng quên phong cách của trang web là thêm thông tin liên quan vào câu hỏi của bạn thay vì chôn vùi nó trong các bình luận.
fossfreedom

Câu trả lời:


8

i8kutils hoạt động để kiểm soát quạt của máy tính xách tay Dell Vostro 3350 của tôi.

# Chỉ dành cho máy tính xách tay Dell:
$ sudo apt-get cài đặt i8kutils 
$ i8kfan 1 2 # Đặt quạt bên trái ở tốc độ thấp (1); bên phải ở tốc độ cao (2).

Chỉ có vẻ như một cái gì đó trong BIOS luôn đặt nó trở về giá trị trước đó sau vài giây: P Dù sao, dù hơi muộn, nó vẫn là câu trả lời hữu ích nhất.
RobinJ

nó hoạt động trên Alienware m14x của tôi. Tuy nhiên, nó vẫn không thể đặt bộ làm mát ở tốc độ tối đa và điều đó vẫn khiến máy tính xách tay chạy ở tốc độ cao hơn. Điều đó nóng hơn đáng kể so với trên Windows ...
iLemming

BIOS đặt nó trở lại để tôi thêm một cronjob chạy sau mỗi 2 phút: crontab -e*/2 * * * * /usr/bin/i8kfan 1 1. hoạt động hoàn hảo cho đến bây giờ
goksel

14

Rất có thể bạn sẽ có thể giải quyết vấn đề của mình bằng một cái gì đó khác ghi đè các lệnh quạt i8kctl của bạn bằng phương pháp được đưa ra trong câu trả lời này. Để hoàn thiện, tôi sẽ bao gồm một số lưu ý chung về điều khiển quạt trên máy tính xách tay Dell và hướng dẫn đầy đủ cho i8kutils.

Những gì có thể sẽ không làm việc

Tuy nhiên, hai phương tiện phổ biến và đơn giản để điều khiển quạt trên máy tính xách tay là thông qua ACPI và qua các chân PWM, thật không may:

  • Máy tính xách tay Dell thiếu khả năng điều khiển quạt ACPI (* 1)

    • do đó, thử với các tham số khởi động ACPI và tương tự sẽ thất bại
  • Theo như tôi biết, máy tính xách tay Dell Latitude, thiếu quạt điều khiển pwm (* 2)

    • do đó, chương trình fancontrol/ pwmconfigsẽ không hoạt động

Sử dụng i8kutils

Tuy nhiên, có một gói được gọi i8kutilslà được viết để điều khiển quạt trên máy tính xách tay Dell Inspiron thông qua SMM BIOS . Một số người dùng báo cáo thành công trên Dell Laitude của họ máy tính xách tay (Tôi là một trong số họ, trên Dell Latitude E7440) - tuy nhiên, một mẹo thường là cần thiết để thoát khỏi sự can thiệp của điều khiển quạt BIOS. Bạn cũng chịu đựng điều đó theo một bình luận trước đó.

Cài đặt i8kutils:

$ sudo apt-get install i8kutils

Thử nó:

$ i8kfan 2 2     # set to max speed
$ i8kfan 0 0     # set to 0 speed

... và lắng nghe xem nó có hoạt động không.

Vô hiệu hóa điều khiển quạt BIOS

Nếu nó hoạt động, nhưng một số thứ khác đang chống lại tốc độ đã giải quyết (được báo cáo bởi nhiều người dùng trên máy tính xách tay Dell Latitude), điều này là do các phiên SMM được lên lịch đặt lại tốc độ quạt. May mắn thay, có một cách để vô hiệu hóa điều khiển quạt BIOS bằng cách ghi vào các thanh ghi SMM .

Cảnh báo: xem cảnh báo ở đầu smm.c. Phương pháp này sẽ ghi vào thanh ghi SMM.Tuy nhiên, tôi đã thấy không có báo cáo người dùng nào về việc này gây rắc rối. Ngoài ra, tất cả các báo cáo về việc thử này đã cho thấy thành công trong việc vô hiệu hóa điều khiển quạt BIOS.

i8kutilsbao gồm nguồn của một chương trình smmnhưng i8kutilsgói không bao gồm nhị phân được biên dịch. Những gì chúng ta sẽ làm là tải xuống mã nguồn của i8kutils, biên dịch chương trình smmvà chạy nó với một đối số phù hợp để vô hiệu hóa điều khiển quạt BIOS bằng cách ghi vào các thanh ghi SMM.

Tải xuống các gói cần thiết để xây dựng:

$ sudo apt-get build-dep i8kutils

Tải xuống i8kutilsmã nguồn, giải nén và nhập thư mục (tên chính xác tùy thuộc vào phiên bản i8k):

$ apt-get source i8kutils
$ tar xvf i8kutils_1.33.tar.gz
$ cd i8kutils-1.33/

Biên dịch smm:

  • Nếu trên hệ thống 32 bit :

    $ make
    

    (Ở trên sẽ thực thi gcc -g -O2 -Wall -I. -o smm smm.c.)

  • Nếu trên hệ thống 64 bit :

    $ gcc -g -O2 -Wall -I. -o smm -m32 smm.c
    

Chạy smmvới đối số 30a3để tắt điều khiển quạt SMM:

$ sudo ./smm 30a3

Bây giờ, điều khiển quạt BIOS nên bị vô hiệu hóa. Hãy thử bằng cách cài đặt tốc độ i8kctl, lắng nghe quạt và đảm bảo tốc độ vẫn còn.

Lưu ý: Đây là cài đặt sẽ tiếp tục khởi động lại và tắt nguồn. Điều khiển quạt BIOS có thể được kích hoạt lại với $ sudo ./smm 31a3.


* 1: Tôi đã thấy một nguồn chính thức về điều này, không thể tìm thấy nó ngay bây giờ. Nếu bạn muốn xác minh rằng phần cứng của bạn thiếu nó, hãy làm theo hướng dẫn tại đây: https://wiki.ubfox.com/DebuggingACPI

* 2: để xác minh điều này, hãy chạy pwmconfig : sudo apt-get install fancontrol, sudo pwm-configsẽ cho biết người hâm mộ có khả năng pwm có mặt hay không


Tôi thực sự đã sử dụng tham số ACPI acpi_osi='!Windows 2012', để kiểm soát quạt Dell Inspiron 15R 5520 của mình, vì chúng sẽ luôn quay với tốc độ tối đa bất kể nhiệt độ.
dùng311982

Đây phải là câu trả lời chính xác. Đó là thông tin tốt và rất có liên quan!
ppr

Câu trả lời chính xác. Cũng được tìm thấy ở đây
malat

1
Cảm ơn bạn rất nhiều, điều này làm việc cho tôi sau khi thử mọi thứ khác mà không có kết quả. Khi tôi cố gắng biên dịch smm, tôi đã bị mất sys / cdefs.h nhưng sudo apt-get install g++-multilibđã mang nó vào (như được tham khảo tại Askubfox.com/questions/470796/NH )
Philip Daniels

Tôi có thể hơi muộn nhưng, có bất kỳ nhược điểm nào của việc đặt nó ở tốc độ tối đa không?
Zerquix18

14

Các cảm biến lm gói Cài đặt cảm biến lmcó thể là những gì bạn đang tìm kiếm.

Và như bạn đề nghị fancontrol Cài đặt fancontrol .

Hãy chắc chắn rằng tất cả các quạt mà bạn đang cố kiểm soát thông qua phần mềm đều có đầu nối 4 chân.

"Một quạt có khả năng PWM được kết nối thông thường với đầu nối 4 chân (pinout: Ground, + 12V, cảm giác, điều khiển)."nguồn

Khi tôi chạy pwmconfigmột phần của fancontrol, tôi nhận được

/usr/sbin/pwmconfig: There are no pwm-capable sensor modules installed Nó sẽ hướng dẫn bạn nếu bạn có phần cứng tương thích.

Dưới đây là một số tập lệnh để sử dụng kết hợp với tập tin cấu hình được tạo. Tôi giả sử rằng bạn có thể đặt giá trị cao hơn ở đây.

label fan1 "Side Fan"
set fan1_min 1000
label fan2 "PSU Fan"
set fan2_min 1000
label fan5 "CPU Fan"
set fan5_min 1000

Nhưng như tôi đã nói, tôi không thể tự kiểm tra điều này, vì phần cứng của tôi không hỗ trợ nó, tôi có thể điều khiển người hâm mộ của mình từ bios, nhưng đó là cấp 3. Tôi sử dụng nó để giữ cho quạt của mình hoạt động chậm và im lặng.


1
/ usr / sbin / pwmconfig: Không có mô-đun cảm biến có khả năng pwm nào được cài đặt Có cách nào khác không?
RobinJ

Bạn thường cần chạy sensors-detecttrước và tải một mô-đun mà nó nói để có được nhiệt độ và tốc độ quạt, và sau đó pwmconfig có thể thao tác với nó.
psusi

@RobinJ, có vẻ như bạn không có chip được công nhận / hỗ trợ.
psusi

Tôi sẽ trao phần thưởng cho bạn vì đây là câu trả lời hữu ích nhất có thể giúp đỡ hầu hết những người khác.
RobinJ

5

Ok, đây có thể không phải là câu trả lời mà bạn đang tìm kiếm, nhưng vấn đề quá nhiệt của tôi đã được giải quyết, khi loại bỏ bụi bằng cách đặt máy hút bụi trên các cửa thông gió. Nếu bạn gặp quá nhiệt ở tần số cpu thấp, điều này có thể đáng để thử. Xin lưu ý rằng có thể các bộ phận nhỏ có thể bị hút vào. Nếu bạn may mắn, phương pháp này có thể giải quyết cho bạn các vấn đề quá nóng.


Tôi đã trao tiền thưởng cho eanswer ở trên vì đây là thông tin hữu ích nhất, nhưng vấn đề của tôi dường như liên quan đến phần cứng, vì vậy câu trả lời của bạn đã đến gần nhất với giải pháp. Nhưng vì tôi không đủ tự tin để gây rối với phần cứng máy tính xách tay của mình, tôi chỉ mang nó đến cửa hàng vì nó vẫn được bảo đảm.
RobinJ

Tôi chỉ thử điều này và nó đã làm việc. Cảm ơn! Quạt của tôi đã bắt đầu to hơn và tôi đã tắt một hoặc hai lần do quá nóng. Hy vọng điều này đã sửa nó. Quạt hiện đang bật và tắt với việc sử dụng CPU bình thường, điều này thật tuyệt vời (trước khi nó luôn hoạt động).
Cymen

@Cymen Chỉ cần chắc chắn rằng chân không là chân không chống tĩnh điện, để an toàn. Tôi sử dụng một bình khí nén để làm sạch các lỗ thông hơi, mà bạn cũng có thể làm như một cách thay thế.
dùng311982

3

Tôi có Dell Latitude e4200 và những thứ sau đây hoạt động với tôi vì BIOS đã ghi đè cài đặt i8kfan. Nhiệt độ ban đầu của máy tính của tôi là 105 độ và khoảng 10 phút sau khi sử dụng các bước này (cài đặt quạt = 2) nhiệt độ CPU / Lõi giảm xuống 96 độ. Thủ tục này đã được đăng bởi ai đó:

Bước 1. Tải xuống và cài đặt i8ktutils:

# sudo apt-get install i8kutils

Bước 2. Ghi đè BIOS để giữ cho nó không làm gián đoạn cài đặt quạt tùy chỉnh. Tải xuống mã nguồn và biên dịch chương trình (SMM) để làm điều này:

# sudo apt-get build-dep i8kutils

sau đó:

# apt-get source i8kutils

Bước 3. Trích xuất mã nguồn và cd vào thư mục:

# tar xvf i8kutils_1.33.tar.gz

sau đó:

# cd i8kutils-1.33/

Bước 4. Biên dịch SMM

For 32-bit systems:

# make SMM

(Output: # gcc -g -O2 -Wall -I. -o smm smm.c.)

For 64-bit systems

# make SMM:

(Output: # gcc -g -O2 -Wall -I. -o smm -m32 smm.c)

Bước 5. Thực thi SMM với các tham số:

# sudo ./smm 30a3

Bước 6. Đặt tốc độ quạt:

# i8kfan 2 2 (Listen as this will set fans to maximum speed)

# i8kfan 1 1 (This will set fans to slow speed)

Bây giờ điều khiển quạt BIOS không nên ghi đè cài đặt quạt. Cài đặt này sẽ vẫn còn ngay cả khi hệ thống được khởi động lại. Để cung cấp quyền kiểm soát cho BIOS vì một số lý do, hãy thực hiện quy trình sau:

# sudo ./smm 31a3.

Ngoài ra còn có một cách để kiểm tra temp bằng cách sử dụng lm_sensors:

http://www.cyberciti.biz/faq/howto-linux-get-sensors-information/

1
Đã thử bản này cho phiên bản mới nhất của i8kutils-1.41 trên Ubuntu 14.04 và nhận được "Trong tệp được bao gồm từ /usr/include/stdio.h:27 0, từ smm.c: 27: /usr/include/features.h: 374: 25: lỗi nghiêm trọng: sys / cdefs.h: Không có tệp hoặc thư mục như vậy "Tuy nhiên, cách khắc phục vấn đề này là Askubfox.com/questions/470796/ Lỗi
k-den
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.