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

Linux 6.18.37 · Hardware Monitoring

Kernel driver f71882fg

Fintek F718xx/F8000 계열의 표준 monitoring과 세 fan control mode입니다.

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

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

1. 요약·해설

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

요약·해설

f71882fg.rst:1-193

Super I/O에서 식별하는 Fintek 계열의 PWM·DC·RPM fan control과 역순 temperature zone을 설명합니다.

문서 개요
항목
SourceDocumentation/hwmon/f71882fg.rst
분량193 source lines
Voltage최대 9개
Fan modemanual·auto·thermostat

원문 분량과 핵심 범위입니다.

핵심 흐름
Super I/O 식별표준 sensor 등록BIOS fan method 유지Mode·trip point 설정

장치 동작의 기본 순서입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Kernel driver f71882fg
2 ======================
3
4 Supported chips:
5
6 * Fintek F71808E
7
8 Prefix: 'f71808e'
9
10 Addresses scanned: none, address read from Super I/O config space
11
12 Datasheet: Not public
13
14 * Fintek F71808A
15
16 Prefix: 'f71808a'
17
18 Addresses scanned: none, address read from Super I/O config space
19
20 Datasheet: Not public
21
22 * Fintek F71858FG
23
24 Prefix: 'f71858fg'
25
26 Addresses scanned: none, address read from Super I/O config space
27
28 Datasheet: Available from the Fintek website
29
30 * Fintek F71862FG and F71863FG
31
32 Prefix: 'f71862fg'
33
34 Addresses scanned: none, address read from Super I/O config space
35
36 Datasheet: Available from the Fintek website
37
38 * Fintek F71869F and F71869E
39
40 Prefix: 'f71869'
41
42 Addresses scanned: none, address read from Super I/O config space
43
44 Datasheet: Available from the Fintek website
45
46 * Fintek F71869A
47
48 Prefix: 'f71869a'
49
50 Addresses scanned: none, address read from Super I/O config space
51
52 Datasheet: Not public
53
54 * Fintek F71882FG and F71883FG
55
56 Prefix: 'f71882fg'
57
58 Addresses scanned: none, address read from Super I/O config space
59
60 Datasheet: Available from the Fintek website
61
62 * Fintek F71889FG
63
64 Prefix: 'f71889fg'
65
66 Addresses scanned: none, address read from Super I/O config space
67
68 Datasheet: Available from the Fintek website
69
70 * Fintek F71889ED
71
72 Prefix: 'f71889ed'
73
74 Addresses scanned: none, address read from Super I/O config space
75
76 Datasheet: Should become available on the Fintek website soon
77
78 * Fintek F71889A
79
80 Prefix: 'f71889a'
81
82 Addresses scanned: none, address read from Super I/O config space
83
84 Datasheet: Should become available on the Fintek website soon
85
86 * Fintek F8000
87
88 Prefix: 'f8000'
89
90 Addresses scanned: none, address read from Super I/O config space
91
92 Datasheet: Not public
93
94 * Fintek F81801U
95
96 Prefix: 'f71889fg'
97
98 Addresses scanned: none, address read from Super I/O config space
99
100 Datasheet: Not public
101
102 Note:
103 This is the 64-pin variant of the F71889FG, they have the
104 same device ID and are fully compatible as far as hardware
105 monitoring is concerned.
106
107 * Fintek F81865F
108
109 Prefix: 'f81865f'
110
111 Addresses scanned: none, address read from Super I/O config space
112
113 Datasheet: Available from the Fintek website
114
115 Author: Hans de Goede <[email protected]>
116
117
118 Description
119 -----------
120
121 Fintek F718xx/F8000 Super I/O chips include complete hardware monitoring
122 capabilities. They can monitor up to 9 voltages, 4 fans and 3 temperature
123 sensors.
124
125 These chips also have fan controlling features, using either DC or PWM, in
126 three different modes (one manual, two automatic).
127
128 The driver assumes that no more than one chip is present, which seems
129 reasonable.
130
131
132 Monitoring
133 ----------
134
135 The Voltage, Fan and Temperature Monitoring uses the standard sysfs
136 interface as documented in sysfs-interface, without any exceptions.
137
138
139 Fan Control
140 -----------
141
142 Both PWM (pulse-width modulation) and DC fan speed control methods are
143 supported. The right one to use depends on external circuitry on the
144 motherboard, so the driver assumes that the BIOS set the method
145 properly.
146
147 Note that the lowest numbered temperature zone trip point corresponds to
148 the border between the highest and one but highest temperature zones, and
149 vica versa. So the temperature zone trip points 1-4 (or 1-2) go from high temp
150 to low temp! This is how things are implemented in the IC, and the driver
151 mimics this.
152
153 There are 2 modes to specify the speed of the fan, PWM duty cycle (or DC
154 voltage) mode, where 0-100% duty cycle (0-100% of 12V) is specified. And RPM
155 mode where the actual RPM of the fan (as measured) is controlled and the speed
156 gets specified as 0-100% of the fan#_full_speed file.
157
158 Since both modes work in a 0-100% (mapped to 0-255) scale, there isn't a
159 whole lot of a difference when modifying fan control settings. The only
160 important difference is that in RPM mode the 0-100% controls the fan speed
161 between 0-100% of fan#_full_speed. It is assumed that if the BIOS programs
162 RPM mode, it will also set fan#_full_speed properly, if it does not then
163 fan control will not work properly, unless you set a sane fan#_full_speed
164 value yourself.
165
166 Switching between these modes requires re-initializing a whole bunch of
167 registers, so the mode which the BIOS has set is kept. The mode is
168 printed when loading the driver.
169
170 Three different fan control modes are supported; the mode number is written
171 to the pwm#_enable file. Note that not all modes are supported on all
172 chips, and some modes may only be available in RPM / PWM mode.
173 Writing an unsupported mode will result in an invalid parameter error.
174
175 * 1: Manual mode
176 You ask for a specific PWM duty cycle / DC voltage or a specific % of
177 fan#_full_speed by writing to the pwm# file. This mode is only
178 available on the F71858FG / F8000 if the fan channel is in RPM mode.
179
180 * 2: Normal auto mode
181 You can define a number of temperature/fan speed trip points that specify
182 the percentage at which the fan should run at each temperature, and which
183 temperature sensor a fan should follow, using the standard sysfs interface.
184 The number and type of trip points are chip dependent - see the available
185 files in sysfs.
186 Fan/PWM channel 3 of the F8000 is always in this mode!
187
188 * 3: Thermostat mode (Only available on the F8000 when in duty cycle mode)
189 The fan speed is regulated to keep the temp the fan is mapped to between
190 temp#_auto_point2_temp and temp#_auto_point3_temp.
191
192 All of the automatic modes require that pwm1 corresponds to fan1, pwm2 to
193 fan2 and pwm3 to fan3.
194

