Agent Skills
返回列表
💻

Jetson BSP 风扇曲线定制

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 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 工程师