Kernel 驱动 f71805f¶
支持的芯片
Fintek F71805F/FG
前缀:‘f71805f’
扫描地址:无,地址从 Super I/O 配置空间读取
数据手册:可从 Fintek 网站获取
Fintek F71806F/FG
前缀:‘f71872f’
扫描地址:无,地址从 Super I/O 配置空间读取
数据手册:可从 Fintek 网站获取
Fintek F71872F/FG
前缀:‘f71872f’
扫描地址:无,地址从 Super I/O 配置空间读取
数据手册:可从 Fintek 网站获取
作者:Jean Delvare <jdelvare@suse.de>
感谢 Barracuda Networks 的 Denis Kieft 捐赠了一个测试系统(定制的 Jetway K8M8MS 主板,带 CPU 和 RAM)并提供了初始文档。
感谢 Fintek 的 Kris Chen 和 Aaron Huang 回答技术问题并提供额外的文档。
感谢 Jetway 的 Chris Lin 提供电路图并回答技术问题。
描述¶
Fintek F71805F/FG Super I/O 芯片包含完整的硬件监控功能。 它可以监控多达 9 个电压(包括其自身的电源)、3 个风扇和 3 个温度传感器。
该芯片还具有风扇控制功能,使用 DC 或 PWM,共有三种不同的模式(一种手动,两种自动)。
Fintek F71872F/FG Super I/O 芯片几乎相同,只是增加了两个内部电压监控(VSB 和电池)。 它还具有 6 个 VID 输入。 此驱动程序尚不支持 VID 输入。
Fintek F71806F/FG Super-I/O 芯片与 F71872F/FG 基本相同,且无法区分。
驱动程序假定不存在多个芯片,这似乎是合理的。
电压监控¶
电压由 8 位 ADC 采样,LSB 为 8 mV。 因此,支持的范围为 0 到 2.040 V。此范围之外的电压值需要外部电阻。 例外是 in0,它用于监控芯片自身的电源(+3.3V),并在内部除以 2。对于 F71872F/FG,in9 (VSB) 和 in10(电池)也在内部除以 2。
电压限制寄存器的两个 LSB 未使用(始终为 0),因此您只能以 32 mV 的步长设置限制(在缩放之前)。
Fintek 建议的布线和电阻值如下
in |
引脚名称 |
用途 |
R1 |
R2 |
分压 |
预期原始值 |
---|---|---|---|---|---|---|
in0 |
VCC |
VCC3.3V |
内部 |
内部 |
2.00 |
1.65 伏 |
in1 |
VIN1 |
VTT1.2V |
10K |
1.00 |
1.20 伏 |
|
in2 |
VIN2 |
VRAM |
100K |
100K |
2.00 |
~1.25 伏 [1] |
in3 |
VIN3 |
VCHIPSET |
47K |
100K |
1.47 |
2.24 伏 [2] |
in4 |
VIN4 |
VCC5V |
200K |
47K |
5.25 |
0.95 伏 |
in5 |
VIN5 |
+12V |
200K |
20K |
11.00 |
1.05 伏 |
in6 |
VIN6 |
VCC1.5V |
10K |
1.00 |
1.50 伏 |
|
in7 |
VIN7 |
VCORE |
10K |
1.00 |
~1.40 伏 [1] |
|
in8 |
VIN8 |
VSB5V |
200K |
47K |
1.00 |
0.95 伏 |
in10 |
VSB |
VSB3.3V |
内部 |
内部 |
2.00 |
1.65 伏 [3] |
in9 |
VBAT |
VBATTERY |
内部 |
内部 |
2.00 |
1.50 伏 [3] |
这些值最多只能用作提示,因为主板制造商可以自由使用完全不同的设置。 事实上,Jetway K8M8MS 使用了截然不同的设置。 您必须找到有关您自己的主板的文档,并相应地编辑 sensors.conf。
每个测量的电压都有相关的低限和高限,超出这些限制会触发警报。
风扇监控¶
风扇转速报告为来自门控时钟信号的 12 位值。 可以测量低至 366 RPM 的速度。 没有理论上的上限,但超过 6000 RPM 的值似乎会导致问题。 有效分辨率远低于您的预期,不同寄存器值之间的步长为 10 而不是 1。
该芯片假定为 2 个脉冲/转风扇。
如果转速降至可编程限值以下或太低而无法测量,则会触发警报。
温度监控¶
温度以摄氏度报告。 每个测量的温度都有一个高限,超过该限制会触发警报。 有一个相关的滞后值,温度必须降至该值以下才能清除警报。
所有温度通道都是外部的,没有嵌入式温度传感器。 每个通道都可用于连接热二极管或热敏电阻。 驱动程序报告当前选择的模式,但不允许更改它。 从理论上讲,BIOS 应该已经正确配置了一切。
风扇控制¶
支持 PWM(脉冲宽度调制)和 DC 风扇速度控制方法。 使用哪种方法取决于主板上的外部电路,因此驱动程序假定 BIOS 正确设置了该方法。 驱动程序将报告该方法,但不允许您更改它。
当使用 PWM 方法时,您可以选择工作频率,从 187.5 kHz(默认)到 31 Hz。 最佳频率取决于风扇型号。 根据经验,较低的频率似乎可以提供更好的控制,但可能会产生令人讨厌的高音噪音。 因此,略高于可听范围的频率(例如 25 kHz)可能是一个不错的选择; 如果这不能为您提供良好的线性控制,请尝试降低它。 Fintek 建议不要低于 1 kHz,因为风扇转速计也会被较低的频率混淆。
当使用 DC 方法时,Fintek 建议不要低于 5 V,这对应于驱动程序的 pwm 值为 106。 但是,驱动程序不会强制执行此限制。
支持三种不同的风扇控制模式; 模式编号写入 pwm<n>_enable 文件。
1:手动模式 您可以通过写入 pwm<n> 文件来请求特定的 PWM 占空比或 DC 电压。
2:温度模式 您可以使用 pwm<n>_auto_point<m>_temp 和 _fan 文件定义 3 个温度/风扇速度跳变点。 这些定义了温度和风扇速度之间的阶梯关系,并在您定义的值之间插入了两个附加点。 当温度低于 auto_point1_temp 时,风扇将关闭。
3:风扇速度模式 您可以通过写入 fan<n>_target 文件来请求特定的风扇速度。
两种自动模式都要求 pwm1 对应于 fan1,pwm2 对应于 fan2,pwm3 对应于 fan3。 温度模式还要求 temp1 对应于 pwm1 和 fan1,依此类推。