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
/ pwmconfig
sẽ không hoạt động
Tuy nhiên, có một gói được gọi i8kutils
là đượ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.
i8kutils
bao gồm nguồn của một chương trình smm
nhưng i8kutils
gó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 smm
và 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 i8kutils
mã 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 smm
vớ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-config
sẽ cho biết người hâm mộ có khả năng pwm có mặt hay không