AGX Orin custom carrier board otg issue

Hi Nvidia,

目前在Jetpack 6 有遇到 otg 異常問題

以下是我們otg部分的硬體配置

VBUS => PZ.01
VID => PEE.05

會遇到異常的手法如下:

開機時不接任何usb設備, 進入OS後插入 micro-usb 轉 Type A 隨身碟後就會跳出一連串錯誤 ( 詳細如 dmesg.log )

另外,有透過以下指令檢查狀態, 狀態是可以正常切換的 ( none / host / device )

cat /sys/class/usb_role/usb2-0-role-switch/role

再麻煩協助有可能造成這段錯誤訊息的原因

Thanks.

dmesg.log (67.9 KB)
tegra234-p3701-0004-orin.dts.txt (311.9 KB)

Hi @ztna5483

I notice you said “開機時不接任何usb設備”. So this issue won’t happen if you connect some usb device during boot? Just want to know more detail about this issue.

對, 我只要隨便接一個 usb2.0 的裝置開機

之後進入OS接上 micro-usb to Type A 隨身碟(host)

就不會跳出這些異常

Hi,

Did you ever configure this board on rel-35 before? Just want to know if a new issue on rel-36.

先前我們在 Jetpack5.0.2, 5.1.1 沒有這個問題

Hi,

Could you provide “micro-usb to Type A 隨身碟” vendor and model information, and attach its picture?

Hi @WayneWWW ,

SanDisk Cruzer Blade 16G

ADATA C008 32GB

BENEVO micro-USB to USB Type A

UGREEN micro-USB to USB Type A

Hi,

I mean also the adapter you are using. Not only USB drive.

Hi @WayneWWW ,

已附上

Hi @ztna5483

We notice something weird here.

From the log, it seems there is a USB 2.0 hub connected before booting because the USB hub is detected at kernel time 2.318s. This means no matter what situation, there is always a usb device (hub) connected on Jetson since the beginning. Could you confirm if that is true?

[ 2.479336] hub 1-4:1.0: USB hub found
[ 2.479873] hub 1-4:1.0: 4 ports detected

And I don’t observe there is other USB device connected before the “xHCI host controller not responding”. Only see USB device mode gadgets are enabled and disabled before “xHCI host controller not responding”.
If there is usb adapter + usb driver connected, then there should have device connected info first.

Hi @WayneWWW

我們有接一顆 on board 的 usb 2.0 hub,

前陣子我有問 usb 相關的問題, 這是目前 usb 線路的配置:AGX Orin usb reboot issue

這邊為了釐清可能與先前硬體設計問題有關, 有先請我們的硬體先將這顆 usb2.0 hub 斷電;
(不過 dts usb3-0, usb3-1, usb3-2 的 “nvidia,usb2-companion” node 沒做修改, 因為我不確定這邊沒接的話要填什麼值? )

但結果還是會遇到“xHCI host controller not responding” 錯誤

dmesg.log (63.5 KB)

If it is not in use, then you should disable those usb nodes in the device tree too.

Please attach your log after you have done this.

Hi @WayneWWW

但我的 usb 3.0 的訊號還是有接的

只是沒有同時用到 usb3.0 + usb2.0 訊號

所以 nvidia,usb2-companion = <N>;

是可以刪除的? 類似以下這樣:

usb3-0 {
        status = "okay";
       };
usb3-1 {
        status = "okay";
       };
usb3-2 {
        status = "okay";
       };

It looks like you still have hardware design mistake… every usb3 signal must have one usb2 signal as companion.

好, 我了解了

我再請我們硬體協助, 後續再回報狀況

Thanks.

Hi @WayneWWW

已請我們的硬體協助修改線路, 確認先前 usb問題 可以解決

不過 otg 仍有問題…

同樣是開機不接任何的usb設備,

進入OS後在接上 micro-usb to Type A 隨身碟

就會出現“xHCI host controller not responding” 錯誤

附上修改線路後的 dts & dmesg

dmesg.txt (64.7 KB)
tegra234-p3701-0004-orin.dts.txt (311.9 KB)

Hi,

We got similar issue reported from other partner but their reproduce method is on NV devkit.

We will check their case first and see if it could resolve your case.

1 Like

Hi @ztna5483

Please check if this kernel patch can resolve your issue.

->kernel/3rdparty/canonical/linux-jammy/kernel-source

diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-tegra.c
index 3e3956a..b9fa693 100644
--- a/drivers/usb/host/xhci-tegra.c
+++ b/drivers/usb/host/xhci-tegra.c
@@ -1371,6 +1371,7 @@
    tegra->otg_usb3_port = tegra_xusb_padctl_get_usb3_companion(tegra->padctl,
                                                                    tegra->otg_usb2_port);
 
+   pm_runtime_get_sync(tegra->dev);
      if (tegra->host_mode) {
             /* switch to host mode */
                if (tegra->otg_usb3_port >= 0) {
@@ -1400,6 +1401,7 @@
           }
 
             tegra_xhci_set_port_power(tegra, true, true);
+           pm_runtime_mark_last_busy(tegra->dev);
 
         } else {
               if (tegra->otg_usb3_port >= 0)
@@ -1407,6 +1409,7 @@
 
           tegra_xhci_set_port_power(tegra, true, false);
   }
+ pm_runtime_put_autosuspend(tegra->dev);
1 Like

Hi @WayneWWW

可以, 已解決~

Thanks.

1 Like