← Documents Documentation/hwmon/nct6775.rst GitHub 원문 ↗

Linux 6.18.37 · Hardware Monitoring

Kernel driver NCT6775

광범위한 NCT67xx Super I/O 계열의 센서와 Thermal Cruise·Smart Fan 제어입니다.

Source pathDocumentation/hwmon/nct6775.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

nct6775.rst:1-289

10개 접두사 계열의 온도·전압·팬 센서와 수동·자동 PWM 모드, 다중점 팬 곡선 및 보드별 주의사항을 설명합니다.

문서 개요
항목
SourceDocumentation/hwmon/nct6775.rst
분량289 source lines
온도 소스최대 25
PWM 모드0~5

원문 분량과 핵심 장치 구성을 정리합니다.

운영 흐름
칩 식별센서 등록PWM 모드 선택Cruise·Smart Fan 제어보드 주의사항 적용

장치 등록부터 측정·제어까지의 순서입니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 Kernel driver NCT6775
2 =====================
3
4 .. note::
5
6 This driver supersedes the NCT6775F and NCT6776F support in the W83627EHF
7 driver.
8
9 Supported chips:
10
11 * Nuvoton NCT6102D/NCT6104D/NCT6106D
12
13 Prefix: 'nct6106'
14
15 Addresses scanned: ISA address retrieved from Super I/O registers
16
17 Datasheet: Available from the Nuvoton web site
18
19 * Nuvoton NCT5572D/NCT6771F/NCT6772F/NCT6775F/W83677HG-I
20
21 Prefix: 'nct6775'
22
23 Addresses scanned: ISA address retrieved from Super I/O registers
24
25 Datasheet: Available from Nuvoton upon request
26
27 * Nuvoton NCT5573D/NCT5577D/NCT6776D/NCT6776F
28
29 Prefix: 'nct6776'
30
31 Addresses scanned: ISA address retrieved from Super I/O registers
32
33 Datasheet: Available from Nuvoton upon request
34
35 * Nuvoton NCT5532D/NCT6779D
36
37 Prefix: 'nct6779'
38
39 Addresses scanned: ISA address retrieved from Super I/O registers
40
41 Datasheet: Available from Nuvoton upon request
42
43 * Nuvoton NCT6791D
44
45 Prefix: 'nct6791'
46
47 Addresses scanned: ISA address retrieved from Super I/O registers
48
49 Datasheet: Available from Nuvoton upon request
50
51 * Nuvoton NCT6792D
52
53 Prefix: 'nct6792'
54
55 Addresses scanned: ISA address retrieved from Super I/O registers
56
57 Datasheet: Available from Nuvoton upon request
58
59 * Nuvoton NCT6793D
60
61 Prefix: 'nct6793'
62
63 Addresses scanned: ISA address retrieved from Super I/O registers
64
65 Datasheet: Available from Nuvoton upon request
66
67 * Nuvoton NCT6795D
68
69 Prefix: 'nct6795'
70
71 Addresses scanned: ISA address retrieved from Super I/O registers
72
73 Datasheet: Available from Nuvoton upon request
74
75 * Nuvoton NCT6796D
76
77 Prefix: 'nct6796'
78
79 Addresses scanned: ISA address retrieved from Super I/O registers
80
81 Datasheet: Available from Nuvoton upon request
82
83 * Nuvoton NCT6796D-S/NCT6799D-R
84
85 Prefix: 'nct6799'
86
87 Addresses scanned: ISA address retrieved from Super I/O registers
88
89 Datasheet: Available from Nuvoton upon request
90
91 Authors:
92
93 Guenter Roeck <linux@roeck-us.net>
94
95 Description
96 -----------
97
98 This driver implements support for the Nuvoton NCT6775F, NCT6776F, and NCT6779D
99 and compatible super I/O chips.
100
101 The chips support up to 25 temperature monitoring sources. Up to 6 of those are
102 direct temperature sensor inputs, the others are special sources such as PECI,
103 PCH, and SMBUS. Depending on the chip type, 2 to 6 of the temperature sources
104 can be monitored and compared against minimum, maximum, and critical
105 temperatures. The driver reports up to 10 of the temperatures to the user.
106 There are 4 to 5 fan rotation speed sensors, 8 to 15 analog voltage sensors,
107 one VID, alarms with beep warnings (control unimplemented), and some automatic
108 fan regulation strategies (plus manual fan control mode).
109
110 The temperature sensor sources on all chips are configurable. The configured
111 source for each of the temperature sensors is provided in tempX_label.
112
113 Temperatures are measured in degrees Celsius and measurement resolution is
114 either 1 degC or 0.5 degC, depending on the temperature source and
115 configuration. An alarm is triggered when the temperature gets higher than
116 the high limit; it stays on until the temperature falls below the hysteresis
117 value. Alarms are only supported for temp1 to temp6, depending on the chip type.
118
119 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
120 triggered if the rotation speed has dropped below a programmable limit. On
121 NCT6775F, fan readings can be divided by a programmable divider (1, 2, 4, 8,
122 16, 32, 64 or 128) to give the readings more range or accuracy; the other chips
123 do not have a fan speed divider. The driver sets the most suitable fan divisor
124 itself; specifically, it increases the divider value each time a fan speed
125 reading returns an invalid value, and it reduces it if the fan speed reading
126 is lower than optimal. Some fans might not be present because they share pins
127 with other functions.
128
129 Voltage sensors (also known as IN sensors) report their values in millivolts.
130 An alarm is triggered if the voltage has crossed a programmable minimum
131 or maximum limit.
132
133 The driver supports automatic fan control mode known as Thermal Cruise.
134 In this mode, the chip attempts to keep the measured temperature in a
135 predefined temperature range. If the temperature goes out of range, fan
136 is driven slower/faster to reach the predefined range again.
137
138 The mode works for fan1-fan5.
139
140 sysfs attributes
141 ----------------
142
143 pwm[1-7]
144 - this file stores PWM duty cycle or DC value (fan speed) in range:
145
146 0 (lowest speed) to 255 (full)
147
148 pwm[1-7]_enable
149 - this file controls mode of fan/temperature control:
150
151 * 0 Fan control disabled (fans set to maximum speed)
152 * 1 Manual mode, write to pwm[0-5] any value 0-255
153 * 2 "Thermal Cruise" mode
154 * 3 "Fan Speed Cruise" mode
155 * 4 "Smart Fan III" mode (NCT6775F only)
156 * 5 "Smart Fan IV" mode
157
158 pwm[1-7]_mode
159 - controls if output is PWM or DC level
160
161 * 0 DC output
162 * 1 PWM output
163
164 Common fan control attributes
165 -----------------------------
166
167 pwm[1-7]_temp_sel
168 Temperature source. Value is temperature sensor index.
169 For example, select '1' for temp1_input.
170
171 pwm[1-7]_weight_temp_sel
172 Secondary temperature source. Value is temperature
173 sensor index. For example, select '1' for temp1_input.
174 Set to 0 to disable secondary temperature control.
175
176 If secondary temperature functionality is enabled, it is controlled with the
177 following attributes.
178
179 pwm[1-7]_weight_duty_step
180 Duty step size.
181
182 pwm[1-7]_weight_temp_step
183 Temperature step size. With each step over
184 temp_step_base, the value of weight_duty_step is added
185 to the current pwm value.
186
187 pwm[1-7]_weight_temp_step_base
188 Temperature at which secondary temperature control kicks
189 in.
190
191 pwm[1-7]_weight_temp_step_tol
192 Temperature step tolerance.
193
194 Thermal Cruise mode (2)
195 -----------------------
196
197 If the temperature is in the range defined by:
198
199 pwm[1-7]_target_temp
200 Target temperature, unit millidegree Celsius
201 (range 0 - 127000)
202
203 pwm[1-7]_temp_tolerance
204 Target temperature tolerance, unit millidegree Celsius
205
206 There are no changes to fan speed. Once the temperature leaves the interval, fan
207 speed increases (if temperature is higher that desired) or decreases (if
208 temperature is lower than desired), using the following limits and time
209 intervals.
210
211 pwm[1-7]_start
212 fan pwm start value (range 1 - 255), to start fan
213 when the temperature is above defined range.
214
215 pwm[1-7]_floor
216 lowest fan pwm (range 0 - 255) if temperature is below
217 the defined range. If set to 0, the fan is expected to
218 stop if the temperature is below the defined range.
219
220 pwm[1-7]_step_up_time
221 milliseconds before fan speed is increased
222
223 pwm[1-7]_step_down_time
224 milliseconds before fan speed is decreased
225
226 pwm[1-7]_stop_time
227 how many milliseconds must elapse to switch
228 corresponding fan off (when the temperature was below
229 defined range).
230
231 Speed Cruise mode (3)
232 ---------------------
233
234 This modes tries to keep the fan speed constant.
235
236 fan[1-7]_target
237 Target fan speed
238
239 fan[1-7]_tolerance
240 Target speed tolerance
241
242
243 Untested; use at your own risk.
244
245 Smart Fan IV mode (5)
246 ---------------------
247
248 This mode offers multiple slopes to control the fan speed. The slopes can be
249 controlled by setting the pwm and temperature attributes. When the temperature
250 rises, the chip will calculate the DC/PWM output based on the current slope.
251 There are up to seven data points depending on the chip type. Subsequent data
252 points should be set to higher temperatures and higher pwm values to achieve
253 higher fan speeds with increasing temperature. The last data point reflects
254 critical temperature mode, in which the fans should run at full speed.
255
256 pwm[1-7]_auto_point[1-7]_pwm
257 pwm value to be set if temperature reaches matching
258 temperature range.
259
260 pwm[1-7]_auto_point[1-7]_temp
261 Temperature over which the matching pwm is enabled.
262
263 pwm[1-7]_temp_tolerance
264 Temperature tolerance, unit millidegree Celsius
265
266 pwm[1-7]_crit_temp_tolerance
267 Temperature tolerance for critical temperature,
268 unit millidegree Celsius
269
270 pwm[1-7]_step_up_time
271 milliseconds before fan speed is increased
272
273 pwm[1-7]_step_down_time
274 milliseconds before fan speed is decreased
275
276 Usage Notes
277 -----------
278
279 On various ASUS boards with NCT6776F, it appears that CPUTIN is not really
280 connected to anything and floats, or that it is connected to some non-standard
281 temperature measurement device. As a result, the temperature reported on CPUTIN
282 will not reflect a usable value. It often reports unreasonably high
283 temperatures, and in some cases the reported temperature declines if the actual
284 temperature increases (similar to the raw PECI temperature value - see PECI
285 specification for details). CPUTIN should therefore be ignored on ASUS
286 boards. The CPU temperature on ASUS boards is reported from PECI 0 or TSI 0.
287
288 NCT6796D-S and NCT6799D-R chips are very similar and their chip_id indicates
289 they are different versions. This driver treats them the same way.
290

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

