Dev & Engineering ✓ NVIDIA · Official jetsonlinux-bspdevice-treeusbkernel-overlaytegraxusb

Jetson USB Port Customization

Safely enable, disable, or change Jetson USB port roles through a kernel device-tree overlay.

FollowSkills review · FSRS-2.0
Not recommended
55/ 100 5-point scale 2.8 / 5
Trust18 / 25 · 3.6/5

The skill requires user confirmation for port actions, declares public data classification, forbids ODMDATA and upstream BSP edits, and requires a commit preview gate. However, composing and committing an overlay has persistent external effects, rollback is not explicitly defined, and permission boundaries, sensitive-data handling, and dependency provenance remain incomplete, so points are deducted.

Reliability9 / 20 · 2.3/5

SKILL.md and procedure.md provide detailed prerequisites, the three-place DT update rule, failure signatures, and refusal conditions. However, shared files, tools, and sibling skills are not verified in the supplied material, sidecar versions are inconsistent, and key paths cannot be reproduced statically; the score is therefore constrained to 9.

Adaptability10 / 15 · 3.3/5

Invocation triggers, supported platforms, exclusions, required inputs, and output location are clearly stated for custom and reference carrier workflows. Chinese interaction and mainland-China network fit are not addressed, while some scenarios depend on external adaptation documentation and a local BSP environment, so points are deducted.

Convention8 / 15 · 2.7/5

The skill uses layered SKILL, procedure, gotchas, binding, and sidecar documentation, with license, version, and team ownership clues. It lacks a clear changelog, maintenance/update path, and normalized author format; BENCHMARK also reports missing Instructions and Examples sections, and references retain the older modify-usb naming, so points are deducted.

Effectiveness6 / 15 · 2.0/5

The stated goal is a directly committable USB kernel-DT composite overlay, with coverage of topology, companion cascades, pinmux checks, merge invariants, and sidecar output. BENCHMARK reports two positive tasks passing, but no statically verifiable real output or hardware result is supplied; user review and later build/flash validation remain necessary, so the static cap yields 6.

Verifiability4 / 10 · 2.0/5

The documents provide DT paths, phandles, commands, invariants, failure signatures, and source categories, and BENCHMARK supplies limited evaluation metrics. There is no committed test suite, CI coverage, or independently reproducible third-party execution evidence, and evidence URLs are absent, so the score is 4.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 55f18499943e
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Before you use it
  • The skill modifies and commits a composite DTS; confirm ports, USB2/USB3 companion cascades, hub downstream impact, and commit contents, and prepare a git rollback plan.
  • Do not treat the BENCHMARK PASS as hardware validation; the supplied material does not prove dtc, fdtoverlay, or real Jetson boot results.
  • Before use, verify shared references, sibling skills, tool versions, and sidecar-version consistency, and provide a Chinese interaction and network-reachability plan.
See the full review method →

What does this skill do, and when should you use it?

This skill configures USB2 and USB3 SuperSpeed ports on custom carriers for Jetson Thor (Tegra264) or Orin (Tegra234). It resolves port wiring, USB2 companion relationships, GPIOs, and UPHY lanes from the device tree, carrier schematic, and pinmux documentation, then renders a kernel device-tree overlay. Each port change updates the PHY lane, port-controller binding, and xHCI phys list together. It does not allocate UPHY lanes, edit ODMDATA, patch pinmux DTSI files, compile DTBOs, or register flash configuration.

Checks the active profile, BSP source repository, carrier documents, and required tools; builds the USB topology and USB3-to-USB2 companion graph from the in-tree DTB; asks which ports to enable or disable and exposes companion and hub-fan-out consequences; verifies VBUS-enable, over-current, Type-C CC GPIOs, and SS wiring with pin_verifier.py; writes lane, port, and xHCI phys/phy-names changes into the composite custom overlay DTS, runs fdtoverlay and post-merge invariants, commits the change to bsp_sources/, and writes a run-state JSON sidecar.

  1. A Jetson custom-carrier developer needs to enable a USB2 or USB3 interface according to the actual board wiring.
  2. A system integrator needs to disable a USB hub or individual port without damaging the remaining stock-enabled ports.
  3. An engineer needs to diagnose a USB receptacle that does not enumerate, or repair a previous change that made lsusb empty on every port.
  4. A UPHY lane reallocation has changed USB3 SS assignments and the per-port device tree must follow it.
  5. A developer needs to change USB host, device, or OTG behavior while checking VBUS, over-current, and Type-C CC connections.

What are this skill's strengths and limitations?

Pros
  • Explicitly keeps the lane, port, and xHCI phys-list changes synchronized, addressing common device-tree probe failures.
  • Handles companion cascades and requires schematic and pinmux XLS evidence for custom carriers instead of guessing wiring.
  • Produces a composite overlay DTS, merge validation, and run-state sidecar suitable for a Jetson BSP workflow.
  • The skill is marked Apache-2.0; the repository README states that the collection is dual-licensed under Apache-2.0 and CC BY-4.0.
Limitations
  • It owns only the kernel device-tree overlay, not UPHY allocation, pinmux DTSI changes, DTBO compilation, flashing, or flash-conf registration.
  • Only usb2-0 is OTG/xudc-capable; all other USB2 ports and all USB3 SS ports are host-only.
  • It depends on the Jetson BSP source tree, device tree, platform documentation, and relevant carrier hardware records; it refuses custom-carrier runs when required documents are missing.
  • The supplied material provides no independent test suite or platform-coverage data for this individual skill.

How do you install this skill?

Install the individual skill from NVIDIA's catalog with the skills CLI:

