- System: DGX Spark, EC FW 0x02004e12, SoC FW 0x02009418, kernel 6.17.0-1008-nvidia
- Symptom: All xHCI SuperSpeed ports (port01) stuck in RxDetect — USB3 PHY not detecting
any device. All USB connections fall back to 480 Mbps USB 2.0. - Tested: Cold boot (60s power drain), module reload, multiple devices — no SuperSpeed on
any port, ever, in any logged boot - Root cause indicator: No USB PHY provider registered in the kernel. xhci-plat handles
xhci-nvidia-mediatek-host but devm_usb_get_phy_by_phandle finds no PHY. MediaTek T-PHY
(phy-mtk-tphy) has no ACPI binding and is not loaded.
Output of lsusb -t on a FE Spark:
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 20000M/x2
|__ Port 001: Dev 002, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/: Bus 003.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
/: Bus 004.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 20000M/x2
/: Bus 005.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
/: Bus 006.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 20000M/x2
/: Bus 007.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
/: Bus 008.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 20000M/x2
/: Bus 009.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
/: Bus 010.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 20000M/x2
/: Bus 011.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/2p, 480M
/: Bus 012.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 20000M/x2
There are several USB 3.2 Gen 2x2 and the fallback option for USB2 compatibility.
One port has a USB drive connected, but the speed is only USB3.2 Gen1 because the flash drive is not supporting a faster speed. The bus is capable of 20Gbps.
Are you using a FE Spark?
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/0p, 20000M/x2
/: Bus 003.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
/: Bus 004.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 20000M/x2
/: Bus 005.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
|__ Port 001: Dev 002, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/: Bus 006.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 20000M/x2
/: Bus 007.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
/: Bus 008.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 20000M/x2
/: Bus 009.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
/: Bus 010.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 20000M/x2
/: Bus 011.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/2p, 480M
|__ Port 002: Dev 002, If 0, Class=Wireless, Driver=btusb, 480M
|__ Port 002: Dev 002, If 1, Class=Wireless, Driver=btusb, 480M
|__ Port 002: Dev 002, If 2, Class=Wireless, Driver=btusb, 480M
/: Bus 012.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 20000M/x2
yes, it is a FE Spark
Key difference from your working unit seems to be: Bus 002 shows 0p (zero ports) where yours shows 1p. The SuperSpeed root hub on that controller isn’t exposing its port. The drive is on Bus 005 (USB 2.0 companion of a different controller) at 480M instead of being on the
SuperSpeed bus.
please execute NVIDIA DGX Spark Field Diagnostics | NVIDIA
then DM me the logs for next steps.
A possible quick fix is unplug the USB device and plug it back in when DGX Spark is running. My external SSD enclosure always run as 480MB if it is plugged in before DGX Spark is turned on. It will run at 20000x when it is plugged in after DGX Spark has powered up.
This enclosure supports 40Gbs transfer speed.
I did that already - both a cold start and hot plug solutions didn’t fix the issue
Only one more suggestion, check the USB cable. These cables are rated for different speed. 480MB, 5Gb, 10Gb, 20Gb, etc…
Try to use the shortest that you can find.
This is the built in cable for a WD - D10 8TB External USB 3.2 Hard Drive - it is rated for 20Gbps
Got it, WD should have firmware and cable that meet USB standard so the problem might be DGX Spark firmware.
Exactly the same conclusion I came to - supported by this from my system as well
For a WD-D10 external hard drive the driver should be uas (USB Attached SCSI driver) and not usb-storage
You could have a bad cable!
Regarding the uas vs usb-storage driver: the uas module is loaded, but usb-storage claims the device because it’s enumerating at USB 2.0 (480M). UAS requires SuperSpeed — so usb-storage is the correct driver for a USB 2.0 connection. The uas fallback is a symptom, not a cause.
All xHCI SuperSpeed ports (port01) across all controllers are stuck in RxDetect/Not-connected state, confirmed via debugfs:
sudo cat /sys/kernel/debug/usb/xhci/NVDA8000:02/ports/port01/portsc
0x000002a0 Powered Not-connected Disabled Link:RxDetect PortSpeed:0
This is true for every controller (NVDA8000:00 through :04) and persists after cold boot with 60+ second power drain. The PHY is powered but detecting no SuperSpeed signal on any port
What is the latest status regarding USB chips? Which ones cause the fewest problems, and are there any cases for M2 that guarantee that this is installed?
I am late to this thread, but, just out of curiosity, did you try to test the IO performance, regardless of what advertised in the logs?
Old school methods always work best:
$ dd if=/dev/urandom bs=4096 count=4882813 of=$PATH_TO_VOLUME/urandom.dat
$ time dd if=$PATH_TO_VOLUME/urandom.dat bs=4096 count=4882813 of=/dev/null
Replace the env variable with what works with your setup.