NCT6775 드라이버가 지원하는 Super I/O 계열

1-90

이 드라이버는 기존 W83627EHF 드라이버의 NCT6775F·NCT6776F 지원을 대체합니다. ISA 주소는 각 Super I/O 레지스터에서 얻습니다.

지원 접두사는 `nct6106`, `nct6775`, `nct6776`, `nct6779`, `nct6791`, `nct6792`, `nct6793`, `nct6795`, `nct6796`, `nct6799`입니다. 각 접두사는 원문에 열거된 Nuvoton 칩 묶음과 대응합니다.

NCT6102D·NCT6104D·NCT6106D 데이터시트는 Nuvoton 웹사이트에서 구할 수 있고, 나머지 제품군 데이터시트는 Nuvoton에 요청해야 합니다.

NCT6775 계열 접두사
접두사대표 지원 칩
nct6106NCT6102D/NCT6104D/NCT6106D
nct6775NCT5572D/NCT6771F/NCT6772F/NCT6775F/W83677HG-I
nct6776NCT5573D/NCT5577D/NCT6776D/NCT6776F
nct6779NCT5532D/NCT6779D
nct6791/nct6792/nct6793NCT6791D/NCT6792D/NCT6793D
nct6795/nct6796NCT6795D/NCT6796D
nct6799NCT6796D-S/NCT6799D-R

