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