3. 한국어 전문 번역

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

F71808·F71858·F71862·F71869 계열

1-60

이 드라이버는 Fintek Super I/O hardware monitoring 계열을 지원합니다. F71808E는 `f71808e`, F71808A는 `f71808a`, F71858FG는 `f71858fg`, F71862FG·F71863FG는 `f71862fg`, F71869F·F71869E는 `f71869`, F71869A는 `f71869a`, F71882FG·F71883FG는 `f71882fg` prefix를 사용합니다.

어느 장치도 일반 주소 scan을 하지 않으며 주소는 Super I/O configuration space에서 읽습니다. F71808E·F71808A·F71869A datasheet는 공개되지 않았고, F71858FG·F71862FG·F71863FG·F71869F·F71869E·F71882FG·F71883FG datasheet는 Fintek website에서 제공합니다.

지원 chip 전반부
ChipPrefixDatasheet
F71808Ef71808e비공개
F71808Af71808a비공개
F71858FGf71858fgFintek 공개
F71862FG, F71863FGf71862fgFintek 공개
F71869F, F71869Ef71869Fintek 공개
F71869Af71869a비공개
F71882FG, F71883FGf71882fgFintek 공개

Chip ID에 따라 선택하는 prefix와 datasheet 상태입니다.

Super I/O 식별
Super I/O configuration 진입Device ID 읽기Hwmon 주소 읽기해당 prefix 선택Sensor channel 등록