지원 칩 묶음과 드라이버 접두사를 대응시킵니다.

NCT6775 계열 식별
ISA Super I/O 주소 검색칩 ID 읽기지원 모델 묶음 선택접두사와 기능 테이블 적용센서 채널 등록

Super I/O ID를 접두사와 기능 집합에 연결합니다.

Kernel driver NCT6775
=====================

.. note::

    This driver supersedes the NCT6775F and NCT6776F support in the W83627EHF
    driver.

Supported chips:

  * Nuvoton NCT6102D/NCT6104D/NCT6106D

    Prefix: 'nct6106'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: Available from the Nuvoton web site

  * Nuvoton NCT5572D/NCT6771F/NCT6772F/NCT6775F/W83677HG-I

    Prefix: 'nct6775'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: Available from Nuvoton upon request

  * Nuvoton NCT5573D/NCT5577D/NCT6776D/NCT6776F

    Prefix: 'nct6776'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: Available from Nuvoton upon request

  * Nuvoton NCT5532D/NCT6779D

    Prefix: 'nct6779'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: Available from Nuvoton upon request

  * Nuvoton NCT6791D

    Prefix: 'nct6791'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: Available from Nuvoton upon request

  * Nuvoton NCT6792D

    Prefix: 'nct6792'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: Available from Nuvoton upon request

  * Nuvoton NCT6793D

    Prefix: 'nct6793'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: Available from Nuvoton upon request

  * Nuvoton NCT6795D

    Prefix: 'nct6795'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: Available from Nuvoton upon request

  * Nuvoton NCT6796D

    Prefix: 'nct6796'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: Available from Nuvoton upon request

  * Nuvoton NCT6796D-S/NCT6799D-R

    Prefix: 'nct6799'

    Addresses scanned: ISA address retrieved from Super I/O registers

    Datasheet: Available from Nuvoton upon request

