ldube opened a new pull request, #9245:
URL: https://github.com/apache/nuttx/pull/9245

   ## Summary
   
   Devices connected to the same USB bus should have unique function addresses. 
This was not true for root hubs with multiple ports. After this change, 
enumeration is more reliable on the sama5d3-xplained board when both root hub 
ports are used.
   
   ## Impact
   Sama5d3 should have less enumeration issues when both ports are used 
simultaneously.
   No impact on other boards expected/intended. I only compiled every file I 
changed except the rx65 file.
   Only did runtime tests on sama5d3 because I don't have other USB enabled 
NuttX hardware.
   
   ## Testing
   (Added a debug printf in the usbhost_hub.c usbhost_connect function to show 
that the
   hub was successfully initialized)
   
   With only OHCI enabled, connect a hub to each USB port on a sama5d3-xplained 
board. 
   
   1) Before this change: Only one hub enumerated successfully.
   2) After this change: Both hubs enumerated successfully.
   
   With only EHCI enabled, connect a hub to each USB port on a sama5d3-xplained 
board. 
   1) Before this change: One hub found but error messages are printed forever
    (see errors below. Port 2 and Port 3 are the only available USB host ports).
   2) After this change: Both hubs are enumerated successfully.
   
   
   usbhost_connect: HUB init ok <-----------                                    
      
   EHCI: USB Error Interrupt (USBERRINT) Interrupt: 000002                      
         
   EHCI ERROR: EP0 TOKEN=0148                                                   
         
   EHCI ERROR: Transfer failed 5                                                
         
   usbhost_enumerate: ERROR: Failed to get configuration descriptor, length=9: 
-5        
   EHCI Hub port 3 usbhost_enumerate() failed: 5                                
         
   EHCI: USB Error Interrupt (USBERRINT) Interrupt: 000002                      
         
   EHCI ERROR: EP0 TOKEN=0148                                                   
         
   EHCI ERROR: Transfer failed 5                                                
         
   usbhost_enumerate: ERROR: Failed to get configuration descriptor, length=9: 
-5        
   EHCI Hub port 3 usbhost_enumerate() failed: 5                                
         
   EHCI: USB Error Interrupt (USBERRINT) Interrupt: 000002                      
         
   EHCI ERROR: EP0 TOKEN=0148                                                   
         
   EHCI ERROR: Transfer failed 5                                                
         
   usbhost_enumerate: ERROR: Failed to get configuration descriptor, length=9: 
-5        
   EHCI Hub port 3 usbhost_enumerate() failed: 5                                
         
   EHCI: USB Error Interrupt (USBERRINT) Interrupt: 000002                      
         
   EHCI ERROR: EP0 TOKEN=0148                                                   
         
   EHCI ERROR: Transfer failed 5                                                
         
   usbhost_enumerate: ERROR: Failed to get configuration descriptor, length=9: 
-5        
   EHCI Hub port 3 usbhost_enumerate() failed: 5                                
         
   EHCI: USB Error Interrupt (USBERRINT) Interrupt: 000002                      
         
   EHCI ERROR: EP0 TOKEN=0148                                                   
         
   EHCI ERROR: Transfer failed 5                                                
         
   usbhost_enumerate: ERROR: Failed to get configuration descriptor, length=9: 
-5        
   EHCI Hub port 3 usbhost_enumerate() failed: 5                                
         
   EHCI: USB Error Interrupt (USBERRINT) Interrupt: 000002                      
         
   EHCI ERROR: EP0 TOKEN=0148                                                   
         
   EHCI ERROR: Transfer failed 5                                                
         
   usbhost_enumerate: ERROR: Failed to get configuration descriptor, length=9: 
-5        
   EHCI Hub port 3 usbhost_enumerate() failed: 5                                
         
   EHCI: USB Error Interrupt (USBERRINT) Interrupt: 000002                      
         
   EHCI ERROR: EP0 TOKEN=0148                                                   
         
   EHCI ERROR: Transfer failed 5                                                
         
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to