Configuration space에서 chip과 monitoring 주소를 함께 찾습니다.

Kernel driver f71882fg
======================

Supported chips:

  * Fintek F71808E

    Prefix: 'f71808e'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Not public

  * Fintek F71808A

    Prefix: 'f71808a'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Not public

  * Fintek F71858FG

    Prefix: 'f71858fg'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Available from the Fintek website

  * Fintek F71862FG and F71863FG

    Prefix: 'f71862fg'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Available from the Fintek website

  * Fintek F71869F and F71869E

    Prefix: 'f71869'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Available from the Fintek website

  * Fintek F71869A

    Prefix: 'f71869a'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Not public

  * Fintek F71882FG and F71883FG

    Prefix: 'f71882fg'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Available from the Fintek website

F71889·F8000·F818 계열

61-117

나머지 지원 장치는 F71889FG `f71889fg`, F71889ED `f71889ed`, F71889A `f71889a`, F8000 `f8000`, F81801U `f71889fg`, F81865F `f81865f`입니다. 모두 Super I/O configuration space에서 주소를 읽으며 일반 scan은 하지 않습니다.

F71889FG와 F81865F datasheet는 Fintek website에서 제공됩니다. F71889ED와 F71889A 자료는 곧 Fintek website에 공개될 예정이라고 기록되어 있고 F8000과 F81801U 자료는 공개되지 않았습니다.

F81801U는 F71889FG의 64-pin variant입니다. 두 장치는 같은 device ID를 사용하며 hardware monitoring 측면에서 완전히 호환됩니다. 저자는 Hans de Goede입니다.

지원 chip 후반부
ChipPrefix비고
F71889FGf71889fgDatasheet 공개
F71889EDf71889edDatasheet 공개 예정
F71889Af71889aDatasheet 공개 예정
F8000f8000Datasheet 비공개
F81801Uf71889fgF71889FG 64-pin, 동일 ID
F81865Ff81865fDatasheet 공개

동일 ID 또는 별도 prefix를 쓰는 후속 계열입니다.

F81801U 호환 처리
공통 device ID 검출64-pin variant 여부와 무관f71889fg prefix 적용동일 hwmon interface 게시

같은 device ID를 F71889FG monitoring 모델로 취급합니다.


  * Fintek F71889FG

    Prefix: 'f71889fg'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Available from the Fintek website

  * Fintek F71889ED

    Prefix: 'f71889ed'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Should become available on the Fintek website soon

  * Fintek F71889A

    Prefix: 'f71889a'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Should become available on the Fintek website soon

  * Fintek F8000

    Prefix: 'f8000'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Not public

  * Fintek F81801U

    Prefix: 'f71889fg'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Not public

    Note:
          This is the 64-pin variant of the F71889FG, they have the
          same device ID and are fully compatible as far as hardware
          monitoring is concerned.

  * Fintek F81865F

    Prefix: 'f81865f'

    Addresses scanned: none, address read from Super I/O config space

    Datasheet: Available from the Fintek website

Author: Hans de Goede <[email protected]>

Hardware monitoring 기능

118-138

Fintek F718xx/F8000 Super I/O chip은 완전한 hardware monitoring 기능을 제공하며 최대 9개 전압, fan 4개, 온도 sensor 3개를 감시합니다.

DC 또는 PWM을 사용하는 fan control 기능도 있고, 수동 mode 1개와 자동 mode 2개의 세 mode를 제공합니다. 드라이버는 chip이 하나보다 많이 존재하지 않는다고 가정합니다.

