Disabling fan on Dell Precision 5520

From lxadm | Linux administration tips, tutorials, HOWTOs and articles
Jump to: navigation, search

If any fan noise on your brand new Dell Precision 5520 with Ubuntu annoys you, or your fan constantly switches on and off - here is how to disable it permanently. This may also work on some other Dell laptops (i.e. Precision 5510).

It basically makes your 15 inch laptop fanless and totally quiet, for usage like web browsing, email, office productivity, watching videos, listening to the music etc.

Note: this may damage your computer.

Step 1: install i8kutils

apt install i8kutils

This will install a tool which lets you control the fans. Unfortunately, it's pretty much useless, because BIOS also controls fan speed. This means - right after i8kmon disables the fan - BIOS would immediately reenable it, causing the fan to go on, and off, and then on, and off again.

Step 2: compile smm tool to disable BIOS fan control

smm is available in i8kutils source package, but not compiled as a binary.

You need apt install libc6-dev-i386 package installed to be able to compile smm (even if you have a 64 bit operating system).

apt install libc6-dev-i386

wget http://mirrors.kernel.org/ubuntu/pool/universe/i/i8kutils/i8kutils_1.41.tar.xz

tar xpf http://mirrors.kernel.org/ubuntu/pool/universe/i/i8kutils/i8kutils_1.41.tar.xz

cd i8kutils_1.41

gcc -m32 -o smm smm.c

Step 3: smm tool usage

  • disable BIOS fan control
./smm 30a3

  • enable BIOS fan control
./smm 31a3

Step 4: manually controlling fan speed

To disable fans, run:

i8kfan 0 0

It should print "0 0" in the output. Note: this will only work if you've disabled BIOS fan control (see Step 3).

Step 5: automatically control fan speed

Make sure i8kmon is running (it should start automatically if you installed i8kutils package).

Step 6: checking fan speed and temperature

You can use "sensors" from lm-sensors package to check fan speed and temperature:

# sensors
Adapter: ISA adapter
Package id 0:  +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 0:        +47.0°C  (high = +100.0°C, crit = +100.0°C)
Core 1:        +46.0°C  (high = +100.0°C, crit = +100.0°C)
Core 2:        +47.0°C  (high = +100.0°C, crit = +100.0°C)
Core 3:        +47.0°C  (high = +100.0°C, crit = +100.0°C)

Adapter: Virtual device
temp1:        +25.0°C  (crit = +107.0°C)

Adapter: Virtual device
Processor Fan:    0 RPM
Video Fan:        0 RPM
CPU:            +47.0°C  
Ambient:        +41.0°C  
Ambient:        +41.0°C  
Other:          +36.0°C  

Adapter: Virtual device
temp1:        +46.5°C