온도·팬·전압 센서와 Thermal Cruise

91-139

Guenter Roeck이 작성한 이 드라이버는 NCT6775F·NCT6776F·NCT6779D 및 호환 Super I/O 칩을 지원합니다.

칩은 최대 25개 온도 소스를 지원합니다. 이 중 최대 6개는 직접 센서 입력이고 나머지는 PECI·PCH·SMBUS 같은 특수 소스입니다. 칩에 따라 2~6개 소스를 최소·최대·임계 온도와 비교하며 드라이버는 최대 10개 온도를 사용자에게 보고합니다. 설정된 소스는 `tempX_label`에 표시됩니다.

온도 해상도는 소스와 구성에 따라 1°C 또는 0.5°C입니다. 온도가 상한을 넘으면 경보가 켜지고 히스테리시스 값 아래로 내려갈 때까지 유지됩니다. 온도 경보는 칩 종류에 따라 `temp1`부터 `temp6`까지만 지원됩니다.

팬 회전 센서는 4~5개, 아날로그 전압 센서는 8~15개이며 VID 하나, 비프 경보, 자동 및 수동 팬 제어를 제공합니다. 팬 속도가 프로그램된 하한 아래로 내려가면 경보가 발생합니다. NCT6775F만 1~128의 팬 분주기를 지원하며 드라이버가 무효 판독 시 분주기를 높이고 낮은 판독 시 줄여 자동 최적화합니다.

전압은 mV로 보고되고 최소·최대 한계 위반 시 경보가 발생합니다. Thermal Cruise는 측정 온도를 미리 정한 범위에 유지하도록 fan1~fan5를 느리게 또는 빠르게 조정합니다.

NCT6775 센서 기능
기능범위·수특징
온도 소스최대 25최대 10개 보고, 2~6개 한계 비교
직접 온도 입력최대 61°C 또는 0.5°C
팬 회전 센서4~5RPM·최소 속도 경보
전압 센서8~15mV·최소/최대 경보
팬 분주기1~128NCT6775F만 지원, 자동 조정
Thermal Cruisefan1~fan5목표 온도 범위 유지

칩 종류에 따라 제공 수가 달라지는 센서와 제어 기능입니다.

센서와 팬 제어
온도 소스 구성 읽기온도·전압·RPM 측정한계와 히스테리시스 비교팬 분주기 자동 보정Thermal Cruise 속도 조정

측정값을 한계와 비교해 팬 속도를 조정합니다.

Authors:

        Guenter Roeck <linux@roeck-us.net>

Description
-----------

This driver implements support for the Nuvoton NCT6775F, NCT6776F, and NCT6779D
and compatible super I/O chips.

The chips support up to 25 temperature monitoring sources. Up to 6 of those are
direct temperature sensor inputs, the others are special sources such as PECI,
PCH, and SMBUS. Depending on the chip type, 2 to 6 of the temperature sources
can be monitored and compared against minimum, maximum, and critical
temperatures. The driver reports up to 10 of the temperatures to the user.
There are 4 to 5 fan rotation speed sensors, 8 to 15 analog voltage sensors,
one VID, alarms with beep warnings (control unimplemented), and some automatic
fan regulation strategies (plus manual fan control mode).