npx skills add nvidia/skills --skill jetson-customize-usb --yes

You can target an agent explicitly:

npx skills add nvidia/skills --skill jetson-customize-usb --agent codex

The README does not document a separate package for this skill. The catalog is synchronized from product repositories daily, and installed skills can be refreshed with npx skills update.

How do you use this skill?

With the skill loaded in an agent, make a concrete request such as “enable USB3 SS on my Jetson custom carrier” or “disable the USB hub and preserve the remaining ports”. Before running it, provide an active profile; for a custom carrier, both documents.custom_carrier_schematic and documents.custom_carrier_pinmux_xls are required, and /jetson-derive-carrier must have run. If an enabled USB3 SS port needs a non-stock UPHY allocation, run jetson-customize-uphy first. The skill uses interactive questions to confirm target ports and downstream steps.

How does this skill compare with similar options?

Within the same workflow, it complements rather than replaces jetson-customize-uphy, jetson-customize-pinmux, and jetson-build-source: those skills own UPHY allocation, SFIO/pinmux fixes, and DTBO build and flash-conf registration respectively.

FAQ

Does this skill edit ODMDATA or flash the device directly?
No. Its scope is explicitly limited to the kernel device-tree overlay; DTBO compilation, OVERLAY_DTB_FILE registration, build, and flashing belong to other Jetson skills.
Can it run when a custom carrier lacks its schematic or pinmux XLS?
No. When custom_carrier is present, both document fields are required. The skill refuses to continue because VBUS, over-current, CC, SS-lane, and hub-fan-out wiring cannot be inferred safely.
Why can disabling one USB2 port affect USB3?
A USB3 port may reference that USB2 port through nvidia,usb2-companion. Disabling the USB2 port requires cascading the change to its SS companion, or the host may report failed to enable PHYs: -19.
Does installation or use require a paid service?
The supplied material does not state that it requires a paid service. Installation uses the npx skills CLI, while execution requires the local Jetson BSP environment and the listed tools and documents.

More skills from this repository

All from NVIDIA/skills

Dev & Engineering ✓ NVIDIA · Official

Jetson PCIe Controller Customizer

Configure per-controller PCIe state, lane width, and link speed on custom Jetson Thor or Orin carriers.

Dev & Engineering ✓ NVIDIA · Official

Jetson Thor MGBE/QSFP Configuration

Enable Jetson Thor 25G, 10G, or 1G MGBE network paths through a kernel device-tree overlay.

Dev & Engineering ✓ NVIDIA · Official

Jetson BSP Source Builder

Rebuild Jetson BSP device trees, kernels, and modules from source changes and produce a deployable artifact manifest.

Dev & Engineering ✓ NVIDIA · Official

Jetson Target Platform Initializer

Create a Jetson target-platform profile for a reference devkit or custom carrier and update the active pointer.

Dev & Engineering ✓ NVIDIA · Official

Jetson Memory Optimizer

Reclaim unused DRAM on headless or no-camera Jetson deployments.

Dev & Engineering ✓ NVIDIA · Official

Jetson CSI Camera Customization

Generate and validate kernel device-tree overlays for MIPI and GMSL cameras on custom Jetson Thor or Orin carriers.

Dev & Engineering ✓ NVIDIA · Official

Jetson Custom Carrier Derivation

Derive a custom Jetson carrier-board fileset from a reference devkit and wire carrier differences through a device-tree overlay.

Dev & Engineering ✓ NVIDIA · Official

Jetson BSP Info Check

Verify Jetson BSP version, board configs, and rootfs state before flashing.

Dev & Engineering ✓ NVIDIA · Official

Jetson Fan Curve Customizer

Safely maintain nvfancontrol fan profiles and boot defaults in a Jetson BSP.

Dev & Engineering ✓ NVIDIA · Official

Jetson BSP Image Validator

Validate a flashed Jetson BSP image on disk and on the target device.

Automation & Ops ✓ NVIDIA · Official

Jetson Device Info Snapshot

Capture a concise software, kernel, OS, and power-mode baseline from a running Jetson target.

Dev & Engineering ✓ NVIDIA · Official

Jetson BSP Image Flasher

Safely flash a promoted Jetson BSP image onto a Jetson device in RCM mode.

Dev & Engineering ✓ NVIDIA · Official

Jetson BSP Quick Start

Choose a Jetson BSP customization path and hand validated intake answers to the right setup skills.

Automation & Ops ✓ NVIDIA · Official

Jetson nvpmodel Power Mode Customizer

Safely customize Jetson BSP power modes, frequency caps, and the boot-default profile.

Dev & Engineering ✓ NVIDIA · Official

Jetson Document Binder

Registers staged Jetson reference documents in the active target profile.

Dev & Engineering ✓ NVIDIA · Official

Jetson Pinmux Customizer

Generate Jetson carrier pinmux BCT configuration from an XLSM.

Automation & Ops ✓ NVIDIA · Official

Jetson BSP Download Assistant

Downloads and stages version-matched Jetson BSP, rootfs, sources, toolchains, and guides for NVIDIA Auto Setup.

Dev & Engineering ✓ NVIDIA · Official

Jetson UPHY Lane Allocation

Configure UPHY lane allocation for Orin and Thor custom carriers.

Dev & Engineering ✓ NVIDIA · Official

Jetson Target Switcher

Switch the active Jetson target among existing platform profiles.

Dev & Engineering ✓ NVIDIA · Official

Jetson Clock Customizer

Lock or cap Jetson CPU, GPU, and EMC clock behavior before flashing a BSP image.

Related skills