요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Kernel driver w83793
====================
Supported chips:
* Winbond W83793G/W83793R
Prefix: 'w83793'
Addresses scanned: I2C 0x2c - 0x2f
Datasheet: Still not published
Authors:
- Yuan Mu (Winbond Electronics)
- Rudolf Marek <r.marek@assembler.cz>
Module parameters
-----------------
* reset int
(default 0)
This parameter is not recommended, it will lose motherboard specific
settings. Use 'reset=1' to reset the chip when loading this module.
* force_subclients=bus,caddr,saddr1,saddr2
This is used to force the i2c addresses for subclients of
a certain chip. Typical usage is `force_subclients=0,0x2f,0x4a,0x4b`
to force the subclients of chip 0x2f on bus 0 to i2c addresses
0x4a and 0x4b.
Description
-----------
This driver implements support for Winbond W83793G/W83793R chips.
* Exported features
This driver exports 10 voltage sensors, up to 12 fan tachometer inputs,
6 remote temperatures, up to 8 sets of PWM fan controls, SmartFan
(automatic fan speed control) on all temperature/PWM combinations, 2
sets of 6-pin CPU VID input.
* Sensor resolutions
If your motherboard maker used the reference design, the resolution of
voltage0-2 is 2mV, resolution of voltage3/4/5 is 16mV, 8mV for voltage6,
24mV for voltage7/8. Temp1-4 have a 0.25 degree Celsius resolution,
temp5-6 have a 1 degree Celsiis resolution.
* Temperature sensor types
Temp1-4 have 2 possible types. It can be read from (and written to)
temp[1-4]_type.
- If the value is 3, it starts monitoring using a remote termal diode
(default).
- If the value is 6, it starts monitoring using the temperature sensor
in Intel CPU and get result by PECI.
Temp5-6 can be connected to external thermistors (value of
temp[5-6]_type is 4).
* Alarm mechanism
For voltage sensors, an alarm triggers if the measured value is below
the low voltage limit or over the high voltage limit.
For temperature sensors, an alarm triggers if the measured value goes
above the high temperature limit, and wears off only after the measured
value drops below the hysteresis value.
For fan sensors, an alarm triggers if the measured value is below the
low speed limit.
* SmartFan/PWM control
If you want to set a pwm fan to manual mode, you just need to make sure it
is not controlled by any temp channel, for example, you want to set fan1
to manual mode, you need to check the value of temp[1-6]_fan_map, make
sure bit 0 is cleared in the 6 values. And then set the pwm1 value to
control the fan.
Each temperature channel can control all the 8 PWM outputs (by setting the
corresponding bit in tempX_fan_map), you can set the temperature channel
mode using temp[1-6]_pwm_enable, 2 is Thermal Cruise mode and 3
is the SmartFanII mode. Temperature channels will try to speed up or
slow down all controlled fans, this means one fan can receive different
PWM value requests from different temperature channels, but the chip
will always pick the safest (max) PWM value for each fan.
In Thermal Cruise mode, the chip attempts to keep the temperature at a
predefined value, within a tolerance margin. So if tempX_input >
thermal_cruiseX + toleranceX, the chip will increase the PWM value,
if tempX_input < thermal_cruiseX - toleranceX, the chip will decrease
the PWM value. If the temperature is within the tolerance range, the PWM
value is left unchanged.
SmartFanII works differently, you have to define up to 7 PWM, temperature
trip points, defining a PWM/temperature curve which the chip will follow.
While not fundamentally different from the Thermal Cruise mode, the
implementation is quite different, giving you a finer-grained control.
* Chassis
If the case open alarm triggers, it will stay in this state unless cleared
by writing 0 to the sysfs file "intrusion0_alarm".
* VID and VRM
The VRM version is detected automatically, don't modify the it unless you
*do* know the cpu VRM version and it's not properly detected.
Notes
-----
Only Fan1-5 and PWM1-3 are guaranteed to always exist, other fan inputs and
PWM outputs may or may not exist depending on the chip pin configuration.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
지원 장치와 모듈 매개변수
1-34이 드라이버는 Winbond W83793G/W83793R을 지원합니다. 접두사는 `w83793`이고 검색하는 I2C 주소는 `0x2c`부터 `0x2f`까지입니다. 데이터시트는 아직 공개되지 않았습니다. 작성자는 Winbond Electronics의 Yuan Mu와 Rudolf Marek입니다.
정수 매개변수 `reset`의 기본값은 0입니다. 이 옵션은 메인보드 고유 설정을 잃게 하므로 권장하지 않습니다. 모듈을 적재할 때 칩을 재설정해야 할 때만 `reset=1`을 사용합니다.
`force_subclients=bus,caddr,saddr1,saddr2`는 특정 칩의 하위 클라이언트 I2C 주소를 강제합니다. 일반적인 예 `force_subclients=0,0x2f,0x4a,0x4b`는 버스 0의 칩 `0x2f`에 대한 하위 클라이언트를 `0x4a`, `0x4b`에 지정합니다.
공개 정보와 안전 주의를 정리합니다.
보드 설정을 보존하면서 장치와 하위 클라이언트를 연결합니다.
Kernel driver w83793
====================
Supported chips:
* Winbond W83793G/W83793R
Prefix: 'w83793'
Addresses scanned: I2C 0x2c - 0x2f
Datasheet: Still not published
Authors:
- Yuan Mu (Winbond Electronics)
- Rudolf Marek <r.marek@assembler.cz>
Module parameters
-----------------
* reset int
(default 0)
This parameter is not recommended, it will lose motherboard specific
settings. Use 'reset=1' to reset the chip when loading this module.
* force_subclients=bus,caddr,saddr1,saddr2
This is used to force the i2c addresses for subclients of
a certain chip. Typical usage is `force_subclients=0,0x2f,0x4a,0x4b`
to force the subclients of chip 0x2f on bus 0 to i2c addresses
0x4a and 0x4b.
내보내는 기능과 센서 해상도
35-72드라이버는 전압 센서 10개, 팬 회전계 입력 최대 12개, 원격 온도 6개, PWM 팬 제어 최대 8세트, 모든 온도/PWM 조합의 SmartFan 자동 팬 속도 제어와 6핀 CPU VID 입력 2세트를 내보냅니다.
메인보드 제조사가 기준 설계를 사용했다면 `voltage0`~`voltage2`의 해상도는 2mV, `voltage3`~`voltage5`는 16mV, `voltage6`은 8mV, `voltage7`~`voltage8`은 24mV입니다. `temp1`~`temp4`는 0.25°C, `temp5`~`temp6`은 1°C 해상도입니다.
`temp1`~`temp4`는 두 센서 유형 중 하나를 가지며 `temp[1-4]_type`으로 읽고 쓸 수 있습니다. 값 3은 기본값인 원격 열 다이오드 감시를 시작하고, 값 6은 Intel CPU 내부 온도 센서를 PECI로 읽습니다. `temp5`~`temp6`은 외부 서미스터를 연결할 수 있으며 `temp[5-6]_type` 값은 4입니다.
전압 센서는 측정값이 하한 아래 또는 상한 위일 때 경보를 냅니다. 온도 센서는 상한을 넘으면 경보가 발생하고 히스테리시스 값 아래로 내려가야 해제됩니다. 팬 센서는 측정 속도가 하한 아래일 때 경보를 냅니다.
채널 수, 해상도와 유형 값을 정리합니다.
센서 유형을 선택하고 각 측정값을 임계값과 비교합니다.
Description
-----------
This driver implements support for Winbond W83793G/W83793R chips.
* Exported features
This driver exports 10 voltage sensors, up to 12 fan tachometer inputs,
6 remote temperatures, up to 8 sets of PWM fan controls, SmartFan
(automatic fan speed control) on all temperature/PWM combinations, 2
sets of 6-pin CPU VID input.
* Sensor resolutions
If your motherboard maker used the reference design, the resolution of
voltage0-2 is 2mV, resolution of voltage3/4/5 is 16mV, 8mV for voltage6,
24mV for voltage7/8. Temp1-4 have a 0.25 degree Celsius resolution,
temp5-6 have a 1 degree Celsiis resolution.
* Temperature sensor types
Temp1-4 have 2 possible types. It can be read from (and written to)
temp[1-4]_type.
- If the value is 3, it starts monitoring using a remote termal diode
(default).
- If the value is 6, it starts monitoring using the temperature sensor
in Intel CPU and get result by PECI.
Temp5-6 can be connected to external thermistors (value of
temp[5-6]_type is 4).
* Alarm mechanism
For voltage sensors, an alarm triggers if the measured value is below
the low voltage limit or over the high voltage limit.
For temperature sensors, an alarm triggers if the measured value goes
above the high temperature limit, and wears off only after the measured
value drops below the hysteresis value.
For fan sensors, an alarm triggers if the measured value is below the
low speed limit.
SmartFan/PWM, 섀시와 구성 주의
73-113PWM 팬을 수동 모드로 설정하려면 어떤 온도 채널에도 제어되지 않게 해야 합니다. 예를 들어 fan1을 수동으로 제어하려면 `temp[1-6]_fan_map` 여섯 값에서 모두 비트 0이 지워졌는지 확인한 뒤 `pwm1` 값을 설정합니다.
각 온도 채널은 `tempX_fan_map`의 해당 비트를 설정해 8개 PWM 출력을 모두 제어할 수 있습니다. `temp[1-6]_pwm_enable`로 온도 채널 모드를 설정하며 값 2는 Thermal Cruise, 3은 SmartFanII입니다. 온도 채널들은 연결된 모든 팬을 빠르게 또는 느리게 하므로 팬 하나가 여러 온도 채널에서 서로 다른 PWM 요청을 받을 수 있습니다. 칩은 팬마다 가장 안전한 값, 즉 최대 PWM을 선택합니다.
Thermal Cruise는 허용폭 안에서 미리 정한 온도를 유지합니다. `tempX_input > thermal_cruiseX + toleranceX`이면 PWM을 높이고, `tempX_input < thermal_cruiseX - toleranceX`이면 낮춥니다. 허용 구간 안에서는 PWM 값을 바꾸지 않습니다.
SmartFanII는 최대 7개의 PWM·온도 전환점을 정의해 칩이 따라갈 PWM/온도 곡선을 만듭니다. 기본 목적은 Thermal Cruise와 크게 다르지 않지만 구현이 다르며 더 세밀하게 제어할 수 있습니다.
케이스 열림 경보는 `intrusion0_alarm` sysfs 파일에 0을 쓰기 전까지 유지됩니다. VRM 버전은 자동 감지하므로 CPU VRM 버전을 정확히 알고 자동 감지가 틀렸을 때가 아니면 수정하지 않아야 합니다.
Fan1~Fan5와 PWM1~PWM3만 항상 존재한다고 보장됩니다. 나머지 팬 입력과 PWM 출력은 칩의 핀 구성에 따라 있을 수도, 없을 수도 있습니다.
팬 맵, 자동 모드와 항상 존재하는 채널을 정리합니다.
온도 채널별 요청을 모아 팬마다 안전한 출력을 선택합니다.
* SmartFan/PWM control
If you want to set a pwm fan to manual mode, you just need to make sure it
is not controlled by any temp channel, for example, you want to set fan1
to manual mode, you need to check the value of temp[1-6]_fan_map, make
sure bit 0 is cleared in the 6 values. And then set the pwm1 value to
control the fan.
Each temperature channel can control all the 8 PWM outputs (by setting the
corresponding bit in tempX_fan_map), you can set the temperature channel
mode using temp[1-6]_pwm_enable, 2 is Thermal Cruise mode and 3
is the SmartFanII mode. Temperature channels will try to speed up or
slow down all controlled fans, this means one fan can receive different
PWM value requests from different temperature channels, but the chip
will always pick the safest (max) PWM value for each fan.
In Thermal Cruise mode, the chip attempts to keep the temperature at a
predefined value, within a tolerance margin. So if tempX_input >
thermal_cruiseX + toleranceX, the chip will increase the PWM value,
if tempX_input < thermal_cruiseX - toleranceX, the chip will decrease
the PWM value. If the temperature is within the tolerance range, the PWM
value is left unchanged.
SmartFanII works differently, you have to define up to 7 PWM, temperature
trip points, defining a PWM/temperature curve which the chip will follow.
While not fundamentally different from the Thermal Cruise mode, the
implementation is quite different, giving you a finer-grained control.
* Chassis
If the case open alarm triggers, it will stay in this state unless cleared
by writing 0 to the sysfs file "intrusion0_alarm".
* VID and VRM
The VRM version is detected automatically, don't modify the it unless you
*do* know the cpu VRM version and it's not properly detected.
Notes
-----
Only Fan1-5 and PWM1-3 are guaranteed to always exist, other fan inputs and
PWM outputs may or may not exist depending on the chip pin configuration.
요약·해설
w83793.rst:1-113W83793은 6개 온도 채널이 최대 8개 PWM을 함께 제어하며 여러 요청 중 가장 안전한 최대 PWM을 선택합니다.
원문 분량과 핵심 기능을 요약합니다.
장치 탐지부터 센서와 팬 제어 제공까지의 순서입니다.