The temperature sensor sources on all chips are configurable. The configured
source for each of the temperature sensors is provided in tempX_label.

Temperatures are measured in degrees Celsius and measurement resolution is
either 1 degC or 0.5 degC, depending on the temperature source and
configuration. An alarm is triggered when the temperature gets higher than
the high limit; it stays on until the temperature falls below the hysteresis
value. Alarms are only supported for temp1 to temp6, depending on the chip type.

Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
triggered if the rotation speed has dropped below a programmable limit. On
NCT6775F, fan readings can be divided by a programmable divider (1, 2, 4, 8,
16, 32, 64 or 128) to give the readings more range or accuracy; the other chips
do not have a fan speed divider. The driver sets the most suitable fan divisor
itself; specifically, it increases the divider value each time a fan speed
reading returns an invalid value, and it reduces it if the fan speed reading
is lower than optimal. Some fans might not be present because they share pins
with other functions.

Voltage sensors (also known as IN sensors) report their values in millivolts.
An alarm is triggered if the voltage has crossed a programmable minimum
or maximum limit.

The driver supports automatic fan control mode known as Thermal Cruise.
In this mode, the chip attempts to keep the measured temperature in a
predefined temperature range. If the temperature goes out of range, fan
is driven slower/faster to reach the predefined range again.

The mode works for fan1-fan5.

PWM 모드와 보조 온도 제어

140-193

`pwm[1-7]`은 0의 최저 속도부터 255의 최대 속도까지 PWM 듀티 또는 DC 팬 속도 값을 저장합니다.

`pwm[1-7]_enable`은 0 비활성화 및 최대 속도, 1 수동, 2 Thermal Cruise, 3 Fan Speed Cruise, 4 NCT6775F 전용 Smart Fan III, 5 Smart Fan IV 모드를 선택합니다. 원문 수동 모드 설명의 `pwm[0-5]` 표기는 그대로 보존합니다.

`pwm[1-7]_mode`는 0 DC 출력과 1 PWM 출력을 선택합니다. `temp_sel`은 기본 온도 센서 인덱스, `weight_temp_sel`은 보조 온도 센서 인덱스이며 0이면 보조 제어를 끕니다.

보조 온도 제어는 `weight_duty_step`, `weight_temp_step`, `weight_temp_step_base`, `weight_temp_step_tol`로 듀티 증가량, 온도 단계, 시작 온도, 허용 오차를 정합니다. 기준 온도를 넘을 때마다 온도 단계에 따라 PWM에 듀티 단계를 더합니다.

공통 PWM 속성
속성역할
pwm[1-7]0~255 듀티 또는 DC 값
pwm[1-7]_enable0~5 제어 모드 선택
pwm[1-7]_mode0 DC, 1 PWM
pwm[1-7]_temp_sel기본 온도 소스
pwm[1-7]_weight_temp_sel보조 온도 소스, 0이면 비활성화
weight_duty_step/temp_step보조 온도에 따른 듀티 증가량과 단계
weight_temp_step_base/tol보조 제어 시작 온도와 허용 오차

팬 제어 모드와 두 온도 소스의 가중 제어를 정리합니다.

보조 온도 PWM 계산
enable·mode 선택기본 temp_sel 읽기weight_temp_sel 확인기준 초과 단계 계산weight_duty_step을 PWM에 반영

기본 제어에 두 번째 온도 소스의 가중치를 더합니다.

sysfs attributes
----------------

pwm[1-7]
    - this file stores PWM duty cycle or DC value (fan speed) in range:

           0 (lowest speed) to 255 (full)

pwm[1-7]_enable
    - this file controls mode of fan/temperature control:

        * 0 Fan control disabled (fans set to maximum speed)
        * 1 Manual mode, write to pwm[0-5] any value 0-255
        * 2 "Thermal Cruise" mode
        * 3 "Fan Speed Cruise" mode
        * 4 "Smart Fan III" mode (NCT6775F only)
        * 5 "Smart Fan IV" mode

pwm[1-7]_mode
    - controls if output is PWM or DC level

        * 0 DC output
        * 1 PWM output

Common fan control attributes
-----------------------------

pwm[1-7]_temp_sel
                        Temperature source. Value is temperature sensor index.
                        For example, select '1' for temp1_input.

pwm[1-7]_weight_temp_sel
                        Secondary temperature source. Value is temperature
                        sensor index. For example, select '1' for temp1_input.
                        Set to 0 to disable secondary temperature control.

