USB function hangs when we test USB devices function

Hi Wayne,

I capture it again
xusb_diag_fw_cu.log (60.4 KB)

[ 99.647926] tegra-xusb 3530000.xhci: controller firmware hang
[ 99.653674] tegra-xusb 3530000.xhci: hcd_reinit is disabled or in progress
[ 103.753396] tegra-xusb 3530000.xhci: xHCI host not responding to stop endpoint command.
[ 103.761395] tegra-xusb 3530000.xhci: Assuming host is dying, halting host.
root@tegra-ubuntu:/home/asus# lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/3p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 480M
root@tegra-ubuntu:/home/asus# ./diagnostic_client_cu -a
Data are saved to “xusb_diag_fw_cu.log”.

1 Like

Hi @Ken_Lin ,

I just diff the file you shared with the file shared by tzuwen_chang, but there is no diff in these two binaries.

Are you sure you uploaded the correct one? Basically, this should not happen because there will have register value diff.

Hi~Wayne,
Sorry, Please refer to the below data:
xusb_diag_fw_cu_1705.log (60.4 KB)

Thanks
Ken

1 Like

Hi,

Just to double confirm, can we use the original usb hub on the devkit to reproduce this issue?

I mean it seems you have a different hub in below.

Connect U3 hub to usb30_0 port is required, we can reproduce this issue with three different usb 3.0 hubs. Since we need produce a heavy traffic by u3 ethernet dongle.

Hi~Wayne,
Yes, you can use the original USB30 hub (RTS5489-GR) of the devkit to reproduce this issue. You can see the below block diagram. This is how we reproduce this issue on devkit. About the USB20 hub of the USB2_2 bus, You can use any USB30 or USB20 hub connected to the USB20_2 bus. We use transcend and DigFusion USB30 hub connected to USB20_2 bus. This issue also can be reproduced. So, I believe the USB issues also can reproduce on any USB20 or USB30 hub.

Our board USB test configration:
USB30_0+USB20_1 → USB30 hub - GL3523T-OTY20
USB20_2–> USB20 hub - GL852GT-OHG12

Devkit USB test configration:
USB30_0+USB20_1 → USB30 hub (RTS5489-GR)
USB20_2–>
DigFusion USB30 hub
http://www.galileo.com.tw/U3H04FF.html
Transcend USB30 hub

Hi Ken,

Let me make a summary of device list, please help confirm.

  1. x1 USB3 to LAN dongole on devkit default usb port.

  2. x1 M.2 key 2230 to USB cable

  3. x1 usb 2.0 hub. Use the cable in (2) to connect to this usb2.0 hub.

  4. x1 USB BT dongole to usb2.0 hub in (3).

Do I also need a LTE module? TzuWen mentioned it but I didn’t see it in your picture. Is that USB to mini-pcie card for this LTE module?

Hi~ Wayne,
Step 1 to 3 is correct. But step 4 needs to add LTE/GPS module to usb20 hub. LTE/GPS module and BT device are required for this issue.

M.2 key 2230 to USB cable:

Do I also need a LTE module? TzuWen mentioned it but I didn’t see it in your picture. Is that USB to mini-pcie card for this LTE module?
Yes, LTE/GPS module is also required. You need to connect BT and LTE/GPS module to the USB20 hub of the USB20_2 bus. We use Quectel EG25-G LTE/GPS module.
image

image

Thanks
Ken

Hi,

Is your dmesg in below coming from devkit test or your board? Please do not mix up logs with these two cases. We only need the log on devkit.

Hi~Wayne,
TX2_180-13636-DAAA-A03 + devkit with our software image test result.
I will upload the other software image test result tomorrow.
TX2_180-13636-DAAA-A03_with devkit_20220317.log (90.0 KB)

Thanks
Ken

Hi~Wayne,
Sorry for late replying to you.
TX2_180-13636-DAAA-A03 + devkit with L4T32.6.1 image test result.
TX2_180-13636-DAAA-A03_with devkit_20220321.log (166.5 KB)

By the way, Do you know how many parameters of USB controller that we can fine-tune in the software??
I think we can test these parameters when we have time.

Thanks
Ken

please refer to the tuning guide.

https://developer.nvidia.com/embedded/downloads#?search=tuning

xusb_sil_rel_fw (121.5 KB)
Hi,

Please replace this usb firmware and see if it can bypass the error.

Hi Wayne,

Looks like the problem still occurs. Could you please help to confirm that our firmware has been updated successfully?

xusb_diag_fw_cu_after.log (60.4 KB)

[ 2760.512449] tegra-xusb 3530000.xhci: controller firmware hang
[ 2760.518193] tegra-xusb 3530000.xhci: hcd_reinit is disabled or in progress
[ 2764.617926] tegra-xusb 3530000.xhci: xHCI host not responding to stop endpoint command.
[ 2764.625925] tegra-xusb 3530000.xhci: Assuming host is dying, halting host.
[ 2764.648809] tegra-xusb 3530000.xhci: Host not halted after 16000 microseconds.
[ 2764.656024] tegra-xusb 3530000.xhci: Non-responsive xHCI host is not halting.
[ 2764.663145] tegra-xusb 3530000.xhci: Completing active URBs anyway.
[ 2764.708406] tegra-xusb 3530000.xhci: HC died; cleaning up
[ 2764.713820] tegra-xusb 3530000.xhci: hcd_reinit is disabled or in progress
[ 2772.714901] tegra-xusb 3530000.xhci: Stopped the command ring failed, maybe the host is dead

Thanks
Ken

Hi,

How did you update firmware?

Hi Wayne,

We put xusb_sil_rel_fw under bootloader folder and then build the full image. After the image build out we flash it by nvmflash.sh.

Thanks
Ken

Hi,

No, that won’t update the usb firmware. USB firmware is inside initrd. Use below method to open the initrd and put the new usb fw into it. If the firmware is changed correctly, your dmesg shall see different usb firmware info.

mkdir initrd; cd initrd;
sudo gunzip -c …/l4t_initrd.img.orig | sudo cpio -i
sudo cp …/xusb_sil_prod_fw-new lib/firmware/tegra18x_xusb_firmware
sudo find . | sudo cpio --quiet -H newc -o | sudo gzip -9 -n > …/l4t_initrd.img

Hi Wayne,

Is “xusb_sil_prod_fw-new” the same as what you provided(xusb_sil_rel_fw) earlier?
I have generated the l4t_initrd.img. Could you please tell me how to burn this image?

Thanks
Ken

Hi,

xusb_sil_prod_fw-new is just a file name. Using the new firmware I just shared to you as input.

And just do the full flash.

Hi Wayne,

Could you please provide detailed steps? My dmesg still show my Firmware is old version.

root@tegra-ubuntu:/home/asus/Desktop/Test_tool# dmesg|grep xusb
[ 1.624299] tegra-xusb 3530000.xhci: USB2 port 0 has OTG_CAP
[ 1.625754] tegra-xusb 3530000.xhci: extcon 0: ffffffc0efb71800 id
[ 1.629296] tegra-xusb 3530000.xhci: Firmware timestamp: 2020-07-06 13:39:28 UTC, Version: 55.18 release

Thanks
Ken

Hi,

Can you share what does the lib/firmware from your initrd look like now?