☰
达妙 Orin V2 载板修改设备树
2026/10/17 12:29:39 网站建设 项目流程

达妙 Orin V2 载板:开启第三路 USB3.0

达妙 Orin V2 有三个 USB3.0 Type-C 接口。在本文使用的系统中,前两路已经开启,第三路 USB3-2 需要修改设备树才能使用。

过程有点长,测试有效,用于指挥AI参考来实现。

1. 确认系统版本

本文实测环境:达妙 Orin V2 + Orin NX(p3767-0000),Ubuntu 24.04,L4T R39.2.1。

查看 L4T 版本:

cat/etc/nv_tegra_release

下面使用的原始设备树文件是:

/boot/dtb/kernel_tegra234-p3768-0000+p3767-0000-nv.dtb

如果系统版本或文件名不同,先核对对应版本的配置,不要直接套用。已经完成配置的设备无需重复操作。

2. 备份并打开设备树

安装编辑工具:

sudoaptupdatesudoaptinstalldevice-tree-compilernano

建立工作目录,备份原文件:

mkdir-p~/damiao-usb3-workcd~/damiao-usb3-workcp-n/boot/dtb/kernel_tegra234-p3768-0000+p3767-0000-nv.dtb original.dtbcp-n/boot/extlinux/extlinux.conf extlinux.conf.original

把二进制设备树转换成可以编辑的文本:

dtc-Idtb-Odts-ousb3.dts original.dtbnanousb3.dts

转换时可能出现设备树警告;若出现ERROR或没有生成文件,应先解决错误再继续。

3. 修改三处配置

文件中有多个同名节点,编辑时要按下面的完整路径确认位置。修改原节点,不要额外添加同名节点。

第一处:开启 USB3-2 通道

找到/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2,把disabled改成okay,并在节点名前加上usb3_extra:标签:

usb3_extra: usb3-2 { nvidia,function = "xusb"; status = "okay"; #phy-cells = <0x00>; };

标签用于在后面引用这条通道,编译器会自动处理编号。如果原节点还有其他属性,请保留。

第二处:开启 USB3-2 端口

找到/bus@0/padctl@3520000/ports/usb3-2,改为:

usb3-2 { status = "okay"; nvidia,usb2-companion = <1>; };

这里的1表示与 USB2-1 配对。达妙 V2 按官方手册使用 1,参考博客中的 2 不适用于本文的 V2 接线。

第三处:让 USB 控制器使用这条通道

找到/bus@0/usb@3610000,在phys和phy-names两个列表末尾分别追加&usb3_extra和"usb3-2"。

本文原始文件修改后如下:

phys = <0xfc 0xfe 0xff 0x100 0xfd &usb3_extra>; phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1", "usb3-2";

保留你原文件中的编号和顺序,只追加最后一项。两个列表的条目需要一一对应。其余 USB 配置不用修改。

在 nano 中按Ctrl+O、回车保存,再按Ctrl+X退出。

4. 编译并安装

在工作目录中编译:

dtc-Idts-Odtb-otegra234-damiao-v2-usb3-r39.dtb usb3.dts

确认没有ERROR后,将新文件放入启动目录:

sudoinstall-m0644 tegra234-damiao-v2-usb3-r39.dtb /boot/dtb/sudocp-n/boot/extlinux/extlinux.conf /boot/extlinux/extlinux.conf.pre-damiao-usb3sudonano/boot/extlinux/extlinux.conf

在启动配置中,复制原来的LABEL primary整段启动项,保留原项作为备用。对复制出的新项做三处修改:

  1. 将LABEL primary改为LABEL damiao-usb3。
  2. 将MENU LABEL后面的显示名称改为DAMIAO V2 USB3。
  3. 添加一行FDT /boot/dtb/tegra234-damiao-v2-usb3-r39.dtb。

新项结构应类似下面这样。这只是结构示意,APPEND必须完整沿用原文件中的那一行,不能填入省略号。

LABEL damiao-usb3 MENU LABEL DAMIAO V2 USB3 LINUX /boot/Image INITRD /boot/initrd FDT /boot/dtb/tegra234-damiao-v2-usb3-r39.dtb APPEND ……完整保留原启动参数……

最后,把文件顶部的DEFAULT primary改为:

DEFAULT damiao-usb3

以上步骤适用于原启动项没有FDT或设备树 overlay 配置的情况;如果已有这些配置,需要先核对,避免丢失已有设置。

保存文件、保存其他工作,然后重启:

sudoreboot

5. 验证是否成功

重启后检查第三路通道和端口:

tr'\0''\n'</proc/device-tree/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2/statustr'\0''\n'</proc/device-tree/bus@0/padctl@3520000/ports/usb3-2/statustr'\0''\n'</proc/device-tree/bus@0/usb@3610000/phy-names

前两条应输出okay,第三条的列表应包含usb3-2。

然后把支持 USB3 的 U盘、移动硬盘或 Hub 插入接口,执行:

lsusb-t

找到所插设备对应的那一行:

  • 5000M或10000M:已建立 USB3 连接。
  • 480M:当前以 USB2 连接,需要检查设备、数据线和接口。

用同一套 USB3 设备和数据线依次测试三个 Type-C 接口。仅最上面的root_hub显示10000M,不能证明所插设备已使用 USB3。

本文实测:设备树配置已生效,已有 Hub 建立 5000M 连接;三个物理接口尚未逐口实测。

6. 如何恢复

如果新配置启动异常,在启动菜单选择原来的primary kernel。

进入系统后恢复原启动配置:

sudocp/boot/extlinux/extlinux.conf.pre-damiao-usb3 /boot/extlinux/extlinux.confsudoreboot

原始 DTB 没有被覆盖,恢复启动配置即可停止使用新配置。

参考资料

  • 达妙 USB3 设备树修改资料
  • 达妙 V2 载板手册
  • 用户教程:Jetson Orin NX 烧录与设备树更改

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询