If secondary temperature functionality is enabled, it is controlled with the
following attributes.

pwm[1-7]_weight_duty_step
                        Duty step size.

pwm[1-7]_weight_temp_step
                        Temperature step size. With each step over
                        temp_step_base, the value of weight_duty_step is added
                        to the current pwm value.

pwm[1-7]_weight_temp_step_base
                        Temperature at which secondary temperature control kicks
                        in.

pwm[1-7]_weight_temp_step_tol
                        Temperature step tolerance.

Thermal Cruise와 Speed Cruise

194-244

Thermal Cruise 모드 2에서는 `target_temp`와 `temp_tolerance`가 목표 온도 구간을 정합니다. 목표 온도 단위는 밀리섭씨이고 범위는 0~127000입니다. 온도가 구간 안에 있으면 팬 속도를 바꾸지 않습니다.

온도가 구간보다 높으면 팬을 빠르게, 낮으면 느리게 합니다. `pwm_start`는 범위 위에서 팬을 시작하는 1~255 값, `pwm_floor`는 범위 아래의 최저 0~255 값이며 0이면 팬 정지를 기대합니다.

`step_up_time`, `step_down_time`, `stop_time`은 각각 속도를 올리기 전, 내리기 전, 팬을 끄기 전의 밀리초 지연입니다.

Speed Cruise 모드 3은 팬 속도를 일정하게 유지하려고 하며 `fan[1-7]_target`과 `_tolerance`로 목표 RPM과 허용 오차를 정합니다. 원문은 이 기능을 시험하지 않았으므로 사용자가 위험을 감수해야 한다고 경고합니다.

Cruise 모드 설정
모드핵심 속성동작
Thermal Cruise 2target_temp, temp_tolerance목표 온도 구간 유지
Thermal Cruise 상향pwm_start, step_up_time고온에서 시작·가속
Thermal Cruise 하향pwm_floor, step_down_time, stop_time저온에서 감속·정지
Speed Cruise 3fan_target, fan_tolerance목표 RPM 유지, 미시험

온도 목표와 속도 목표 방식의 제어 변수를 비교합니다.

Thermal Cruise 제어
target_temp±tolerance 계산현재 온도 구간 판정고온이면 step_up 대기 후 가속저온이면 step_down 대기 후 감속stop_time 뒤 필요 시 정지

온도 위치에 따라 팬 듀티를 단계적으로 바꿉니다.

Thermal Cruise mode (2)
-----------------------

If the temperature is in the range defined by:

pwm[1-7]_target_temp
                        Target temperature, unit millidegree Celsius
                        (range 0 - 127000)

pwm[1-7]_temp_tolerance
                        Target temperature tolerance, unit millidegree Celsius

There are no changes to fan speed. Once the temperature leaves the interval, fan
speed increases (if temperature is higher that desired) or decreases (if
temperature is lower than desired), using the following limits and time
intervals.

pwm[1-7]_start
                        fan pwm start value (range 1 - 255), to start fan
                        when the temperature is above defined range.

pwm[1-7]_floor
                        lowest fan pwm (range 0 - 255) if temperature is below
                        the defined range. If set to 0, the fan is expected to
                        stop if the temperature is below the defined range.

pwm[1-7]_step_up_time
                        milliseconds before fan speed is increased

pwm[1-7]_step_down_time
                        milliseconds before fan speed is decreased

pwm[1-7]_stop_time
                        how many milliseconds must elapse to switch
                        corresponding fan off (when the temperature was below
                        defined range).

Speed Cruise mode (3)
---------------------

This modes tries to keep the fan speed constant.

fan[1-7]_target
                        Target fan speed

fan[1-7]_tolerance
                        Target speed tolerance


Untested; use at your own risk.

Smart Fan IV 다중 기울기 곡선

245-275

Smart Fan IV 모드 5는 여러 기울기로 팬 속도를 제어합니다. 온도가 오르면 칩은 현재 기울기에 따라 DC 또는 PWM 출력을 계산합니다.

칩 종류에 따라 데이터 점은 최대 7개입니다. 뒤의 점일수록 더 높은 온도와 더 높은 PWM 값을 설정해야 온도 상승에 따라 팬 속도가 커집니다. 마지막 점은 팬을 최대 속도로 돌려야 하는 임계 온도 모드입니다.

