Commit | Line | Data |
---|---|---|
53e68c20 AM |
1 | .. SPDX-License-Identifier: GPL-2.0-or-later |
2 | ||
3 | Kernel driver nzxt-smart2 | |
4 | ========================= | |
5 | ||
6 | Supported devices: | |
7 | ||
8 | - NZXT RGB & Fan controller | |
9 | - NZXT Smart Device v2 | |
10 | ||
11 | Description | |
12 | ----------- | |
13 | ||
14 | This driver implements monitoring and control of fans plugged into the device. | |
15 | Besides typical speed monitoring and PWM duty cycle control, voltage and current | |
16 | is reported for every fan. | |
17 | ||
18 | The device also has two connectors for RGB LEDs; support for them isn't | |
19 | implemented (mainly because there is no standardized sysfs interface). | |
20 | ||
21 | Also, the device has a noise sensor, but the sensor seems to be completely | |
22 | useless (and very imprecise), so support for it isn't implemented too. | |
23 | ||
24 | Usage Notes | |
25 | ----------- | |
26 | ||
27 | The device should be autodetected, and the driver should load automatically. | |
28 | ||
29 | If fans are plugged in/unplugged while the system is powered on, the driver | |
30 | must be reloaded to detect configuration changes; otherwise, new fans can't | |
31 | be controlled (`pwm*` changes will be ignored). It is necessary because the | |
32 | device has a dedicated "detect fans" command, and currently, it is executed only | |
33 | during initialization. Speed, voltage, current monitoring will work even without | |
34 | reload. As an alternative to reloading the module, a userspace tool (like | |
35 | `liquidctl`_) can be used to run "detect fans" command through hidraw interface. | |
36 | ||
37 | The driver coexists with userspace tools that access the device through hidraw | |
38 | interface with no known issues. | |
39 | ||
40 | .. _liquidctl: https://github.com/liquidctl/liquidctl | |
41 | ||
42 | Sysfs entries | |
43 | ------------- | |
44 | ||
45 | ======================= ======================================================== | |
46 | fan[1-3]_input Fan speed monitoring (in rpm). | |
47 | curr[1-3]_input Current supplied to the fan (in milliamperes). | |
48 | in[0-2]_input Voltage supplied to the fan (in millivolts). | |
49 | pwm[1-3] Controls fan speed: PWM duty cycle for PWM-controlled | |
50 | fans, voltage for other fans. Voltage can be changed in | |
51 | 9-12 V range, but the value of the sysfs attribute is | |
52 | always in 0-255 range (1 = 9V, 255 = 12V). Setting the | |
53 | attribute to 0 turns off the fan completely. | |
54 | pwm[1-3]_enable 1 if the fan can be controlled by writing to the | |
55 | corresponding pwm* attribute, 0 otherwise. The device | |
56 | can control only the fans it detected itself, so the | |
57 | attribute is read-only. | |
58 | pwm[1-3]_mode Read-only, 1 for PWM-controlled fans, 0 for other fans | |
59 | (or if no fan connected). | |
60 | update_interval The interval at which all inputs are updated (in | |
61 | milliseconds). The default is 1000ms. Minimum is 250ms. | |
62 | ======================= ======================================================== |