Jetson BSP 风扇曲线定制
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/jetson-customize-fan。
技能介绍
问题背景
在 Jetson / Tegra(T234 Orin、T264 Thor)上,nvfancontrol 按每板配置文件决定温度到 PWM/RPM 的曲线、闭环/开环控制以及启动默认 profile。若直接在 bsp_image 或运行中设备的 /etc 里改文件,要么会在 /jetson-init-image 重新提取时被覆盖,要么破坏 BSP 覆盖层差异跟踪,使 /jetson-promote-image 形同虚设。
技能如何工作
本技能仅在 BSP 侧编辑 rootfs/etc/nvpower/nvfancontrol/ 下落在覆盖层跟踪器中的副本,上游 bsp_image 与 Source 只读。核心能力包括:
- 操作 1–4:添加/删除
FAN_PROFILE、编辑TEMP HYST PWM RPM四列曲线、修改FAN_DEFAULT_PROFILE/FAN_DEFAULT_CONTROL/FAN_DEFAULT_GOVERNOR - 操作 5:列出已定义 profile 与当前启动默认值(只读)
- 按活跃配置解析每板文件名(Orin / Thor / IGX 命名规则不同),并在传播集内向兄弟载波板配置移植变更行,而非整文件覆盖
写入前会走规范的覆盖层编辑配方(原始 import + 定制 commit);完成后需经 Deploy 链(promote → flash,或 scp + systemctl restart nvfancontrol)才能在设备上生效。
适用边界与注意
- 无活跃配置、缺少
bsp_image或Linux_for_Tegra时会路由到 init/set-target 等前置技能 - 曲线应来自平台真实散热/声学数据,禁止跨系列插值或从相邻 profile 瞎编
FAN_DEFAULT_PROFILE必须引用同文件内存在的 profile,否则服务无法启动- 不直接改运行中目标上的
/etc/nvpower/nvfancontrol/;兄弟文件中的THERMAL_GROUP、RPM 上限等载波板差异必须保留
使用场景
- 在 Orin Nano 开发套件上新增 aggressive 风扇 profile 并设为启动默认,再经 promote 与烧录验证整机温升
- 现有 quiet 曲线中段 PWM 偏高导致噪声大,需要在覆盖层里调高 HYST、降低中段占空比后同步到派生载波板配置
- 同一模块 SKU 上有多块 jetson-derive-carrier 生成的 nvfancontrol 兄弟文件,改完活跃板后要把 FAN_PROFILE 变更行移植到传播集
- 删除不再使用的 FAN_PROFILE 前,需确认 FAN_DEFAULT_PROFILE 仍指向有效 profile,避免烧录后 nvfancontrol 无法启动
适合人员
- 维护 Linux_for_Tegra 覆盖层、在 promote 前定制 rootfs 的 BSP 集成工程师
- 为定制载波板做散热验证、需要按实测调整 TEMP–PWM 曲线并保留 THERMAL_GROUP 差异的硬件工程师
- 负责 Jetson 产品镜像交付、要在 quiet / performance 等 profile 间切换启动策略的嵌入式软件负责人
- 在 bring-up 阶段先用 open_loop 固定 PWM 调试、再切 close_loop RPM 目标的板级 bring-up 工程师