Jetson USB 端口定制
通过内核设备树覆盖层安全启用、禁用或调整 Jetson USB 端口角色。
技能明确要求用户确认端口、公开数据分类、禁止ODMDATA和上游BSP修改,并要求预览门控后再提交;但提交复合overlay会产生外部持久化影响,未明确回滚步骤,且权限边界、敏感数据处理和依赖来源说明仍不完整,因此扣分。
SKILL.md及procedure.md详细描述前置条件、三处DT联动、失败症状和拒绝提交条件;但依赖的共享文件、工具和兄弟技能未在本材料中验证,sidecar版本不一致,且静态审查无法复现关键路径,因此按静态上限给9分。
触发条件、适用平台、非适用范围、输入资料和输出位置均较明确,并覆盖自定义载板与参考开发板;但没有中文交互或中国大陆网络适配说明,且部分场景依赖外部适配指南和本地BSP环境,因此扣分。
采用分层SKILL、procedure、gotchas、bindings和sidecar文档,包含许可证、版本和维护团队线索;但缺少明确changelog、更新责任路径和规范化作者格式,BENCHMARK还记录缺少Instructions与Examples章节,且references中仍出现modify-usb旧命名,因此扣分。
目标是生成并验证可直接提交的USB kernel-DT composite overlay,步骤覆盖拓扑、伴随端口、pinmux核验、合并不变量和sidecar;BENCHMARK报告两项正向任务通过,但没有静态可验证的实际输出或硬件结果,仍需用户复核和后续构建刷写,因此受静态上限限制给6分。
文档提供DT路径、phandle、命令、不变量、故障签名和来源类型,BENCHMARK也提供有限评估数据;但没有提交的测试套件、CI覆盖或可独立复现的第三方执行证据,且未提供证据URL,因此给4分。
- 该技能会修改并提交复合DTS;确认前应明确端口、伴随USB2/USB3级联、hub下游影响和提交内容,并准备git回滚方案。
- 不要将BENCHMARK中的PASS视为硬件验证;材料未证明dtc、fdtoverlay或真实Jetson启动结果。
- 执行前需核实共享引用文件、兄弟技能、工具版本及sidecar版本一致性,并补充中文交互和网络可达性方案。
这个 Skill 能做什么,适合哪些场景?
该技能面向 Jetson Thor(Tegra264)或 Orin(Tegra234)自定义载板上的 USB2 和 USB3 SuperSpeed 端口配置。它从设备树、载板原理图和引脚复用资料解析端口布线、USB2 伴随关系、GPIO 和 UPHY 通道,并生成内核设备树覆盖层。每次端口变更会同步更新 PHY lane、端口控制器绑定和 xHCI phys 列表。它不负责 UPHY 通道分配、ODMDATA、pinmux DTSI 修改、DTBO 编译或刷写注册。
检查活动 profile、BSP 源码仓库、载板资料和所需工具;从设备树构建 USB 拓扑及 USB3 到 USB2 的 companion 图;询问要启用或禁用的端口,并提示伴随端口和 hub 扩展影响;通过 pin_verifier.py 核验 VBUS-EN、过流、CC GPIO 和 SS 通道;将 lane、port 以及 xHCI phys/phy-names 的修改写入 composite custom overlay DTS,运行 fdtoverlay 和合并后不变量检查,向 bsp_sources/提交一次变更,并写入运行状态 JSON sidecar。
- Jetson 自定义载板开发者需要启用某个 USB2 或 USB3 接口并匹配实际布线。
- 系统集成者需要禁用 USB hub 或单个端口,同时避免影响其他标准端口。
- 工程师在上电后发现 USB 接口无法枚举,或此前修改导致所有端口 lsusb 为空。
- UPHY 技能重新分配了 USB3 SS 通道后,需要同步更新每端口设备树配置。
- 需要调整 USB host、device 或 OTG 角色,并核对 VBUS、过流和 Type-C CC 引脚。
这个 Skill 有哪些优点和局限?
- 明确处理 lane、port、xHCI phys 列表的三处同步关系,覆盖常见设备树探测失败模式。
- 会解析 companion cascade,并在自定义载板场景中要求原理图和 pinmux XLS,减少凭空推断布线的风险。
- 输出 composite overlay DTS、合并验证结果和运行状态 sidecar,适合纳入 Jetson BSP 工作流。
- 技能文件标注 Apache-2.0;仓库 README 声明整个集合采用 Apache-2.0 与 CC BY-4.0 双许可证。
- 只负责内核设备树覆盖层,不负责 UPHY 分配、pinmux DTSI、DTBO 编译、刷写或 flash-conf 注册。
- 只支持 usb2-0 的 OTG/xudc 约束,其他 USB2 端口和所有 USB3 SS 端口为 host-only。
- 必须依赖 Jetson BSP 源码、设备树、平台文档以及相应载板硬件资料;缺少任一必需自定义载板资料时会拒绝运行。
- 提供的材料没有给出该单项技能的独立测试套件或平台覆盖数据。
如何安装这个 Skill?
使用 NVIDIA 技能集合的 CLI 安装:
npx skills add nvidia/skills --skill jetson-customize-usb --yes
也可以指定 agent,例如:
npx skills add nvidia/skills --skill jetson-customize-usb --agent codex
README 未说明该单项技能的其他独立安装包。技能集合会从产品仓库每日同步,已安装技能可用 npx skills update 更新。
如何使用这个 Skill?
在已加载该技能的 agent 中提出具体请求,例如:“enable USB3 SS on my Jetson custom carrier”或“disable the USB hub and preserve the remaining ports”。运行前应准备活动 profile;自定义载板必须提供 documents.custom_carrier_schematic 和 documents.custom_carrier_pinmux_xls,并确保 /jetson-derive-carrier 已运行。若启用 USB3 SS 需要非标准 UPHY 通道,还必须先运行 jetson-customize-uphy。技能会通过交互问题确认目标端口和后续步骤。
这个 Skill 与同类方案有什么区别?
它与同一工作流中的 jetson-customize-uphy、jetson-customize-pinmux 和 jetson-build-source 是职责互补关系:分别负责 UPHY 通道分配、SFIO/pinmux 修复以及 DTBO 构建和刷写注册;本技能不替代这些步骤。