`auto_point[1-7]_pwm`은 대응 온도 범위에서 쓸 PWM 값, `auto_point[1-7]_temp`는 그 PWM을 활성화하는 온도입니다. `temp_tolerance`, `crit_temp_tolerance`, `step_up_time`, `step_down_time`은 일반·임계 온도 허용 오차와 가감속 지연을 정합니다.

Smart Fan IV 곡선
속성역할
auto_point[1-7]_tempPWM 점을 활성화하는 온도
auto_point[1-7]_pwm해당 온도 구간의 출력
temp_tolerance일반 온도 허용 오차
crit_temp_tolerance임계 온도 허용 오차
step_up_time/step_down_time속도 증감 전 지연
마지막 데이터 점임계 온도, 최대 팬 속도

최대 7개 온도·PWM 점으로 증가 곡선을 구성합니다.

Smart Fan IV 보간
온도·PWM 데이터 점 정렬현재 온도 구간 선택기울기에 따라 출력 계산가감속 지연 적용마지막 점에서 최대 속도 적용

현재 온도에 맞는 곡선 구간과 출력을 선택합니다.

Smart Fan IV mode (5)
---------------------

This mode offers multiple slopes to control the fan speed. The slopes can be
controlled by setting the pwm and temperature attributes. When the temperature
rises, the chip will calculate the DC/PWM output based on the current slope.
There are up to seven data points depending on the chip type. Subsequent data
points should be set to higher temperatures and higher pwm values to achieve
higher fan speeds with increasing temperature. The last data point reflects
critical temperature mode, in which the fans should run at full speed.

pwm[1-7]_auto_point[1-7]_pwm
                        pwm value to be set if temperature reaches matching
                        temperature range.

pwm[1-7]_auto_point[1-7]_temp
                        Temperature over which the matching pwm is enabled.

pwm[1-7]_temp_tolerance
                        Temperature tolerance, unit millidegree Celsius

pwm[1-7]_crit_temp_tolerance
                        Temperature tolerance for critical temperature,
                        unit millidegree Celsius

pwm[1-7]_step_up_time
                        milliseconds before fan speed is increased

pwm[1-7]_step_down_time
                        milliseconds before fan speed is decreased

ASUS CPUTIN과 NCT6799 식별 주의

276-289

여러 ASUS NCT6776F 보드에서 CPUTIN은 연결되지 않아 부동하거나 비표준 온도 장치에 연결된 것으로 보입니다. 따라서 값이 비정상적으로 높거나 실제 온도가 오를 때 보고값이 내려갈 수도 있어 유효한 온도로 사용할 수 없습니다.

ASUS 보드에서는 CPUTIN을 무시하고 PECI 0 또는 TSI 0에서 보고되는 CPU 온도를 사용해야 합니다.

NCT6796D-S와 NCT6799D-R은 매우 유사하고 `chip_id`로 서로 다른 버전임을 나타냅니다. 드라이버는 두 칩을 같은 방식으로 처리합니다.

사용 시 주의사항
대상권고
ASUS NCT6776F CPUTIN값이 부동·역방향일 수 있으므로 무시
ASUS CPU 온도PECI 0 또는 TSI 0 사용
NCT6796D-SNCT6799D-R과 동일 처리
NCT6799D-Rchip_id는 다르지만 동일 처리

신뢰할 수 없는 센서와 동등 처리되는 칩을 정리합니다.

ASUS 온도 선택
보드 제조사 확인CPUTIN 값의 비정상 동작 인지CPUTIN 제외PECI 0 또는 TSI 0 선택CPU 온도 감시 지속

잘못된 CPUTIN 대신 신뢰 가능한 CPU 소스를 선택합니다.

Usage Notes
-----------

On various ASUS boards with NCT6776F, it appears that CPUTIN is not really
connected to anything and floats, or that it is connected to some non-standard
temperature measurement device. As a result, the temperature reported on CPUTIN
will not reflect a usable value. It often reports unreasonably high
temperatures, and in some cases the reported temperature declines if the actual
temperature increases (similar to the raw PECI temperature value - see PECI
specification for details). CPUTIN should therefore be ignored on ASUS
boards. The CPU temperature on ASUS boards is reported from PECI 0 or TSI 0.

NCT6796D-S and NCT6799D-R chips are very similar and their chip_id indicates
they are different versions. This driver treats them the same way.