Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
RobertCsordas committed Jan 6, 2018
0 parents commit 73acdb1
Show file tree
Hide file tree
Showing 9 changed files with 487 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions .idea/silent_xps.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

248 changes: 248 additions & 0 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Dell XPS fan control helper tool
================================

The problem
-----------

The BIOS of Dell XPS 9560 frequently forgets to stop the fan when the fan is on lower speed and the CPU is cool
enough. This is very annoying, as once the fan turns on, it rarely shuts down. There exists a custom fan control
daemon called i8k, but it turns off BIOS fan control which is very dangerous and suppors only 2 fan speeds.

How it works
------------

Fortunately the fan immediately stops if "smbios-thermal-ctl --set-thermal-mode=quiet" command is run. But next time
the CPU heats up, it starts over again. This tool is supposed to run the command periodically, but only in a given
range of temperatures. There are some zones that results in oscillations (smbios-thermal-ctl turns off the fan for
a second, and then it turns back on). On even higher temperatures, the command does nothing.
So in order to avoid oscillations, we need a bit more sophisticated method than running smbios-thermal-ctl
periodically.

Tested for 15 9560.

Installation
------------

Run ./install.sh as root. This will set up the config file, the systemd scripts and the script itself.

You can try editing /etc/silent_xps.json if you run in some oscillation problems.

Requirements
------------

Python 3 for running the script, lm_sensors for reading the temperatures and libsmbios for smbios-thermal-ctl tool.
5 changes: 5 additions & 0 deletions config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[
{
"max" : 49
}
]
7 changes: 7 additions & 0 deletions install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash

cp silent_xps.py /usr/bin/silent_xps
cp config.json /etc/silent_xps.json
cp silent_xps.service /etc/systemd/system/
systemctl enable silent_xps
systemctl restart silent_xps
Loading

0 comments on commit 73acdb1

Please sign in to comment.