전압·fan·온도 monitoring은 `sysfs-interface`에 문서화된 표준 sysfs interface를 예외 없이 사용합니다.

F718xx monitoring
그룹최대 채널Interface
Voltage9표준 sysfs
Fan4표준 sysfs
Temperature3표준 sysfs
Fan control3 modesDC 또는 PWM

표준 hwmon sysfs로 제공하는 최대 채널 수입니다.

표준 monitoring
단일 chip 등록Voltage attribute 게시Fan attribute 게시Temperature attribute 게시표준 sysfs 도구로 읽기

별도 예외 없이 공통 hwmon ABI를 사용합니다.

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

Fintek F718xx/F8000 Super I/O chips include complete hardware monitoring
capabilities. They can monitor up to 9 voltages, 4 fans and 3 temperature
sensors.

These chips also have fan controlling features, using either DC or PWM, in
three different modes (one manual, two automatic).

The driver assumes that no more than one chip is present, which seems
reasonable.


Monitoring
----------

The Voltage, Fan and Temperature Monitoring uses the standard sysfs
interface as documented in sysfs-interface, without any exceptions.

Fan 제어 방식과 역순 trip point

139-169

PWM과 DC fan speed control을 모두 지원합니다. 적절한 방식은 motherboard 외부 회로에 달려 있으므로 BIOS가 올바른 method를 설정했다고 가정합니다.

Temperature zone trip point 번호의 방향에 주의해야 합니다. 가장 낮은 번호의 trip point가 가장 높은 zone과 그 바로 아래 zone의 경계에 대응하고 반대쪽도 마찬가지입니다. 따라서 trip point 1~4 또는 1~2는 고온에서 저온 방향으로 내려갑니다. 이는 IC 구현을 드라이버가 그대로 모방한 것입니다.

Fan speed 지정 방식은 두 가지입니다. PWM duty cycle 또는 DC voltage mode에서는 12V에 대한 0~100%를 지정합니다. RPM mode에서는 실제 측정 RPM을 제어하며 `fan#_full_speed`의 0~100%로 속도를 지정합니다. 두 방식 모두 0~100%를 0~255에 mapping하므로 설정 변경 방법은 비슷합니다.

RPM mode에서는 0~100%가 `fan#_full_speed`의 비율이라는 점이 핵심 차이입니다. BIOS가 RPM mode와 함께 올바른 `fan#_full_speed`를 설정한다고 가정하며, 그렇지 않으면 사용자가 합리적인 값을 지정해야 정상 제어됩니다. Mode 전환에는 많은 register 재초기화가 필요하므로 BIOS가 정한 mode를 유지하고 driver load 때 출력합니다.

Fan speed 표현
Mode0~100% 의미필수 기준
PWM dutyDuty cycle12V에 대한 PWM
DC voltageDC voltage 비율12V 기준
RPM실제 fan speed 비율fan#_full_speed
Trip point고온에서 저온 순서1 -> 4 또는 1 -> 2

BIOS가 정한 method를 유지하면서 공통 0~255 scale을 사용합니다.

Fan method 적용
BIOS가 PWM·DC 및 RPM 방식 설정Driver가 mode 출력0~100%를 0~255로 mappingRPM이면 full_speed 기준 적용역순 trip point 해석

BIOS mode와 channel calibration을 유지해 제어합니다.

Fan Control
-----------

Both PWM (pulse-width modulation) and DC fan speed control methods are
supported. The right one to use depends on external circuitry on the
motherboard, so the driver assumes that the BIOS set the method
properly.

Note that the lowest numbered temperature zone trip point corresponds to
the border between the highest and one but highest temperature zones, and
vica versa. So the temperature zone trip points 1-4 (or 1-2) go from high temp
to low temp! This is how things are implemented in the IC, and the driver
mimics this.

