How to Check Whether a USB 2.0 Hub is Multi-TT or Single-TT - KBA93279

Version: **

 

Question: After the USB 2.0 hub has enumerated, how do you check whether it is a multiple transaction translator (multi-TT) or single transaction translator (single-TT) hub?

 

Answer:

The value of the bDeviceProtocol field of the USB device descriptor and the bInterfaceProtocol field of the USB interface descriptor indicate whether a USB 2.0 hub is single-TT or multi-TT and its current working mode.

Table 1. bDeviceProtocol and bInterface Fields of Single-TT and Multi-TT USB 2.0 Hubs

                                                                               
   
     Single-TT/Multi-TT
  
   
     bDeviceProtocol field of
     Device descriptor
  
   
     bInterface protocol of
  
   
     Interface descriptor 1
  
   
     Interface descriptor 2
  
   
     Single-TT
  
   
     0x01
  
   
     0x00
  
   
     ---
  
   
     Multi-TT
  
   
     0x02
  
   
     0x01
  
   
     0x02
  

For a single-TT USB 2.0 hub, there will be only one interface descriptor. For a multi-TT USB 2.0 hub, there will be two interface descriptors. When a USB 2.0 mutli-TT hub is configured with an interface protocol of one ‘1’, it will operate as a single-TT organized hub. When a USB 2.0 multi-TT hub is configured with an interface protocol of ‘2’, it will operate as a multi-TT organized hub. The TT organization must not be changed while the hub has full- or low-speed transactions in progress.

Note: Once the device has enumerated, you can view the descriptors using USB View or USBLYZER free software tools.

If you want to know whether the multi-TT hub enumerated as single-TT (with interface descriptor ‘1’) or multi-TT (with interface descriptor ‘2’), capture the trace during its enumeration (using USB analyzers like Ellisys™ or Lecroy®) and check the SET INTERFACE control transfer.