USB Hub Link Training Fails on JetPack 6 (Works on JetPack 5)

Hello,

I’m running into a puzzling USB 3.0 issue on JetPack 6 that never appeared on JetPack 5, and after digging into it for some time I’d appreciate some guidance.

We’re using a USB7252C USB 3.0 hub, which is always attached to the jetson, on a custom carrier board with a custom device tree. On JetPack 5 the hub always works, but under JetPack 6 the hub is detected by Linux yet the SuperSpeed link fails to come up reliably.

To investigate, I wrote a debug tool that monitors the hub’s state machine and error counters. Here’s what I found:

  • Training sequence 1 (TS1) always succeeds.

  • Training sequence 2 (TS2) fails → I never see Polling.Idle, only Polling.Configuration.

  • Hub counters show RX symbol lock errors immediately maxing out (255), RX decode errors quickly reaching 255, and polling failures/warm resets climbing as Linux retries.

  • When the hub does work, symbol lock errors still max out, but the other counters remain near zero.

Observed behavior:

  • Boot with a USB 3.0 device plugged into the hub → Linux detects the hub, but fails to complete link setup.

  • Boot without a device → hub initializes, I can hot-plug a USB 3.0 device and it works. However, if I then reboot (soft or hard) → Linux fails to bring the link up again.

Ways to recover the link:

  • Full Jetson hardware reset.

  • Full power cycle with no USB 3.0 device connected.

Things that don’t help:

  • Resetting the USB hub (hardware/software).

  • Unplugging/replugging devices.

  • Power cycling with the USB device connected.

What I’ve checked so far:

  • Linux kernel: JetPack 5 (5.10) vs JetPack 6 (5.15, different source tree). I tested both kernels in the JetPack 6 environment (with JP5 and JP6 device trees). Both showed the same USB link failure. This strongly suggests the issue is not kernel-related.

  • UEFI bootloader: Changed between JP5 and JP6. Interestingly, if the hub is in a failing state, rebooting into the UEFI shell shows the hub working fine (USB3 Ethernet adapter links at 5 Gbps, confirmed via portsc register). But once Linux boots, the link setup fails again.

  • USB hub tuning: Adjusted drive strength, pre-emphasis, de-emphasis, termination. No improvement (sometimes fails earlier at TS1). I do not have the equipment to measure the eye diagram of the USB link.

  • Devices: Tested multiple USB 3.0 devices and ports. All behave the same. USB 2.0 devices never trigger the issue.

Summary so far:

  • JetPack 5: Hub always links up.

  • JetPack 6: Linux detects the hub but fails to complete SuperSpeed link training if a device is present at boot.

  • Failure occurs after TS1 but before TS2 succeeds (Polling.Configuration → never Polling.Idle).

  • UEFI shell can bring the link up, but Linux cannot.

  • Since the JetPack 5 kernel also fails under JetPack 6, the issue is probably not kernel-related. It seems more likely tied to changes in USB controller initialization (UEFI, MB1/MB2, BPMP).

  • This is on a custom board with a custom device tree.

Questions:

  • Is this a known regression between JetPack 5 and 6?

  • Could differences in USB controller initialization between JetPack versions explain this?

  • Could the MB1, MB2, or BPMP impact this? If so how can I configure these?

  • Would it be possible to adjust or override the Jetson USB 3.0 PHY settings (e.g. equalization, deemphasis, swing) to see if this resolves the link training issue?

  • Are there recommended debug steps or patches to try?

Thanks in advance!

Which Jetpack version is in use?

Do you have your schematic and device tree shared out to review?

Could you share the full usb bus trace for Jetpack6 case?

In the jetpack 6 case we are using L4T 36.4.4, and we were using L4T 35.5.0.

Below you can see a screenshot of the PCB layout between the jetson and the Hub, I cannot share the schematic details. We do have a 100nF AC coupling caps in the USB lines. You can see in the screenshot the Xavier NX, but we are aware that this is not supported anymore with jetpack 6.