There are 2 modes to specify the speed of the fan, PWM duty cycle (or DC
voltage) mode, where 0-100% duty cycle (0-100% of 12V) is specified. And RPM
mode where the actual RPM of the fan (as measured) is controlled and the speed
gets specified as 0-100% of the fan#_full_speed file.

Since both modes work in a 0-100% (mapped to 0-255) scale, there isn't a
whole lot of a difference when modifying fan control settings. The only
important difference is that in RPM mode the 0-100% controls the fan speed
between 0-100% of fan#_full_speed. It is assumed that if the BIOS programs
RPM mode, it will also set fan#_full_speed properly, if it does not then
fan control will not work properly, unless you set a sane fan#_full_speed
value yourself.

Switching between these modes requires re-initializing a whole bunch of
registers, so the mode which the BIOS has set is kept. The mode is
printed when loading the driver.

Manual·normal auto·thermostat mode

170-193

Fan control mode 번호는 `pwm#_enable`에 씁니다. 모든 chip이 모든 mode를 지원하는 것은 아니며 일부 mode는 RPM 또는 PWM mode에서만 사용할 수 있습니다. 지원하지 않는 mode를 쓰면 invalid parameter error가 발생합니다.

Mode 1 manual에서는 `pwm#`에 특정 PWM duty cycle·DC voltage 또는 `fan#_full_speed`의 특정 비율을 씁니다. F71858FG와 F8000에서는 fan channel이 RPM mode일 때만 manual mode를 사용할 수 있습니다.

Mode 2 normal auto에서는 표준 sysfs interface로 여러 temperature/fan speed trip point와 fan이 따를 temperature sensor를 정합니다. Trip point의 수와 종류는 chip마다 다르므로 실제 sysfs 파일을 확인해야 합니다. F8000의 fan/PWM channel 3은 항상 이 mode입니다.

Mode 3 thermostat은 F8000이 duty cycle mode일 때만 사용할 수 있습니다. Fan이 mapping된 온도를 `temp#_auto_point2_temp`와 `temp#_auto_point3_temp` 사이에 유지하도록 속도를 조절합니다. 모든 automatic mode에서 `pwm1`-`fan1`, `pwm2`-`fan2`, `pwm3`-`fan3` 대응이 필요합니다.

pwm#_enable mode
Mode핵심 동작제약
1Manualpwm# 직접 지정F71858FG/F8000은 RPM channel만
2Normal autoTemperature·speed trip pointF8000 channel 3 고정
3Thermostat두 온도 사이 유지F8000 duty cycle만

Chip과 fan method에 따라 사용 가능성이 달라집니다.

자동 mode 검증
사용 가능한 sysfs 파일 확인pwm#_enable mode 선택Trip point·sensor mapping 설정pwmN과 fanN 대응 확인지원하지 않으면 EINVAL 처리

지원 여부와 channel 대응을 확인한 뒤 설정합니다.

Three different fan control modes are supported; the mode number is written
to the pwm#_enable file. Note that not all modes are supported on all
chips, and some modes may only be available in RPM / PWM mode.
Writing an unsupported mode will result in an invalid parameter error.

* 1: Manual mode
  You ask for a specific PWM duty cycle / DC voltage or a specific % of
  fan#_full_speed by writing to the pwm# file. This mode is only
  available on the F71858FG / F8000 if the fan channel is in RPM mode.

* 2: Normal auto mode
  You can define a number of temperature/fan speed trip points that specify
  the percentage at which the fan should run at each temperature, and which
  temperature sensor a fan should follow, using the standard sysfs interface.
  The number and type of trip points are chip dependent - see the available
  files in sysfs.
  Fan/PWM channel 3 of the F8000 is always in this mode!

* 3: Thermostat mode (Only available on the F8000 when in duty cycle mode)
  The fan speed is regulated to keep the temp the fan is mapped to between
  temp#_auto_point2_temp and temp#_auto_point3_temp.

All of the automatic modes require that pwm1 corresponds to fan1, pwm2 to
fan2 and pwm3 to fan3.