I2C SPI USB CAN eSPI Cable Testing View All Quick Start Guides User Manuals Software Downloads Knowledge Base Videos Case Studies App Notes White Papers Sales Support About Us
Products Blog Sales Support Contact Search
Why Does My Host Device Detect a High-Speed USB Front Panel as a Slower Full-Speed Device?
Rena Ayeras

What causes a USB host to not detect a high speed device correctly?

Image by Gerd Altmann from Pixabay

Question from the Customer:

I am using the Beagle USB 480 Protocol Analyzer and am troubleshooting a USB product, which is not detecting a High-speed USB device correctly. The problem is that the host device recognizes the front panel as a Full-speed USB device, even though it is High speed.

I expect the Beagle USB 480 analyzer to determine what is causing the error, as a USB device normally uses a termination code on the data line to indicate whether it is USB 2.0 capable. Can you tell me why this is happening and what I can do to analyze and debug this situation?

Here are excerpts from two data logs from two different devices. One operates correctly, detecting the front panel as High speed, whereas the other device does not.

Data log of a correct connection with the front panel:

Jun 19 08:32:52 TRTWILD0021 kernel: [15199.796844] usb 1-1: new high speed USB device number 88 using xhci_hcd

Jun 19 08:32:53 TRTWILD0021 kernel: [15199.927500] usb 1-1: New USB device found, idVendor=2826, idProduct=2000

Jun 19 08:32:53 TRTWILD0021 kernel: [15199.927511] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

Jun 19 08:32:53 TRTWILD0021 kernel: [15199.927518] usb 1-1: Product: Etherned/NCM gadget

Jun 19 08:32:53 TRTWILD0021 kernel: [15199.927524] usb 1-1: Manufacturer: BSH Hausgeraete GmbH

Jun 19 08:32:53 TRTWILD0021 kernel: [15199.954403] cdc_ncm 1-1:1.0: MAC-Address: 6a:42:55:c2:ba:0d

Jun 19 08:32:53 TRTWILD0021 kernel: [15199.954846] cdc_ncm 1-1:1.0 usb0: register 'cdc_ncm' at usb-0000:00:14.0-1, CDC NCM, 6a:42:55:c2:ba:0d

Data log of a defective connection with the front panel:

Jun 19 08:35:37 TRTWILD0021 kernel: [15364.980494] usb 1-1: new full speed USB device number 90 using xhci_hcd

Jun 19 08:35:38 TRTWILD0021 kernel: [15365.148638] usb 1-1: device descriptor read/64, error -71

Jun 19 08:35:38 TRTWILD0021 kernel: [15365.420923] usb 1-1: device descriptor read/64, error -71

Jun 19 08:35:38 TRTWILD0021 kernel: [15365.637079] usb 1-1: new full speed USB device number 91 using xhci_hcd

Jun 19 08:35:38 TRTWILD0021 kernel: [15365.805269] usb 1-1: device descriptor read/64, error -71

Jun 19 08:35:39 TRTWILD0021 kernel: [15366.021486] usb 1-1: device descriptor read/64, error -71

Jun 19 08:35:39 TRTWILD0021 kernel: [15366.125567] usb usb1-port1: attempt power cycle

Response from Technical Support:

Thank you for your question! The issue may be that Full-speed mode is negotiated during attach/port reset event. We will provide an overview of USB negotiation and recommend a method to support analyzing and troubleshooting your product.

How USB Negotiation Works

  • A High-speed device signals the connect event by pulling up D+ data line, which is similar to what a Full-speed device would do. How chirp signals are handled during negotiation tells the Host what the speed level is.
  • The Host, on sensing the connect, would initiate a USB-RESET, which pulls both D+ and D- to ground.
  • If the DUT is High speed, it pulls the K-Chirp signal on D-, which is required for correct negotiation.
  • On recognizing this K-Chirp, and after the chirping sequence, both the Host and the DUT recognize the communication is in High-speed mode. If the response is not correct, High-speed recognition will not occur.

Troubleshooting USB Negotiation

In your case, the issue is probably the suppressed signal quality of High-speed mode, which does not remove the chirping sequencing. Our recommendation is placing a High-speed hub between the DUT and Host, which could improve their interface and help you find where the communication is impaired. For more information, we recommend reading the High-speed Negotiation Issues section in An Introduction to the USB Protocol.

We hope this answers your question. Additional resources that you may find helpful include the following:

If you want more information, feel free to contact us with your questions, or request a demo that applies to your application.