As for the device tree. In jetpack 6 we have the following for the USB configuration:


		xusb_padctl: padctl@3520000 {
			/* USB Pad controller. This routes the USB lanes to the USB controllers */
			status = "okay";
			
			/* This is a fix for the padctl not being named correctly in the soc-prod-overlay file */
			prod-settings {
				#prod-cells = <4>;
				prod {
			    
					/* Prod string is a sequence of index, addr, mask, value */
					/* (0x03520000 + 0x284) = (0x03520000 + 0x284) & ~0x38 | 0x38 (HS_DISCON_LEVEL = 7) */
					/* (0x03520000 + 0x288) = (0x03520000 + 0x288) & ~0x3fff000 | 0x51e000 (TRK_SW_OVRD =0, TRK_DONE=0, TRK_START=0, PD_TRK=1, TRK_DONE_RESET_TIMER=10, TRK_START_TIMER=0x1e) */
					prod = <
					0 0x00000284 0x00000038 0x00000038//XUSB_PADCTL_USB2_BIAS_PAD_CTL_0_0
					0 0x00000288 0x03fff000 0x0051e000//XUSB_PADCTL_USB2_BIAS_PAD_CTL_1_0
					>;
				};
			};
			
			pads {
				usb2 {
					lanes {
						usb2-0 {
							nvidia,function = "xusb";
							status = "okay";
						};
						usb2-1 {
							nvidia,function = "xusb";
							status = "okay";
						};
						usb2-2 {
							nvidia,function = "xusb";
							status = "okay";
						};
					};
				};
				usb3 {
					lanes {
						usb3-0 {
							nvidia,function = "xusb";
							status = "okay";
						};
					};
				};
			};
			
			ports {
				usb2-0 {
					/* Recovery port */
					mode = "peripheral";
					status = "okay";
					vbus-supply = <&vdd_5v0_sys>;
					usb-role-switch;
					connector {
						compatible = "usb-b-connector", "gpio-usb-b-connector";
						label = "debug-usb";
						type = "micro";
						vbus-gpio = <&gpio TEGRA234_MAIN_GPIO(Z, 1) GPIO_ACTIVE_LOW>;
					};
				};
				usb2-1 {
					/* Goes to USB Hub */
					mode = "host";
					vbus-supply = <&vdd_av10_hub>;
					status = "okay";
				};
				usb2-2 {
					/* Goes to M2.E */
					mode = "host";
					vbus-supply = <&vdd_5v0_sys>;
					status = "okay";
				};
				usb3-0 {
					/* Goes to USB Hub */
					nvidia,usb2-companion = <1>; /* usb2-1 */
					status = "okay";
				};
			};
		};
		
		tegra_xudc: usb@3550000 {
			/* USB Device root port */
			status = "okay";
		phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>;
			phy-names = "usb2-0";
			nvidia,xusb-padctl = <&xusb_padctl>;
		};
		
		usb@3610000 {
			/* USB Host root port */
			status = "okay";
		phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
		<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
		<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>;
			phy-names = "usb2-1", "usb2-2", "usb3-0";
			nvidia,xusb-padctl = <&xusb_padctl>;
		};

Maybe also good to mention is that we have not changed the ODMDATA or the UPHYLANE_CONFIG:
ODMDATA=“gbe-uphy-config-8,hsstp-lane-map-3,hsio-uphy-config-0”;

UPHYLANE_CONFIG=“tegra234-mb1-bct-uphylane-si.dtsi”

I hope this helps.

Sorry, these things do not help. Device tree is only helpful when you provide out the hardware detail.

We do need your schematic for usb part.

And whether you are able to dump the usb bus trace.

I do not have the equipment to look at the USB traces with an oscilloscoop nor some protocol analyzer.The best I have is the following:

