# Debug the USB interface Debug USB issues in Linux and UEFI by enabling verbose logging, reading DWC3 debugfs entries, and using JTAG. Use the following procedures to capture the log detail you need for device mode, host mode, and UEFI. USB debugging spans the Linux kernel and UEFI. In Linux, you enable dynamic debug logging and read the DWC3 debugfs entries. In UEFI, you raise the log level, add serial log statements, and use JTAG live debugging. ## Prerequisites - Root access to the target to write to `/d/dynamic_debug/control` and read the DWC3 debugfs entries. - A serial cable for UEFI serial log capture. - A TRACE32 JTAG setup for UEFI live debugging. - [Enable verbose USB logging in Linux](https://docs.qualcomm.com/doc/80-A0399-8/topic/enable-verbose-usb-logging-linux.html) Enable verbose USB debug logging through debugfs for device mode, host mode, or both. - [Read the DWC3 debugfs entries](https://docs.qualcomm.com/doc/80-A0399-8/topic/read-dwc3-debugfs-entries.html) The DWC3 controller exposes its state through the debugfs directory `/d/usb/a600000.dwc3`. - [Enable full USB logs in UEFI](https://docs.qualcomm.com/doc/80-A0399-8/topic/enable-full-usb-logs-uefi.html) Enable full USB logs in UEFI by raising the error level mask and setting the debug print error level for the required drivers. - [Debug UEFI USB with serial logs and JTAG](https://docs.qualcomm.com/doc/80-A0399-8/topic/debug-uefi-usb-serial-jtag.html) For UEFI USB, use serial logs and TRACE32 JTAG live debugging. Last Published: Sep 17, 2026 [Previous Topic Configure UEFI USB](https://docs.qualcomm.com/bundle/publicresource/80-A0399-8/topics/configure-uefi-usb.md) [Next Topic Enable verbose USB logging in Linux](https://docs.qualcomm.com/bundle/publicresource/80-A0399-8/topics/enable-verbose-usb-logging-linux.md)