查看“︁Photonicat 2 sysfs”︁的源代码
←
Photonicat 2 sysfs
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
= 电源与散热 Sysfs 接口(Battery / Charger / Fan) = 本文档描述路由器上的电源与散热相关 sysfs 接口,包含: * '''/sys/class/power_supply/battery''' * '''/sys/class/power_supply/charger''' * '''/sys/class/thermal/cooling_device0''' (风扇/冷却设备) == 快速上手 == <syntaxhighlight lang="bash"> # 电池电量百分比(%) cat /sys/class/power_supply/battery/capacity # 充电器是否在线(1=在线, 0=离线) cat /sys/class/power_supply/charger/online # 风扇当前档位(0..max_state) cat /sys/class/thermal/cooling_device0/cur_state </syntaxhighlight> ---- == 电池接口 (/sys/class/power_supply/battery) == === 概述 === `battery` 设备提供电池容量、电压、电流与能量等信息,遵循 Linux Power Supply Class 规范。 === 属性说明 === {| class="wikitable" ! 文件 !! 描述 !! 单位 / 取值 |- | capacity || 当前电量百分比 || % |- | current_now || 瞬时电流(正=放电,负=充电) || µA |- | energy_empty || 剩余可用能量 || µWh |- | energy_empty_design || 设计的最小能量 || µWh |- | energy_full || 当前满电容量 || µWh |- | energy_full_design || 设计满电容量 || µWh |- | power_now || 瞬时功率 || µW |- | voltage_now || 当前电压 || µV |- | voltage_max_design || 设计最大电压 || µV |- | voltage_min_design || 设计最小电压 || µV |- | status || 充放电状态(`Charging`/`Discharging`/`Full` 等) || 字符串 |- | technology || 化学类型(如 `Li-ion`) || 字符串 |- | type || 通常为 `Battery` || 字符串 |- | model_name || 电池型号 || 字符串 |- | device, hwmon0, of_node, power, subsystem, uevent, wakeup1 || 内部引用/目录 || — |} === 使用示例 === <syntaxhighlight lang="bash"> cat /sys/class/power_supply/battery/capacity cat /sys/class/power_supply/battery/voltage_now cat /sys/class/power_supply/battery/status </syntaxhighlight> ---- == 充电器接口 (/sys/class/power_supply/charger) == === 概述 === `charger` 设备提供外部电源(AC/USB)连接状态与电压等信息。 === 属性说明 === {| class="wikitable" ! 文件 !! 描述 !! 单位 / 取值 |- | online || 充电器是否连接(1=是,0=否) || 布尔 |- | voltage_now || 充电器输入电压 || µV |- | type || 设备类型(`Mains`/`USB` 等) || 字符串 |- | device, hwmon1, of_node, power, subsystem, uevent, wakeup2 || 内部引用/目录 || — |} === 使用示例 === <syntaxhighlight lang="bash"> cat /sys/class/power_supply/charger/online cat /sys/class/power_supply/charger/voltage_now cat /sys/class/power_supply/charger/type </syntaxhighlight> ---- == 风扇 / 冷却设备接口 (/sys/class/thermal/cooling_device0) == === 概述 === `cooling_device0` 表示热管理子系统中的一个冷却设备(风扇等)。你的设备显示类型为 `pcat-pm-fan`,并支持离散档位控制。 === 目录结构(示例) === <syntaxhighlight lang="bash"> /sys/class/thermal/cooling_device0 ├─ cur_state # 当前档位(0..max_state) ├─ max_state # 最大档位(例:9) ├─ type # 冷却设备类型(例:pcat-pm-fan) ├─ power/ # 电源管理目录(目录,非文件) ├─ subsystem/ # 内核子系统链接(目录) └─ uevent # 内核事件信息 </syntaxhighlight> === 属性说明 === {| class="wikitable" ! 文件 !! 描述 !! 单位 / 取值 |- | cur_state || 当前风扇档位(0=关闭或最低档;越大越强) || 整数(0..max_state) |- | max_state || 支持的最大档位(示例中为 9) || 整数 |- | type || 冷却设备类型(你的设备显示为 `pcat-pm-fan`) || 字符串 |- | power, subsystem, uevent || 内部引用/目录 || — |} === 读取与设置示例 === <syntaxhighlight lang="bash"> # 读取最大档位(示例输出:9) cat /sys/class/thermal/cooling_device0/max_state # 读取当前档位 cat /sys/class/thermal/cooling_device0/cur_state # 以 root 身份设置到 5 档(确保 0<=5<=max_state) echo 5 > /sys/class/thermal/cooling_device0/cur_state # 观察档位变化(每秒刷新) watch -n1 'cat /sys/class/thermal/cooling_device0/cur_state' </syntaxhighlight> === 注意事项 === * 档位是离散级别,不等同于百分比或固定 RPM,具体转速映射取决于驱动。 * 若需要查看实际转速(RPM),可在 `hwmon` 下查找 `fan*_input`(如果驱动导出),如:`/sys/class/hwmon/hwmonX/fan1_input`。 * 写入超出范围值会失败或被内核拒绝;请始终在 `0..max_state` 之间操作。 * 需要 root 权限写入 `cur_state`。 * 设备可能不叫 `cooling_device` 而是带索引:`cooling_device0`、`cooling_device1`… 直接进入存在的索引目录。 ---- == 常见问题(基于你的终端输出) == {| class="wikitable" ! 现象 !! 说明/原因 !! 处理方式 |- | <code>cd cooling_device</code> 报错 "No such file or directory" || 目录名带索引,如 <code>cooling_device0</code> || 使用 <code>cd /sys/class/thermal/cooling_device0</code> |- | <code>cat *</code> 出现 "Is a directory" || <code>power</code>、<code>subsystem</code> 是目录,不能 <code>cat</code> || 逐个读取具体文件,如 <code>cat cur_state</code>、<code>cat max_state</code> |- | <code>cat (</code> 报 "syntax error" || shell 将 "(" 视为特殊字符,且命令不完整 || 输入正确命令,如 <code>cat cur_state</code> |} ---- == 单位与规范 == * 除非另有说明,数值使用微单位:电压 µV,电流 µA,功率 µW,能量 µWh。 * 状态与类型字符串遵循 Linux Power Supply / Thermal 子系统惯例。 * 内部文件(如 <code>device</code>、<code>subsystem</code>、<code>uevent</code>)面向内核或系统集成,不建议作为上层业务接口。 == 建议 == * 若需要更友好的用户层接口,可在用户空间提供一个封装脚本或守护进程,将: ** 电池/充电器:统一换算并转成人类可读单位(V、A、W、Wh)。 ** 风扇:将档位映射为百分比或温控曲线(如基于 <code>/sys/class/thermal/thermal_zone*/temp</code>)。 * 运维文档中可附上「温度—风扇档位」策略表与安全温度阈值。
返回
Photonicat 2 sysfs
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息