Najprawdopodobniej będziesz w stanie rozwiązać problem z czymś innym, co przesłania twoje polecenia wentylatora i8kctl, stosując metodę podaną w tej odpowiedzi. Dla kompletności dołączę kilka ogólnych uwag na temat sterowania wentylatorem w laptopach Dell oraz pełne instrukcje dotyczące i8kutils
.
Co prawdopodobnie nie zadziała
Niestety dwa popularne i proste sposoby kontrolowania wentylatora w laptopach to ACPI i piny PWM:
Laptopy Dell nie mają możliwości sterowania wentylatorem ACPI (* 1)
- w konsekwencji próba z parametrami rozruchowymi ACPI itp. zakończy się niepowodzeniem
Laptopy Dell Latitude, o ile mi wiadomo, nie mają wentylatorów sterowanych PWM (* 2)
- w konsekwencji program
fancontrol
/ pwmconfig
nie będzie działać
Istnieje jednak pakiet o nazwie, i8kutils
który został napisany w celu sterowania wentylatorem w laptopach Dell Inspiron za pośrednictwem SMM BIOS . Kilku użytkowników informuje również o sukcesach na swoich laptopach Dell Laitude (jestem jednym z nich, na Dell Latitude E7440) - jednak często potrzeba sztuczki, aby pozbyć się zakłócania kontroli wentylatora systemu BIOS. Cierpisz na tym również zgodnie z poprzednim komentarzem.
Zainstaluj i8kutils
:
$ sudo apt-get install i8kutils
Spróbuj:
$ i8kfan 2 2 # set to max speed
$ i8kfan 0 0 # set to 0 speed
... i słuchaj, czy to działa.
Wyłącz sterowanie wentylatorem systemu BIOS
Jeśli to działa, ale coś innego walczy z ustawioną prędkością (zgłaszaną przez wielu użytkowników laptopów Dell Latitude), jest to spowodowane zaplanowanymi sesjami SMM przywracającymi prędkość wentylatora. Na szczęście istnieje sposób na wyłączenie kontroli wentylatora BIOS poprzez zapis do rejestrów SMM .
Ostrzeżenie: patrz ostrzeżenie w górnej części pliku smm.c. Ta metoda zapisuje do rejestrów SMM. Jednak nie widziałem żadnych raportów użytkowników na temat powodowania problemów. Ponadto wszystkie raporty dotyczące tego próbują wskazywać na sukces w wyłączeniu kontroli wentylatora systemu BIOS.
i8kutils
zawiera źródło programu, smm
ale i8kutils
pakiet nie zawiera skompilowanego pliku binarnego. Musimy pobrać kod źródłowy i8kutils
, skompilować program smm
i uruchomić go z odpowiednim argumentem, aby wyłączyć kontrolę wentylatora BIOS, pisząc do rejestrów SMM.
Pobierz pakiety potrzebne do budowy:
$ sudo apt-get build-dep i8kutils
Pobierz i8kutils
kod źródłowy, wypakuj i wprowadź katalog (dokładne nazwy w zależności od wersji i8k):
$ apt-get source i8kutils
$ tar xvf i8kutils_1.33.tar.gz
$ cd i8kutils-1.33/
Kompiluj smm
:
W systemie 32-bitowym :
$ make
(Powyżej wykona się gcc -g -O2 -Wall -I. -o smm smm.c
.)
Jeśli w systemie 64-bitowym :
$ gcc -g -O2 -Wall -I. -o smm -m32 smm.c
Uruchom smm
z argumentem, 30a3
aby wyłączyć sterowanie wentylatorem SMM:
$ sudo ./smm 30a3
Teraz kontrola wentylatora BIOS powinna być wyłączona. Spróbuj ustawić prędkość za pomocą i8kctl
, nasłuchuj wentylatora i upewnij się, że prędkość się utrzymuje.
Uwaga: Jest to ustawienie, które będzie utrzymywać ponowne uruchamianie i wyłączanie. Sterowanie wentylatorem BIOS można ponownie włączyć za pomocą $ sudo ./smm 31a3
.
* 1: Widziałem oficjalne źródło tego, nie mogę go teraz znaleźć. Jeśli chcesz sprawdzić, czy Twój sprzęt go nie ma, postępuj zgodnie z instrukcjami tutaj: https://wiki.ubuntu.com/DebuggingACPI
* 2: dla weryfikacji tego, uruchom pwmconfig: sudo apt-get install fancontrol
, sudo pwm-config
pokaże, czy wentylator PWM-zdolny jest obecny czy nie