xbox 360 controller through USB hub - broken in Jetpack 4.x, works in Jetpack 3.x (Not enough host c...

Hi,

I use an Xbox 360 wireless controller to interact with my TX2 board for a mobile robot. It doesn’t work through a USB hub on the 4.x Jetpack versions (L4T 3x / kernel 4.9)

Sequence of events I am testing:

  1. connect 4 port AmazonBasics USB hub to the USB-A port on the dev board (shorturl.at/mtuH1)
  2. connect dongle for Xbox 360 wireless controller to one port on the hub

In Jetpack 3.x (L4T 28.x) - this works fine as expected, here is the dmesg output

[ 1194.103575] usb 2-1: new SuperSpeed USB device number 3 using xhci-tegra                                               
[ 1194.357037] usb 2-1: New USB device found, idVendor=2109, idProduct=8110                                           
[ 1194.363839] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0                                                                                                                             
[ 1194.371120] usb 2-1: Product: USB3.0 Hub                                                                             
[ 1194.376411] usb 2-1: Manufacturer: VIA Labs, Inc.                                                                                           
[ 1194.384615] xhci-tegra 3530000.xhci: tegra_xhci_mbox_work mailbox command 6                                        
[ 1194.387905] hub 2-1:1.0: USB hub found                                                                                            
[ 1194.388679] hub 2-1:1.0: 4 ports detected                                                                                       
[ 1194.467019] usb 1-2: new high-speed USB device number 5 using xhci-tegra                                                                                                                                   
[ 1194.602969] usb 1-2: New USB device found, idVendor=2109, idProduct=2811                                          
[ 1194.609768] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0                                 
[ 1194.617111] usb 1-2: Product: USB2.0 Hub                                                                         
[ 1194.622424] usb 1-2: Manufacturer: VIA Labs, Inc.                                                                
[ 1194.630249] hub 1-2:1.0: USB hub found                                                                                                      
[ 1194.636057] hub 1-2:1.0: 4 ports detected                                                                                                                                                                  
[ 1196.002944] xhci-tegra 3530000.xhci: entering ELPG                                                                                                                                                                                         
[ 1196.010848] xhci-tegra 3530000.xhci: entering ELPG done                                                                                                                                                                                    
[ 1200.952409] xhci-tegra 3530000.xhci: exiting ELPG                                                                     
[ 1200.979369] xhci-tegra 3530000.xhci: Firmware timestamp: 2017-12-07 10:50:08 UTC, Version: 55.09 release            
[ 1200.992686] xhci-tegra 3530000.xhci: exiting ELPG done                                                                    
[ 1200.992719] xhci-tegra 3530000.xhci: tegra_xhci_mbox_work mailbox command 6                                                     
[ 1201.235010] usb 1-2.4: new full-speed USB device number 6 using xhci-tegra                                                                                   
[ 1201.350338] usb 1-2.4: New USB device found, idVendor=045e, idProduct=0719                                         
[ 1201.357319] usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3                                
[ 1201.364834] usb 1-2.4: Product: Xbox 360 Wireless Receiver for Windows                                         
[ 1201.371544] usb 1-2.4: Manufacturer: ©Microsoft                                                                                                                                                           
[ 1201.376298] usb 1-2.4: SerialNumber: E02EF6E0

When I flash from Jetpack 4.x onto the device, however, this is what happens:

[ 3208.557519] usb 2-1: new SuperSpeed USB device number 2 using tegra-xusb
[ 3208.813004] usb 2-1: New USB device found, idVendor=2109, idProduct=8110
[ 3208.813054] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3208.813081] usb 2-1: Product: USB3.0 Hub
[ 3208.813094] usb 2-1: Manufacturer: VIA Labs, Inc.
[ 3208.828472] hub 2-1:1.0: USB hub found
[ 3208.829073] hub 2-1:1.0: 4 ports detected
[ 3208.928612] usb 1-2: new high-speed USB device number 3 using tegra-xusb
[ 3208.954143] usb 1-2: New USB device found, idVendor=2109, idProduct=2811
[ 3208.954187] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3208.954210] usb 1-2: Product: USB2.0 Hub
[ 3208.954231] usb 1-2: Manufacturer: VIA Labs, Inc.
[ 3208.961472] hub 1-2:1.0: USB hub found
[ 3208.962188] hub 1-2:1.0: 4 ports detected
[ 3209.084278] usb 2-1: usb_suspend_both: status 0
[ 3209.084607] usb usb2: usb_suspend_both: status 0
[ 3209.116269] usb 1-2: usb_suspend_both: status 0
[ 3209.116371] usb usb1: usb_suspend_both: status 0
[ 3211.092584] tegra-xusb 3530000.xhci: entering ELPG
[ 3211.100756] tegra-xusb 3530000.xhci: entering ELPG done
[ 3214.736557] tegra-xusb 3530000.xhci: exiting ELPG
[ 3214.744788] tegra-xusb 3530000.xhci: Firmware timestamp: 2018-12-26 10:30:04 UTC, Version: 55.12 release
[ 3214.747093] tegra-xusb 3530000.xhci: exiting ELPG done
[ 3214.749193] usb usb2: usb_suspend_both: status 0
[ 3215.072496] usb 1-2.4: new full-speed USB device number 4 using tegra-xusb
[ 3215.103594] usb 1-2.4: New USB device found, idVendor=045e, idProduct=0719
[ 3215.103631] usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3215.103655] usb 1-2.4: Product: Xbox 360 Wireless Receiver for Windows
[ 3215.103669] usb 1-2.4: Manufacturer: ©Microsoft
[ 3215.103685] usb 1-2.4: SerialNumber: E02EF6E0
[ 3215.118472] usb 1-2.4: Not enough host controller resources for new device state.
[ 3215.126011] usb 1-2.4: can't set config #1, error -12

Notes:

  • if I do not use the USB hub, the device works correctly
  • that other USB devices do work on the hub, I have tried a few mice, keyboards, and flash drives on the hub and there is no problem.
  • I have tried 3 other hubs and run into the same problem

I would really like to use Jetpack 4.x because it has a lot of nice new features, but I need to use a USB hub because I have more than 1 USB device that I need to use.

Any help will make my day! Thank you

Hi emersonknapp,

Please following below steps to update firmware:

1.Copy the firmware xusb_sil_rel_fw_1206 to TX2
2.Replace the firmware in initrd image
  $ sudo apt-get update
  $ sudo apt-get install cpio
  $ mkdir initrd_work
  $ cd initrd_work
  $ sudo cp /boot/initrd ./
  $ sudo gunzip -dc ./initrd  |  sudo cpio -idm
  $ sudo rm ./initrd
  $ sudo cp <LOCATE OF THE FIRMWARE> ./lib/firmware/tegra18x_xusb_firmware
  $ sudo find . | sudo cpio --quiet -H newc -o | sudo gzip -9 -n > ./initrd
  $ sudo cp initrd /boot/initrd
3.Reboot the device
  $ sudo reboot

xuxb_sil_rel_fw_1206.7z (69.3 KB)

Thank you, that solves it! Will this firmware patch be available in an official L4T build soon?

This firmware patch will include in next release build, please wait our announcement.
Thanks!

Has the fix from this test firmware been merged to the release branch? I’m using the xusb firmware from l4t r32.4.3 on an Android project and have the issue described in the OP, where some usb devices fail to enumerate stating out of resources. Revision 1206 as posted here works as expected, all usb devices enumerate and work.