https://github.com/nithanim/fancontrol4msi
https://github.com/nithanim/fancontrol4msi
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/nithanim/fancontrol4msi
- Owner: Nithanim
- License: bsd-3-clause
- Created: 2016-02-09T13:15:48.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-02-14T22:47:45.000Z (over 10 years ago)
- Last Synced: 2025-06-09T22:41:38.173Z (12 months ago)
- Language: C
- Size: 7.81 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# FanControl4MSI
This program can control the fans of a MSI mainboard. It was tested with the H97 Gaming 3 but should work on all other ones using the MSI Command Center (which must be installed to use this program). FanControl4MSI can be used to circumvent GUI restrictions (like the minimum 50%) or to set specific values for fan speed at logon.
## Running
The program only takes one type of argument but multiple times. It looks like ```;;;;;;;;;77``` where all <> are variables.
* \ is the fan id. 1 and 2 are most likely the cpu fans do dont touch them! In most cases 8 and 9 and 3 are case fans which are the fans for me on H97. I have not really a clue how you could figure the ids easily out and I am also not sure if you can damage something when entering a wrong one.
* \ is the desired speed of the fan and \ is the temperature. The 'x' is the number of the 'Ball' you can move in the Command Center, numbered from the left to the right. However, the \ and \ values need to be entered as HEX (uppercase) and not as decimal numbers.
As a little example, this would set my one of my front fans to an acceptable speed:
```8;1E;23;2D;3C;2D;37;41;50;77;```
```[30/45],[35,55],[45,65],[55,80] where [Speed/Temp]```
The last 77 might be the temp where the 100 speed triggers but this is only speculation.
By specifying this string multiple times you can set the speed for multiple fans at once. With the help of the windows scheduler this program now gets called at every login with
```3;1E;23;2D;3C;2D;37;41;50;77; 8;1E;23;2D;3C;2D;37;41;50;77; 9;1E;23;2D;3C;2D;37;41;50;77;```
as arguments. As you might be able to tell, I set all fans to the same settings by specifying the one argument multiple times (separated by a space) only changing the fan id.
This completly bypasses the GUI and does not set anything for it so it might show nothing or completely off values.
## Building
For building I used MinGW64.
This program uses a slightly modified version of https://github.com/taneryilmaz/libconfigini/ to be able to read and write the ini files that are used by the service. The changes are that the library no longer throws an error on empty values but simply accepts them.