HWMON 部署、调试、监控与安全建议

HWMON 部署、调试、监控与安全建议

1. 枚举

1
2
3
4
5
6
for h in /sys/class/hwmon/hwmon*; do
echo "== $h =="
cat "$h/name" 2>/dev/null
readlink -f "$h/device"
ls "$h"
done

2. lm-sensors

1
2
sensors
sensors -u

嵌入式 DT 平台不要无差别运行 sensors-detect --auto;它会探测 I2C地址,某些非 sensor设备不安全。优先使用原理图和 DTS。

3. 分层排障

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
没有 hwmonN
-> final .config
-> module loaded
-> DTS status/compatible/address
-> bus controller
-> probe errno

有 hwmonN 无属性
-> name
-> chip variant/capability
-> is_visible/channel info

属性读取失败
-> I2C/SPI error
-> power/reset
-> CRC/PEC
-> conversion ready
-> runtime PM

值不合理
-> ABI unit
-> shunt/divider/PPR
-> signed conversion
-> stale cache
-> calibration

4. 动态调试

1
2
3
mount -t debugfs none /sys/kernel/debug
echo 'file drivers/hwmon/pwm-fan.c +p' \
> /sys/kernel/debug/dynamic_debug/control

也可针对具体 sensor、PMBus core、I2C core。高频日志会改变时序并占用存储。

5. Trace

1
2
echo 1 > /sys/kernel/debug/tracing/events/hwmon/enable
cat /sys/kernel/debug/tracing/trace_pipe

用于定位高频 poll、write来源和延迟。生产环境设置频率限制。

6. Poll interval

监控周期不应远小于 sensor conversion/update interval。典型板级健康监控 1–5 秒已足够;过密读取增加总线、功耗和锁竞争,数据却不更新。

7. 告警

不要只依赖轮询:

  • 配置 hardware threshold;
  • 使用 alarm IRQ/uevent(若驱动支持);
  • 与 thermal critical trip配合;
  • daemon设置 debounce/hysteresis;
  • 记录 sensor read failure。

8. 权限

只读 sensor可开放给普通监控用户;以下应限制:

  • PWM;
  • threshold;
  • update interval;
  • power cap;
  • reset history;
  • chip-specific control。

错误写值可能停风扇、屏蔽 alarm或造成热损坏。使用 udev group和最小权限,不要全局 chmod 666。

9. 容器

不应把整个 /sys 可写挂载给容器。若需监控:

  • host exporter采集;
  • 只读代理;
  • 精确 bind mount;
  • 禁止直接写 PWM/threshold。

10. 稳定性

  • 不写死 hwmonN;
  • 数据附带 timestamp和 sensor identity;
  • 标记 stale/invalid;
  • 对突变做物理范围验证但保留原始错误;
  • 监控 fan command 与 fan RPM 一致性;
  • 做环境温度、高低负载和 suspend/resume测试。

11. RK3588 建议

  • SoC 热保护以 thermal zone/trip 为主;
  • hwmon用于外部 sensor和 fan可观测性;
  • 明确 generic thermal 与 Rockchip notifier 的 fan控制权;
  • 产品最终镜像检查 SENSORS_PWM_FAN
  • 编解码压力测试同时记录 CPU/GPU/NPU devfreq、温度、PWM/RPM和 throttling。

文章互动

阅读 --

留言

0 条留言

正在加载留言…