[127.281039]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling LFPS
[  127.280160] usb usb2-port1: not warm reset yet, waiting 200ms
[  127.280229] usb usb2-port1: not enabled, trying warm reset again...
[  127.280233] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?
[  127.280254] hub 2-0:1.0: state 7 ports 4 chg 0000 evt 0002
[  127.280272] usb usb2-port1: do warm reset
[127.299847]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Rx.Detect Reset
[  127.340322] usb usb2-port1: not warm reset yet, waiting 50ms
[127.381785]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling LFPS
[127.401909]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PMatch
[  127.400163] usb usb2-port1: not warm reset yet, waiting 200ms
[127.404349]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PConfig
[127.410678]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling RXEQ
[127.418047]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling CONFIG
[127.430420]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PConfig
[127.437798]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling RXEQ
[127.442183]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling CONFIG
[  127.453411] tegra-xusb 3610000.usb: Port change event, 2-1, id 1, portsc: 0x2802a0
[  127.453425] tegra-xusb 3610000.usb: handle_port_status: starting usb2 port polling.
[127.454228]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[127.456727]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[127.474791]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PMatch
[127.477229]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[127.483559]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[127.490930]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[127.503044]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[127.511424]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[127.515807]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[127.528181]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[127.547792]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPSPlus
[127.550355]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[127.556690]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[127.564080]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[127.576426]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[127.584808]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[127.589194]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[127.599923]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[127.602352]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[  127.608161] usb usb2-port1: not warm reset yet, waiting 200ms
[127.612442]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC PLC Wake: - Hub LTSSM: Polling LFPS
[  127.816144] usb usb2-port1: not warm reset yet, waiting 200ms
[128.024683]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling LFPS
[  128.024130] usb usb2-port1: not warm reset yet, waiting 200ms
[  128.024193] usb usb2-port1: not enabled, trying warm reset again...
[128.044072]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Rx.Detect Reset
[128.125424]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling LFPS
[128.145675]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling LFPSPlus
[128.148132]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PConfig
[128.154446]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling RXEQ
[128.161946]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling CONFIG
[128.174444]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PConfig
[128.182560]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling RXEQ
[128.186958]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling CONFIG
[  128.197962] tegra-xusb 3610000.usb: Port change event, 2-1, id 1, portsc: 0x2802a0
[  128.197976] tegra-xusb 3610000.usb: handle_port_status: starting usb2 port polling.
[128.198123]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[128.200514]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[128.219306]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPSPlus
[128.221756]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[128.228094]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[  128.232128] usb usb2-port1: not warm reset yet, waiting 200ms
[128.235442]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[128.247562]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[128.255951]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[128.260456]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[128.272561]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling Power0
[128.274988]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[128.293058]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[128.301443]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[128.307827]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[128.321193]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[128.329320]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[128.333704]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[128.344321]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[128.346739]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[128.356567]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC PLC Wake: - Hub LTSSM: Polling LFPS
[  128.440108] usb usb2-port1: not warm reset yet, waiting 200ms
[  128.648148] usb usb2-port1: not warm reset yet, waiting 200ms
[128.856455]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling LFPS
[  128.856329] usb usb2-port1: not warm reset yet, waiting 200ms
[  128.856394] usb usb2-port1: not enabled, trying warm reset again...
[128.876101]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Rx.Detect Reset
[128.957699]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling LFPS
[128.977823]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling LFPSPlus
[128.980292]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PConfig
[128.986592]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling RXEQ
[128.993838]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling CONFIG
[129.005959]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PMatch
[129.008270]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PConfig
[129.014597]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling RXEQ
[129.018970]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling CONFIG
[129.030086]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[  129.029776] tegra-xusb 3610000.usb: Port change event, 2-1, id 1, portsc: 0x2802a0
[  129.029790] tegra-xusb 3610000.usb: handle_port_status: starting usb2 port polling.
[129.032522]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[129.051329]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[129.059711]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[129.067094]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[  129.068081] usb usb2-port1: not warm reset yet, waiting 200ms
[129.079452]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[129.087836]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[129.092227]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[129.104962]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[129.124520]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PMatch
[129.127182]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[129.132596]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[129.140327]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[129.152466]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[129.161082]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[129.165475]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[129.176347]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[129.178773]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[129.189216]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC PLC Wake: - Hub LTSSM: Polling LFPS
[  129.276092] usb usb2-port1: not warm reset yet, waiting 200ms
[  129.488098] usb usb2-port1: not warm reset yet, waiting 200ms
[129.539216]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC PLC Wake: - Hub LTSSM: Rx.Detect Active1
[129.541908]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC PLC Wake: - Hub LTSSM: Polling LFPS
[129.696116]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: PLC Wake: - Hub LTSSM: Polling LFPS
[129.698575]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling LFPS
[  129.696072] usb usb2-port1: not warm reset yet, waiting 200ms
[  129.696136] usb usb2-port1: not enabled, trying warm reset again...
[129.716119]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Rx.Detect Reset
[129.797726]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling LFPS
[129.817850]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PMatch
[129.820354]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PConfig
[129.826742]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling RXEQ
[129.834111]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling CONFIG
[129.845855]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PMatch
[129.848192]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PConfig
[129.854490]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling RXEQ
[129.858866]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling CONFIG
[129.869983]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[  129.869588] tegra-xusb 3610000.usb: Port change event, 2-1, id 1, portsc: 0x2802a0
[  129.869604] tegra-xusb 3610000.usb: handle_port_status: starting usb2 port polling.
[129.872466]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[129.891224]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[129.899615]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[129.906989]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[  129.908086] usb usb2-port1: not warm reset yet, waiting 200ms
[129.919103]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[129.927233]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[129.931623]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[129.944232]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[129.964131]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPSPlus
[129.966539]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[129.972875]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[129.980243]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[129.992126]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PMatch
[129.994549]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[130.000874]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[130.005119]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[130.016136]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[130.018677]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[130.029018]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC PLC Wake: - Hub LTSSM: Polling LFPS
[  130.116096] usb usb2-port1: not warm reset yet, waiting 200ms
[  130.324058] usb usb2-port1: not warm reset yet, waiting 200ms
[130.536309]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling LFPS
[  130.536049] usb usb2-port1: not warm reset yet, waiting 200ms
[  130.536114] usb usb2-port1: not enabled, trying warm reset again...
[130.555906]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Rx.Detect Reset
[130.636997]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Rx.Detect Active1
[130.639580]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling LFPS
[130.657868]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PMatch
[130.660309]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PConfig
[130.666638]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling RXEQ
[130.673896]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling CONFIG
[130.686002]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling PConfig
[130.694380]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling RXEQ
[130.698648]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling CONFIG
[130.710006]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[  130.709402] tegra-xusb 3610000.usb: Port change event, 2-1, id 1, portsc: 0x2802a0
[  130.709418] tegra-xusb 3610000.usb: handle_port_status: starting usb2 port polling.
[130.712639]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[130.730623]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPSPlus
[130.733135]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[130.739517]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[130.746889]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[  130.748064] usb usb2-port1: not warm reset yet, waiting 200ms
[130.758758]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PMatch
[130.761185]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[130.767516]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[130.771896]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[130.784046]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Rx.Detect Active1
[130.786510]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[130.803876]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPSPlus
[130.806306]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[130.812647]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[130.819757]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[130.832383]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling PConfig
[130.840506]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling RXEQ
[130.844777]Kernel PortSC: Powered Not-connected Disabled Link:RxDetect PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[130.855889]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling CONFIG
[130.858309]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC Wake: - Hub LTSSM: Polling LFPS
[130.868163]Kernel PortSC: Powered Not-connected Disabled Link:Inactive PortSpeed:0 Change: WRC PRC PLC Wake: - Hub LTSSM: Polling LFPS
[  130.956290] usb usb2-port1: not warm reset yet, waiting 200ms
[  131.164213] usb usb2-port1: not warm reset yet, waiting 200ms
[131.373020]Kernel PortSC: Powered Connected Disabled Link:Inactive PortSpeed:0 In-Reset Change: Wake: - Hub LTSSM: Polling LFPS
[  131.372037] usb usb2-port1: not warm reset yet, waiting 200ms
[  131.372119] usb usb2-port1: not enabled, trying warm reset again...
[  131.372124] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?
[  131.372148] hub 2-0:1.0: state 7 ports 4 chg 0000 evt 0002
[  131.372166] usb usb2-port1: do warm reset

This is the log what I see happening on the jetson while it is not working. What you see here is the mixed log of the kernel log and the polled USB hub state/ PORTSC status of the kernel.
I used this to determine that TS2 was not succeeding.