All of lore.kernel.org
 help / color / mirror / Atom feed
* USB3 XHCI crashing with USB 3 hub on Octeon
@ 2021-02-19 13:57 Aaron Williams
  2021-02-23  7:31 ` [EXT] " Aaron Williams
  0 siblings, 1 reply; 13+ messages in thread
From: Aaron Williams @ 2021-02-19 13:57 UTC (permalink / raw)
  To: u-boot

Hi all,

While backporting the latest USB support in U-Boot to support USB 3 hubs I 
decided to try the latest U-Boot for Octeon which should contain everything. 
When I start USB, however, with a USB 3 thumb drive plugged into a USB 3 hub, 
I am seeing a crash. I have enabled all of the debugging support for usb.c, 
usb_hub.c, xhci.c, xhci-ring.c and xhci_mem.c

In my backported code which is a bit hacked up due to the lack of DT support, 
I am seeing it fail when it attempts to set the hub depth. Note that 
everything works fine with a USB 2 hub. I was hoping to compare the stock U-
Boot with my hacked up code to track down the issue.

-Aaron

Here are the logs:

=> usb start
starting USB...
Bus xhci at 1680000000000: xhci_register: dev='xhci at 1680000000000', 
ctrl=ffffffff8eea1aa0, hccr=8001680000000000, hcor=8001680000000020
// Halt the HC: 8001680000000020
// Reset the HC
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.00
Bus xhci at 1690000000000: xhci_register: dev='xhci at 1690000000000', 
ctrl=ffffffff8eeab040, hccr=8001690000000000, hcor=8001690000000020
// Halt the HC: 8001690000000020
// Reset the HC
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus xhci at 1680000000000 for devices... xhci_alloc_device: 
dev='xhci at 1680000000000', udev=ffffffff8ee9c280
set address 1
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x1 index 0x0 length 
0x0
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1680000000000', portnr=0
USB_REQ_SET_ADDRESS
scrlen = 0
 req->length = 0
Len is 0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 
0x12
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1680000000000', portnr=0
USB_DT_DEVICE request
scrlen = 18
 req->length = 18
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 
0x9
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1680000000000', portnr=0
USB_DT_CONFIG config
scrlen = 25
 req->length = 9
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 
0x1F
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1680000000000', portnr=0
USB_DT_CONFIG config
scrlen = 25
 req->length = 31
get_conf_no 0 Result 25, wLength 31
if 0, ep 0
##EP epmaxpacketin[1] = 2048
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 
0x0
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1680000000000', portnr=0
scrlen = 0
 req->length = 0
Len is 0
new device strings: Mfr=1, Product=2, SerialNumber=0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 
0xFF
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1680000000000', portnr=0
USB_DT_STRING config
scrlen = 4
 req->length = 255
USB device number 1 default language ID 0x409
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409 
length 0xFF
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1680000000000', portnr=0
USB_DT_STRING config
scrlen = 14
 req->length = 255
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x302 index 0x409 
length 0xFF
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1680000000000', portnr=0
USB_DT_STRING config
scrlen = 42
 req->length = 255
Manufacturer U-Boot
Product      XHCI Host Controller
SerialNumber 
usb_hub_post_probe
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2A00 index 0x0 
length 0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
USB_DT_HUB config
scrlen = 8
 req->length = 4
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2A00 index 0x0 
length 0xC
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
USB_DT_HUB config
scrlen = 8
 req->length = 12
2 ports detected
ganged power switching
standalone hub
individual port over-current protection
TT requires at most 8 FS bit times (666 ns)
power on to power good time: 20ms
hub controller current requirement: 0mA
port 1 is removable
port 2 is removable
usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 2
 req->length = 4
get_hub_status returned status 1, change 802
local power source is lost (inactive)
no over-current condition exists
xhci_update_hub_device: dev='xhci at 1680000000000', udev=ffffffff8eeae040
enabling power on all ports
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 0
 req->length = 0
Len is 0
port 1 returns 0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length 
0x0
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 0
 req->length = 0
Len is 0
port 2 returns 0
pgood_delay=20ms
devnum=1 poweron: query_delay=100 connect_timeout=1100
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 2 Status 100 Change 0
devnum=1 port=2: timeout
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040, 
udev->dev='usb_hub', portnr=0
scrlen = 4
 req->length = 4
Port 1 Status 100 Change 0
devnum=1 port=1: timeout
1 USB Device(s) found
scanning bus xhci at 1690000000000 for devices... xhci_alloc_device: 
dev='xhci at 1690000000000', udev=ffffffff8ee9c280
set address 1
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x1 index 0x0 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1690000000000', portnr=0
USB_REQ_SET_ADDRESS
scrlen = 0
 req->length = 0
Len is 0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 
0x12
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1690000000000', portnr=0
USB_DT_DEVICE request
scrlen = 18
 req->length = 18
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 
0x9
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1690000000000', portnr=0
USB_DT_CONFIG config
scrlen = 25
 req->length = 9
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 
0x1F
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1690000000000', portnr=0
USB_DT_CONFIG config
scrlen = 25
 req->length = 31
get_conf_no 0 Result 25, wLength 31
if 0, ep 0
##EP epmaxpacketin[1] = 2048
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1690000000000', portnr=0
scrlen = 0
 req->length = 0
Len is 0
new device strings: Mfr=1, Product=2, SerialNumber=0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 
0xFF
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1690000000000', portnr=0
USB_DT_STRING config
scrlen = 4
 req->length = 255
USB device number 1 default language ID 0x409
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409 
length 0xFF
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1690000000000', portnr=0
USB_DT_STRING config
scrlen = 14
 req->length = 255
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x302 index 0x409 
length 0xFF
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280, 
udev->dev='xhci at 1690000000000', portnr=0
USB_DT_STRING config
scrlen = 42
 req->length = 255
Manufacturer U-Boot
Product      XHCI Host Controller
SerialNumber 
usb_hub_post_probe
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2A00 index 0x0 
length 0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
USB_DT_HUB config
scrlen = 8
 req->length = 4
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2A00 index 0x0 
length 0xC
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
USB_DT_HUB config
scrlen = 8
 req->length = 12
2 ports detected
ganged power switching
standalone hub
individual port over-current protection
TT requires at most 8 FS bit times (666 ns)
power on to power good time: 20ms
hub controller current requirement: 0mA
port 1 is removable
port 2 is removable
usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
scrlen = 2
 req->length = 4
get_hub_status returned status 1, change 802
local power source is lost (inactive)
no over-current condition exists
xhci_update_hub_device: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0
enabling power on all ports
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
scrlen = 0
 req->length = 0
Len is 0
port 1 returns 0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
scrlen = 0
 req->length = 0
Len is 0
port 2 returns 0
pgood_delay=20ms
devnum=1 poweron: query_delay=100 connect_timeout=1100
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
SPEED = FULLSPEED
scrlen = 4
 req->length = 4
Port 1 Status 101 Change 1
devnum=1 port=1: USB dev found
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
SPEED = FULLSPEED
scrlen = 4
 req->length = 4
portstatus 101, change 1, 12 Mb/s
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
clear port connect change, actual port 1 status  = 0x6e1
scrlen = 0
 req->length = 0
Len is 0
usb_hub_port_reset: resetting 'usb_hub' port 1...
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
scrlen = 0
 req->length = 0
Len is 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
SPEED = FULLSPEED
scrlen = 4
 req->length = 4
portstatus 111, change 0, 12 Mb/s
STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
scrlen = 0
 req->length = 0
Len is 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
SPEED = HIGHSPEED
scrlen = 4
 req->length = 4
portstatus 503, change 10, 480 Mb/s
STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 1
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
clear port reset change, actual port 1 status  = 0xe03
scrlen = 0
 req->length = 0
Len is 0
xhci_alloc_device: dev='xhci at 1690000000000', udev=ffffffff8ee9b420
EP STATE RUNNING.
set address 2
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x2 index 0x0 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=1
Setting up addressable devices ffffffff8eeab980
route string 0
port_num = 1
SPEED = 3
Setting Packet size = 64bytes
EP STATE RUNNING.
Successful Address Device command
xHC internal address is: 1
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 
0x12
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=1
req=6 (0x6), type=128 (0x80), value=256 (0x100), index=0
EP STATE RUNNING.
start_trb ffffffff8eeacb80, start_cycle 1
req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) = 
256,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 18
length_field = 18, length = 18,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 
0x9
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=1
req=6 (0x6), type=128 (0x80), value=512 (0x200), index=0
EP STATE RUNNING.
start_trb ffffffff8eeacbb0, start_cycle 1
req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) = 
512,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 9
length_field = 9, length = 9,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 
0x19
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=1
req=6 (0x6), type=128 (0x80), value=512 (0x200), index=0
EP STATE RUNNING.
start_trb ffffffff8eeacbe0, start_cycle 1
req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) = 
512,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 25
length_field = 25, length = 25,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
get_conf_no 0 Result 25, wLength 25
if 0, ep 0
##EP epmaxpacketin[1] = 1
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=1
EP STATE RUNNING.
Successful Configure Endpoint command
req=9 (0x9), type=0 (0x0), value=1 (0x1), index=0
EP STATE RUNNING.
start_trb ffffffff8eeacc10, start_cycle 1
req->requesttype = 0, req->request = 9,le16_to_cpu(req->value) = 
1,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
new device strings: Mfr=0, Product=1, SerialNumber=0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 
0xFF
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=1
req=6 (0x6), type=128 (0x80), value=768 (0x300), index=0
EP STATE RUNNING.
start_trb ffffffff8eeacc30, start_cycle 1
req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) = 
768,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 255
length_field = 255, length = 255,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
USB device number 2 default language ID 0x409
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409 
length 0xFF
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=1
req=6 (0x6), type=128 (0x80), value=769 (0x301), index=1033
EP STATE RUNNING.
start_trb ffffffff8eeacc60, start_cycle 1
req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) = 
769,le16_to_cpu(req->index) = 1033,le16_to_cpu(req->length) = 255
length_field = 255, length = 255,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
Manufacturer 
Product      USB2.0 Hub
SerialNumber 
usb_hub_post_probe
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 
length 0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920, 
udev->dev='usb_hub', portnr=1
req=6 (0x6), type=160 (0xa0), value=10496 (0x2900), index=0
EP STATE RUNNING.
start_trb ffffffff8eeacc90, start_cycle 1
req->requesttype = 160, req->request = 6,le16_to_cpu(req->value) = 
10496,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 4
length_field = 4, length = 4,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 
length 0x9
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920, 
udev->dev='usb_hub', portnr=1
req=6 (0x6), type=160 (0xa0), value=10496 (0x2900), index=0
EP STATE RUNNING.
start_trb ffffffff8eeaccc0, start_cycle 1
req->requesttype = 160, req->request = 6,le16_to_cpu(req->value) = 
10496,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 9
length_field = 9, length = 9,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
4 ports detected
individual port power switching
standalone hub
individual port over-current protection
Single TT
TT requires at most 32 FS bit times (2664 ns)
power on to power good time: 100ms
hub controller current requirement: 100mA
port 1 is removable
port 2 is removable
port 3 is removable
port 4 is removable
usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920, 
udev->dev='usb_hub', portnr=1
req=0 (0x0), type=160 (0xa0), value=0 (0x0), index=0
EP STATE RUNNING.
start_trb ffffffff8eeaccf0, start_cycle 1
req->requesttype = 160, req->request = 0,le16_to_cpu(req->value) = 
0,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 4
length_field = 4, length = 4,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
get_hub_status returned status 0, change 0
local power source is good
no over-current condition exists
xhci_update_hub_device: dev='xhci at 1690000000000', udev=ffffffff8eeb0920
EP STATE RUNNING.
Successful Configure Endpoint command
enabling power on all ports
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920, 
udev->dev='usb_hub', portnr=1
req=3 (0x3), type=35 (0x23), value=8 (0x8), index=1
EP STATE RUNNING.
start_trb ffffffff8eeacd20, start_cycle 1
req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) = 
8,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
port 1 returns 0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920, 
udev->dev='usb_hub', portnr=1
req=3 (0x3), type=35 (0x23), value=8 (0x8), index=2
EP STATE RUNNING.
start_trb ffffffff8eeacd40, start_cycle 1
req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) = 
8,le16_to_cpu(req->index) = 2,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
port 2 returns 0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x3 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920, 
udev->dev='usb_hub', portnr=1
req=3 (0x3), type=35 (0x23), value=8 (0x8), index=3
EP STATE RUNNING.
start_trb ffffffff8eeacd60, start_cycle 1
req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) = 
8,le16_to_cpu(req->index) = 3,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
port 3 returns 0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x4 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920, 
udev->dev='usb_hub', portnr=1
req=3 (0x3), type=35 (0x23), value=8 (0x8), index=4
EP STATE RUNNING.
start_trb ffffffff8eeacd80, start_cycle 1
req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) = 
8,le16_to_cpu(req->index) = 4,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
port 4 returns 0
pgood_delay=100ms
devnum=2 poweron: query_delay=100 connect_timeout=1100
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
SPEED = SUPERSPEED
scrlen = 4
 req->length = 4
Port 2 Status 703 Change 1
devnum=1 port=2: USB dev found
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
SPEED = SUPERSPEED
scrlen = 4
 req->length = 4
portstatus 703, change 1, 5 Gb/s
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x2 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
clear port connect change, actual port 2 status  = 0x1203
scrlen = 0
 req->length = 0
Len is 0
usb_hub_port_reset: resetting 'usb_hub' port 2...
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x2 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
scrlen = 0
 req->length = 0
Len is 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
SPEED = SUPERSPEED
scrlen = 4
 req->length = 4
portstatus 703, change 10, 5 Gb/s
STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 1
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x2 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0, 
udev->dev='usb_hub', portnr=0
clear port reset change, actual port 2 status  = 0x1203
scrlen = 0
 req->length = 0
Len is 0
xhci_alloc_device: dev='xhci at 1690000000000', udev=ffffffff8ee9b420
EP STATE RUNNING.
set address 3
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x3 index 0x0 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=2
Setting up addressable devices ffffffff8eeab980
route string 0
port_num = 2
SPEED = 5
Setting Packet size = 512bytes
EP STATE RUNNING.
Successful Address Device command
xHC internal address is: 2
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 
0x12
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=2
req=6 (0x6), type=128 (0x80), value=256 (0x100), index=0
EP STATE RUNNING.
start_trb ffffffff8eeb2580, start_cycle 1
req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) = 
256,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 18
length_field = 18, length = 18,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 
0x9
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=2
req=6 (0x6), type=128 (0x80), value=512 (0x200), index=0
EP STATE RUNNING.
start_trb ffffffff8eeb25b0, start_cycle 1
req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) = 
512,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 9
length_field = 9, length = 9,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 
0x1F
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=2
req=6 (0x6), type=128 (0x80), value=512 (0x200), index=0
EP STATE RUNNING.
start_trb ffffffff8eeb25e0, start_cycle 1
req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) = 
512,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 31
length_field = 31, length = 31,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
get_conf_no 0 Result 31, wLength 31
if 0, ep 0
##EP epmaxpacketin[1] = 2
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=2
EP STATE RUNNING.
Successful Configure Endpoint command
req=9 (0x9), type=0 (0x0), value=1 (0x1), index=0
EP STATE RUNNING.
start_trb ffffffff8eeb2610, start_cycle 1
req->requesttype = 0, req->request = 9,le16_to_cpu(req->value) = 
1,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
new device strings: Mfr=1, Product=2, SerialNumber=0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 
0xFF
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=2
req=6 (0x6), type=128 (0x80), value=768 (0x300), index=0
EP STATE RUNNING.
start_trb ffffffff8eeb2630, start_cycle 1
req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) = 
768,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 255
length_field = 255, length = 255,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
USB device number 3 default language ID 0x409
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409 
length 0xFF
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=2
req=6 (0x6), type=128 (0x80), value=769 (0x301), index=1033
EP STATE RUNNING.
start_trb ffffffff8eeb2660, start_cycle 1
req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) = 
769,le16_to_cpu(req->index) = 1033,le16_to_cpu(req->length) = 255
length_field = 255, length = 255,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x302 index 0x409 
length 0xFF
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=2
req=6 (0x6), type=128 (0x80), value=770 (0x302), index=1033
EP STATE RUNNING.
start_trb ffffffff8eeb2690, start_cycle 1
req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) = 
770,le16_to_cpu(req->index) = 1033,le16_to_cpu(req->length) = 255
length_field = 255, length = 255,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
Manufacturer VIA Labs, Inc.
Product      4-Port USB 3.0 Hub
SerialNumber 
usb_hub_post_probe
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2A00 index 0x0 
length 0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=6 (0x6), type=160 (0xa0), value=10752 (0x2a00), index=0
EP STATE RUNNING.
start_trb ffffffff8eeb26c0, start_cycle 1
req->requesttype = 160, req->request = 6,le16_to_cpu(req->value) = 
10752,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 4
length_field = 4, length = 4,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2A00 index 0x0 
length 0xC
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=6 (0x6), type=160 (0xa0), value=10752 (0x2a00), index=0
EP STATE RUNNING.
start_trb ffffffff8eeb26f0, start_cycle 1
req->requesttype = 160, req->request = 6,le16_to_cpu(req->value) = 
10752,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 12
length_field = 12, length = 12,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
4 ports detected
individual port power switching
standalone hub
individual port over-current protection
TT requires at most 8 FS bit times (666 ns)
power on to power good time: 2ms
hub controller current requirement: 2mA
port 1 is removable
port 2 is removable
port 3 is removable
port 4 is removable
usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=0 (0x0), type=160 (0xa0), value=0 (0x0), index=0
EP STATE RUNNING.
start_trb ffffffff8eeb2720, start_cycle 1
req->requesttype = 160, req->request = 0,le16_to_cpu(req->value) = 
0,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 4
length_field = 4, length = 4,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
get_hub_status returned status 0, change 0
local power source is good
no over-current condition exists
xhci_update_hub_device: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40
EP STATE RUNNING.
Successful Configure Endpoint command
set hub (ffffffff8eeb2f40) depth to 0
usb_control_msg: request: 0xC, requesttype: 0x20, value 0x0 index 0x0 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=12 (0xc), type=32 (0x20), value=0 (0x0), index=0
EP STATE RUNNING.
start_trb ffffffff8eeb2750, start_cycle 1
req->requesttype = 32, req->request = 12,le16_to_cpu(req->value) = 
0,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
enabling power on all ports
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=3 (0x3), type=35 (0x23), value=8 (0x8), index=1
EP STATE RUNNING.
start_trb ffffffff8eeb2770, start_cycle 1
req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) = 
8,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
port 1 returns 0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=3 (0x3), type=35 (0x23), value=8 (0x8), index=2
EP STATE RUNNING.
start_trb ffffffff8eeb2790, start_cycle 1
req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) = 
8,le16_to_cpu(req->index) = 2,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
port 2 returns 0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x3 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=3 (0x3), type=35 (0x23), value=8 (0x8), index=3
EP STATE RUNNING.
start_trb ffffffff8eeb27b0, start_cycle 1
req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) = 
8,le16_to_cpu(req->index) = 3,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
port 3 returns 0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x4 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=3 (0x3), type=35 (0x23), value=8 (0x8), index=4
EP STATE RUNNING.
start_trb ffffffff8eeb27d0, start_cycle 1
req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) = 
8,le16_to_cpu(req->index) = 4,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
port 4 returns 0
pgood_delay=2ms
devnum=3 poweron: query_delay=100 connect_timeout=1100
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920, 
udev->dev='usb_hub', portnr=1
req=0 (0x0), type=163 (0xa3), value=0 (0x0), index=1
EP STATE RUNNING.
start_trb ffffffff8eeacda0, start_cycle 1
req->requesttype = 163, req->request = 0,le16_to_cpu(req->value) = 
0,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 4
length_field = 4, length = 4,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
Port 1 Status 100 Change 0
devnum=2 port=1: timeout
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920, 
udev->dev='usb_hub', portnr=1
req=0 (0x0), type=163 (0xa3), value=0 (0x0), index=2
EP STATE RUNNING.
start_trb ffffffff8eeacdd0, start_cycle 1
req->requesttype = 163, req->request = 0,le16_to_cpu(req->value) = 
0,le16_to_cpu(req->index) = 2,le16_to_cpu(req->length) = 4
length_field = 4, length = 4,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
Port 2 Status 100 Change 0
devnum=2 port=2: timeout
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x3 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920, 
udev->dev='usb_hub', portnr=1
req=0 (0x0), type=163 (0xa3), value=0 (0x0), index=3
EP STATE RUNNING.
start_trb ffffffff8eeace00, start_cycle 1
req->requesttype = 163, req->request = 0,le16_to_cpu(req->value) = 
0,le16_to_cpu(req->index) = 3,le16_to_cpu(req->length) = 4
length_field = 4, length = 4,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
Port 3 Status 100 Change 0
devnum=2 port=3: timeout
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x4 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920, 
udev->dev='usb_hub', portnr=1
req=0 (0x0), type=163 (0xa3), value=0 (0x0), index=4
EP STATE RUNNING.
start_trb ffffffff8eeace30, start_cycle 1
req->requesttype = 163, req->request = 0,le16_to_cpu(req->value) = 
0,le16_to_cpu(req->index) = 4,le16_to_cpu(req->length) = 4
length_field = 4, length = 4,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
Port 4 Status 100 Change 0
devnum=2 port=4: timeout
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=0 (0x0), type=163 (0xa3), value=0 (0x0), index=1
EP STATE RUNNING.
start_trb ffffffff8eeb27f0, start_cycle 1
req->requesttype = 163, req->request = 0,le16_to_cpu(req->value) = 
0,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 4
length_field = 4, length = 4,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
Port 1 Status 207 Change 31
port 1 reset change
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=1 (0x1), type=35 (0x23), value=20 (0x14), index=1
EP STATE RUNNING.
start_trb ffffffff8eeb2820, start_cycle 1
req->requesttype = 35, req->request = 1,le16_to_cpu(req->value) = 
20,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
port 1 BH reset change
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x1D index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=1 (0x1), type=35 (0x23), value=29 (0x1d), index=1
EP STATE RUNNING.
start_trb ffffffff8eeb2840, start_cycle 1
req->requesttype = 35, req->request = 1,le16_to_cpu(req->value) = 
29,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
devnum=3 port=1: USB dev found
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=0 (0x0), type=163 (0xa3), value=0 (0x0), index=1
EP STATE RUNNING.
start_trb ffffffff8eeb2860, start_cycle 1
req->requesttype = 163, req->request = 0,le16_to_cpu(req->value) = 
0,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 4
length_field = 4, length = 4,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
portstatus 207, change 1, 1.5 Mb/s
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=1 (0x1), type=35 (0x23), value=16 (0x10), index=1
EP STATE RUNNING.
start_trb ffffffff8eeb2890, start_cycle 1
req->requesttype = 35, req->request = 1,le16_to_cpu(req->value) = 
16,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
usb_hub_port_reset: resetting 'usb_hub' port 1...
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=3 (0x3), type=35 (0x23), value=4 (0x4), index=1
EP STATE RUNNING.
start_trb ffffffff8eeb28b0, start_cycle 1
req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) = 
4,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 
0x4
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=0 (0x0), type=163 (0xa3), value=0 (0x0), index=1
EP STATE RUNNING.
start_trb ffffffff8eeb28d0, start_cycle 1
req->requesttype = 163, req->request = 0,le16_to_cpu(req->value) = 
0,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 4
length_field = 4, length = 4,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
portstatus 207, change 10, 1.5 Mb/s
STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 1
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=1 (0x1), type=35 (0x23), value=20 (0x14), index=1
EP STATE RUNNING.
start_trb ffffffff8eeb2900, start_cycle 1
req->requesttype = 35, req->request = 1,le16_to_cpu(req->value) = 
20,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
xhci_alloc_device: dev='xhci at 1690000000000', udev=ffffffff8ee9b420
EP STATE RUNNING.
set address 4
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x4 index 0x0 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420, 
udev->dev='usb_hub', portnr=1
Setting up addressable devices ffffffff8eeab980
route string 1
port_num = 2
SPEED = 1
Setting Packet size = 8bytes
EP STATE RUNNING.
Device not responding to set address.

      USB device not accepting new address (error=80000000)
hub: disabling port 1
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x1 index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=1 (0x1), type=35 (0x23), value=1 (0x1), index=1
EP STATE RUNNING.
start_trb ffffffff8eeb2920, start_cycle 1
req->requesttype = 35, req->request = 1,le16_to_cpu(req->value) = 
1,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
port 1 suspend change
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x2 index 0x1 length 
0x0
xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40, 
udev->dev='usb_hub', portnr=2
req=1 (0x1), type=35 (0x23), value=2 (0x2), index=1
WARN halted endpoint, queueing URB anyway.
EP STATE RUNNING.
start_trb ffffffff8eeb2940, start_cycle 1
req->requesttype = 35, req->request = 1,le16_to_cpu(req->value) = 
2,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
length_field = 0, length = 0,xhci_td_remainder(length) = 0 , 
TRB_INTR_TARGET(0) = 0
XHCI control transfer timed out, aborting...
EP STATE RUNNING.
Unexpected XHCI event TRB, skipping... (0eea9c20 00000000 13000000 02008401)
BUG at drivers/usb/host/xhci-ring.c:503/abort_td()!
BUG!
resetting ...

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [EXT] USB3 XHCI crashing with USB 3 hub on Octeon
  2021-02-19 13:57 USB3 XHCI crashing with USB 3 hub on Octeon Aaron Williams
@ 2021-02-23  7:31 ` Aaron Williams
  2021-02-23  8:07   ` Bin Meng
  0 siblings, 1 reply; 13+ messages in thread
From: Aaron Williams @ 2021-02-23  7:31 UTC (permalink / raw)
  To: u-boot

I have a follow-up. USB is working on our OcteonTX boards running 2020.10. It 
may be something specific to the Octeon port. Note that I did see a problem 
where the scratchpad memory is using direct pointers instead of physical 
addresses (which will not work on MIPS). As far as I know, however, the Octeon 
XHCI controller does not use the scratchpad memory.

-Aaron

On Friday, February 19, 2021 5:57:47 AM PST Aaron Williams wrote:
> External Email
> 
> ----------------------------------------------------------------------
> Hi all,
> 
> While backporting the latest USB support in U-Boot to support USB 3 hubs I
> decided to try the latest U-Boot for Octeon which should contain everything.
> When I start USB, however, with a USB 3 thumb drive plugged into a USB 3
> hub, I am seeing a crash. I have enabled all of the debugging support for
> usb.c, usb_hub.c, xhci.c, xhci-ring.c and xhci_mem.c
> 
> In my backported code which is a bit hacked up due to the lack of DT
> support, I am seeing it fail when it attempts to set the hub depth. Note
> that everything works fine with a USB 2 hub. I was hoping to compare the
> stock U- Boot with my hacked up code to track down the issue.
> 
> -Aaron
> 
> Here are the logs:
> 
> => usb start
> starting USB...
> Bus xhci at 1680000000000: xhci_register: dev='xhci at 1680000000000',
> ctrl=ffffffff8eea1aa0, hccr=8001680000000000, hcor=8001680000000020
> // Halt the HC: 8001680000000020
> // Reset the HC
> Register 2000140 NbrPorts 2
> Starting the controller
> USB XHCI 1.00
> Bus xhci at 1690000000000: xhci_register: dev='xhci at 1690000000000',
> ctrl=ffffffff8eeab040, hccr=8001690000000000, hcor=8001690000000020
> // Halt the HC: 8001690000000020
> // Reset the HC
> Register 2000140 NbrPorts 2
> Starting the controller
> USB XHCI 1.00
> scanning bus xhci at 1680000000000 for devices... xhci_alloc_device:
> dev='xhci at 1680000000000', udev=ffffffff8ee9c280
> set address 1
> usb_control_msg: request: 0x5, requesttype: 0x0, value 0x1 index 0x0 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1680000000000', portnr=0
> USB_REQ_SET_ADDRESS
> scrlen = 0
>  req->length = 0
> Len is 0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0
> length 0x12
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1680000000000', portnr=0
> USB_DT_DEVICE request
> scrlen = 18
>  req->length = 18
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0
> length 0x9
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1680000000000', portnr=0
> USB_DT_CONFIG config
> scrlen = 25
>  req->length = 9
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0
> length 0x1F
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1680000000000', portnr=0
> USB_DT_CONFIG config
> scrlen = 25
>  req->length = 31
> get_conf_no 0 Result 25, wLength 31
> if 0, ep 0
> ##EP epmaxpacketin[1] = 2048
> set configuration 1
> usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1680000000000', portnr=0
> scrlen = 0
>  req->length = 0
> Len is 0
> new device strings: Mfr=1, Product=2, SerialNumber=0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0
> length 0xFF
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1680000000000', portnr=0
> USB_DT_STRING config
> scrlen = 4
>  req->length = 255
> USB device number 1 default language ID 0x409
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409
> length 0xFF
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1680000000000', portnr=0
> USB_DT_STRING config
> scrlen = 14
>  req->length = 255
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x302 index 0x409
> length 0xFF
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1680000000000', portnr=0
> USB_DT_STRING config
> scrlen = 42
>  req->length = 255
> Manufacturer U-Boot
> Product      XHCI Host Controller
> SerialNumber
> usb_hub_post_probe
> usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2A00 index 0x0
> length 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> USB_DT_HUB config
> scrlen = 8
>  req->length = 4
> usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2A00 index 0x0
> length 0xC
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> USB_DT_HUB config
> scrlen = 8
>  req->length = 12
> 2 ports detected
> ganged power switching
> standalone hub
> individual port over-current protection
> TT requires at most 8 FS bit times (666 ns)
> power on to power good time: 20ms
> hub controller current requirement: 0mA
> port 1 is removable
> port 2 is removable
> usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 2
>  req->length = 4
> get_hub_status returned status 1, change 802
> local power source is lost (inactive)
> no over-current condition exists
> xhci_update_hub_device: dev='xhci at 1680000000000', udev=ffffffff8eeae040
> enabling power on all ports
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 0
>  req->length = 0
> Len is 0
> port 1 returns 0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 0
>  req->length = 0
> Len is 0
> port 2 returns 0
> pgood_delay=20ms
> devnum=1 poweron: query_delay=100 connect_timeout=1100
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 2 Status 100 Change 0
> devnum=1 port=2: timeout
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1680000000000', udev=ffffffff8eeae040,
> udev->dev='usb_hub', portnr=0
> scrlen = 4
>  req->length = 4
> Port 1 Status 100 Change 0
> devnum=1 port=1: timeout
> 1 USB Device(s) found
> scanning bus xhci at 1690000000000 for devices... xhci_alloc_device:
> dev='xhci at 1690000000000', udev=ffffffff8ee9c280
> set address 1
> usb_control_msg: request: 0x5, requesttype: 0x0, value 0x1 index 0x0 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1690000000000', portnr=0
> USB_REQ_SET_ADDRESS
> scrlen = 0
>  req->length = 0
> Len is 0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0
> length 0x12
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1690000000000', portnr=0
> USB_DT_DEVICE request
> scrlen = 18
>  req->length = 18
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0
> length 0x9
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1690000000000', portnr=0
> USB_DT_CONFIG config
> scrlen = 25
>  req->length = 9
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0
> length 0x1F
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1690000000000', portnr=0
> USB_DT_CONFIG config
> scrlen = 25
>  req->length = 31
> get_conf_no 0 Result 25, wLength 31
> if 0, ep 0
> ##EP epmaxpacketin[1] = 2048
> set configuration 1
> usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1690000000000', portnr=0
> scrlen = 0
>  req->length = 0
> Len is 0
> new device strings: Mfr=1, Product=2, SerialNumber=0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0
> length 0xFF
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1690000000000', portnr=0
> USB_DT_STRING config
> scrlen = 4
>  req->length = 255
> USB device number 1 default language ID 0x409
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409
> length 0xFF
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1690000000000', portnr=0
> USB_DT_STRING config
> scrlen = 14
>  req->length = 255
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x302 index 0x409
> length 0xFF
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9c280,
> udev->dev='xhci at 1690000000000', portnr=0
> USB_DT_STRING config
> scrlen = 42
>  req->length = 255
> Manufacturer U-Boot
> Product      XHCI Host Controller
> SerialNumber
> usb_hub_post_probe
> usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2A00 index 0x0
> length 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> USB_DT_HUB config
> scrlen = 8
>  req->length = 4
> usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2A00 index 0x0
> length 0xC
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> USB_DT_HUB config
> scrlen = 8
>  req->length = 12
> 2 ports detected
> ganged power switching
> standalone hub
> individual port over-current protection
> TT requires at most 8 FS bit times (666 ns)
> power on to power good time: 20ms
> hub controller current requirement: 0mA
> port 1 is removable
> port 2 is removable
> usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> scrlen = 2
>  req->length = 4
> get_hub_status returned status 1, change 802
> local power source is lost (inactive)
> no over-current condition exists
> xhci_update_hub_device: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0
> enabling power on all ports
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> scrlen = 0
>  req->length = 0
> Len is 0
> port 1 returns 0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> scrlen = 0
>  req->length = 0
> Len is 0
> port 2 returns 0
> pgood_delay=20ms
> devnum=1 poweron: query_delay=100 connect_timeout=1100
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> SPEED = FULLSPEED
> scrlen = 4
>  req->length = 4
> Port 1 Status 101 Change 1
> devnum=1 port=1: USB dev found
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> SPEED = FULLSPEED
> scrlen = 4
>  req->length = 4
> portstatus 101, change 1, 12 Mb/s
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x1
> length 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> clear port connect change, actual port 1 status  = 0x6e1
> scrlen = 0
>  req->length = 0
> Len is 0
> usb_hub_port_reset: resetting 'usb_hub' port 1...
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> scrlen = 0
>  req->length = 0
> Len is 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> SPEED = FULLSPEED
> scrlen = 4
>  req->length = 4
> portstatus 111, change 0, 12 Mb/s
> STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> scrlen = 0
>  req->length = 0
> Len is 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> SPEED = HIGHSPEED
> scrlen = 4
>  req->length = 4
> portstatus 503, change 10, 480 Mb/s
> STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 1
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1
> length 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> clear port reset change, actual port 1 status  = 0xe03
> scrlen = 0
>  req->length = 0
> Len is 0
> xhci_alloc_device: dev='xhci at 1690000000000', udev=ffffffff8ee9b420
> EP STATE RUNNING.
> set address 2
> usb_control_msg: request: 0x5, requesttype: 0x0, value 0x2 index 0x0 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=1
> Setting up addressable devices ffffffff8eeab980
> route string 0
> port_num = 1
> SPEED = 3
> Setting Packet size = 64bytes
> EP STATE RUNNING.
> Successful Address Device command
> xHC internal address is: 1
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0
> length 0x12
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=1
> req=6 (0x6), type=128 (0x80), value=256 (0x100), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeacb80, start_cycle 1
> req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) =
> 256,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 18
> length_field = 18, length = 18,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0
> length 0x9
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=1
> req=6 (0x6), type=128 (0x80), value=512 (0x200), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeacbb0, start_cycle 1
> req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) =
> 512,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 9
> length_field = 9, length = 9,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0
> length 0x19
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=1
> req=6 (0x6), type=128 (0x80), value=512 (0x200), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeacbe0, start_cycle 1
> req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) =
> 512,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 25
> length_field = 25, length = 25,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> get_conf_no 0 Result 25, wLength 25
> if 0, ep 0
> ##EP epmaxpacketin[1] = 1
> set configuration 1
> usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=1
> EP STATE RUNNING.
> Successful Configure Endpoint command
> req=9 (0x9), type=0 (0x0), value=1 (0x1), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeacc10, start_cycle 1
> req->requesttype = 0, req->request = 9,le16_to_cpu(req->value) =
> 1,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> new device strings: Mfr=0, Product=1, SerialNumber=0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0
> length 0xFF
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=1
> req=6 (0x6), type=128 (0x80), value=768 (0x300), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeacc30, start_cycle 1
> req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) =
> 768,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 255
> length_field = 255, length = 255,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> USB device number 2 default language ID 0x409
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409
> length 0xFF
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=1
> req=6 (0x6), type=128 (0x80), value=769 (0x301), index=1033
> EP STATE RUNNING.
> start_trb ffffffff8eeacc60, start_cycle 1
> req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) =
> 769,le16_to_cpu(req->index) = 1033,le16_to_cpu(req->length) = 255
> length_field = 255, length = 255,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> Manufacturer
> Product      USB2.0 Hub
> SerialNumber
> usb_hub_post_probe
> usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0
> length 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920,
> udev->dev='usb_hub', portnr=1
> req=6 (0x6), type=160 (0xa0), value=10496 (0x2900), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeacc90, start_cycle 1
> req->requesttype = 160, req->request = 6,le16_to_cpu(req->value) =
> 10496,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 4
> length_field = 4, length = 4,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0
> length 0x9
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920,
> udev->dev='usb_hub', portnr=1
> req=6 (0x6), type=160 (0xa0), value=10496 (0x2900), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeaccc0, start_cycle 1
> req->requesttype = 160, req->request = 6,le16_to_cpu(req->value) =
> 10496,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 9
> length_field = 9, length = 9,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> 4 ports detected
> individual port power switching
> standalone hub
> individual port over-current protection
> Single TT
> TT requires at most 32 FS bit times (2664 ns)
> power on to power good time: 100ms
> hub controller current requirement: 100mA
> port 1 is removable
> port 2 is removable
> port 3 is removable
> port 4 is removable
> usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920,
> udev->dev='usb_hub', portnr=1
> req=0 (0x0), type=160 (0xa0), value=0 (0x0), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeaccf0, start_cycle 1
> req->requesttype = 160, req->request = 0,le16_to_cpu(req->value) =
> 0,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 4
> length_field = 4, length = 4,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> get_hub_status returned status 0, change 0
> local power source is good
> no over-current condition exists
> xhci_update_hub_device: dev='xhci at 1690000000000', udev=ffffffff8eeb0920
> EP STATE RUNNING.
> Successful Configure Endpoint command
> enabling power on all ports
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920,
> udev->dev='usb_hub', portnr=1
> req=3 (0x3), type=35 (0x23), value=8 (0x8), index=1
> EP STATE RUNNING.
> start_trb ffffffff8eeacd20, start_cycle 1
> req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) =
> 8,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> port 1 returns 0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920,
> udev->dev='usb_hub', portnr=1
> req=3 (0x3), type=35 (0x23), value=8 (0x8), index=2
> EP STATE RUNNING.
> start_trb ffffffff8eeacd40, start_cycle 1
> req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) =
> 8,le16_to_cpu(req->index) = 2,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> port 2 returns 0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x3 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920,
> udev->dev='usb_hub', portnr=1
> req=3 (0x3), type=35 (0x23), value=8 (0x8), index=3
> EP STATE RUNNING.
> start_trb ffffffff8eeacd60, start_cycle 1
> req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) =
> 8,le16_to_cpu(req->index) = 3,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> port 3 returns 0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x4 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920,
> udev->dev='usb_hub', portnr=1
> req=3 (0x3), type=35 (0x23), value=8 (0x8), index=4
> EP STATE RUNNING.
> start_trb ffffffff8eeacd80, start_cycle 1
> req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) =
> 8,le16_to_cpu(req->index) = 4,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> port 4 returns 0
> pgood_delay=100ms
> devnum=2 poweron: query_delay=100 connect_timeout=1100
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> SPEED = SUPERSPEED
> scrlen = 4
>  req->length = 4
> Port 2 Status 703 Change 1
> devnum=1 port=2: USB dev found
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> SPEED = SUPERSPEED
> scrlen = 4
>  req->length = 4
> portstatus 703, change 1, 5 Gb/s
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x2
> length 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> clear port connect change, actual port 2 status  = 0x1203
> scrlen = 0
>  req->length = 0
> Len is 0
> usb_hub_port_reset: resetting 'usb_hub' port 2...
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x2 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> scrlen = 0
>  req->length = 0
> Len is 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> SPEED = SUPERSPEED
> scrlen = 4
>  req->length = 4
> portstatus 703, change 10, 5 Gb/s
> STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 1
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x2
> length 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeae9e0,
> udev->dev='usb_hub', portnr=0
> clear port reset change, actual port 2 status  = 0x1203
> scrlen = 0
>  req->length = 0
> Len is 0
> xhci_alloc_device: dev='xhci at 1690000000000', udev=ffffffff8ee9b420
> EP STATE RUNNING.
> set address 3
> usb_control_msg: request: 0x5, requesttype: 0x0, value 0x3 index 0x0 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=2
> Setting up addressable devices ffffffff8eeab980
> route string 0
> port_num = 2
> SPEED = 5
> Setting Packet size = 512bytes
> EP STATE RUNNING.
> Successful Address Device command
> xHC internal address is: 2
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0
> length 0x12
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=2
> req=6 (0x6), type=128 (0x80), value=256 (0x100), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeb2580, start_cycle 1
> req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) =
> 256,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 18
> length_field = 18, length = 18,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0
> length 0x9
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=2
> req=6 (0x6), type=128 (0x80), value=512 (0x200), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeb25b0, start_cycle 1
> req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) =
> 512,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 9
> length_field = 9, length = 9,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0
> length 0x1F
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=2
> req=6 (0x6), type=128 (0x80), value=512 (0x200), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeb25e0, start_cycle 1
> req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) =
> 512,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 31
> length_field = 31, length = 31,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> get_conf_no 0 Result 31, wLength 31
> if 0, ep 0
> ##EP epmaxpacketin[1] = 2
> set configuration 1
> usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=2
> EP STATE RUNNING.
> Successful Configure Endpoint command
> req=9 (0x9), type=0 (0x0), value=1 (0x1), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeb2610, start_cycle 1
> req->requesttype = 0, req->request = 9,le16_to_cpu(req->value) =
> 1,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> new device strings: Mfr=1, Product=2, SerialNumber=0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0
> length 0xFF
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=2
> req=6 (0x6), type=128 (0x80), value=768 (0x300), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeb2630, start_cycle 1
> req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) =
> 768,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 255
> length_field = 255, length = 255,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> USB device number 3 default language ID 0x409
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409
> length 0xFF
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=2
> req=6 (0x6), type=128 (0x80), value=769 (0x301), index=1033
> EP STATE RUNNING.
> start_trb ffffffff8eeb2660, start_cycle 1
> req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) =
> 769,le16_to_cpu(req->index) = 1033,le16_to_cpu(req->length) = 255
> length_field = 255, length = 255,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> usb_control_msg: request: 0x6, requesttype: 0x80, value 0x302 index 0x409
> length 0xFF
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=2
> req=6 (0x6), type=128 (0x80), value=770 (0x302), index=1033
> EP STATE RUNNING.
> start_trb ffffffff8eeb2690, start_cycle 1
> req->requesttype = 128, req->request = 6,le16_to_cpu(req->value) =
> 770,le16_to_cpu(req->index) = 1033,le16_to_cpu(req->length) = 255
> length_field = 255, length = 255,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> Manufacturer VIA Labs, Inc.
> Product      4-Port USB 3.0 Hub
> SerialNumber
> usb_hub_post_probe
> usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2A00 index 0x0
> length 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=6 (0x6), type=160 (0xa0), value=10752 (0x2a00), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeb26c0, start_cycle 1
> req->requesttype = 160, req->request = 6,le16_to_cpu(req->value) =
> 10752,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 4
> length_field = 4, length = 4,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2A00 index 0x0
> length 0xC
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=6 (0x6), type=160 (0xa0), value=10752 (0x2a00), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeb26f0, start_cycle 1
> req->requesttype = 160, req->request = 6,le16_to_cpu(req->value) =
> 10752,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 12
> length_field = 12, length = 12,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> 4 ports detected
> individual port power switching
> standalone hub
> individual port over-current protection
> TT requires at most 8 FS bit times (666 ns)
> power on to power good time: 2ms
> hub controller current requirement: 2mA
> port 1 is removable
> port 2 is removable
> port 3 is removable
> port 4 is removable
> usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=0 (0x0), type=160 (0xa0), value=0 (0x0), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeb2720, start_cycle 1
> req->requesttype = 160, req->request = 0,le16_to_cpu(req->value) =
> 0,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 4
> length_field = 4, length = 4,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> get_hub_status returned status 0, change 0
> local power source is good
> no over-current condition exists
> xhci_update_hub_device: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40
> EP STATE RUNNING.
> Successful Configure Endpoint command
> set hub (ffffffff8eeb2f40) depth to 0
> usb_control_msg: request: 0xC, requesttype: 0x20, value 0x0 index 0x0 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=12 (0xc), type=32 (0x20), value=0 (0x0), index=0
> EP STATE RUNNING.
> start_trb ffffffff8eeb2750, start_cycle 1
> req->requesttype = 32, req->request = 12,le16_to_cpu(req->value) =
> 0,le16_to_cpu(req->index) = 0,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> enabling power on all ports
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=3 (0x3), type=35 (0x23), value=8 (0x8), index=1
> EP STATE RUNNING.
> start_trb ffffffff8eeb2770, start_cycle 1
> req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) =
> 8,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> port 1 returns 0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=3 (0x3), type=35 (0x23), value=8 (0x8), index=2
> EP STATE RUNNING.
> start_trb ffffffff8eeb2790, start_cycle 1
> req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) =
> 8,le16_to_cpu(req->index) = 2,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> port 2 returns 0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x3 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=3 (0x3), type=35 (0x23), value=8 (0x8), index=3
> EP STATE RUNNING.
> start_trb ffffffff8eeb27b0, start_cycle 1
> req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) =
> 8,le16_to_cpu(req->index) = 3,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> port 3 returns 0
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x4 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=3 (0x3), type=35 (0x23), value=8 (0x8), index=4
> EP STATE RUNNING.
> start_trb ffffffff8eeb27d0, start_cycle 1
> req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) =
> 8,le16_to_cpu(req->index) = 4,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> port 4 returns 0
> pgood_delay=2ms
> devnum=3 poweron: query_delay=100 connect_timeout=1100
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920,
> udev->dev='usb_hub', portnr=1
> req=0 (0x0), type=163 (0xa3), value=0 (0x0), index=1
> EP STATE RUNNING.
> start_trb ffffffff8eeacda0, start_cycle 1
> req->requesttype = 163, req->request = 0,le16_to_cpu(req->value) =
> 0,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 4
> length_field = 4, length = 4,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> Port 1 Status 100 Change 0
> devnum=2 port=1: timeout
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920,
> udev->dev='usb_hub', portnr=1
> req=0 (0x0), type=163 (0xa3), value=0 (0x0), index=2
> EP STATE RUNNING.
> start_trb ffffffff8eeacdd0, start_cycle 1
> req->requesttype = 163, req->request = 0,le16_to_cpu(req->value) =
> 0,le16_to_cpu(req->index) = 2,le16_to_cpu(req->length) = 4
> length_field = 4, length = 4,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> Port 2 Status 100 Change 0
> devnum=2 port=2: timeout
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x3 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920,
> udev->dev='usb_hub', portnr=1
> req=0 (0x0), type=163 (0xa3), value=0 (0x0), index=3
> EP STATE RUNNING.
> start_trb ffffffff8eeace00, start_cycle 1
> req->requesttype = 163, req->request = 0,le16_to_cpu(req->value) =
> 0,le16_to_cpu(req->index) = 3,le16_to_cpu(req->length) = 4
> length_field = 4, length = 4,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> Port 3 Status 100 Change 0
> devnum=2 port=3: timeout
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x4 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb0920,
> udev->dev='usb_hub', portnr=1
> req=0 (0x0), type=163 (0xa3), value=0 (0x0), index=4
> EP STATE RUNNING.
> start_trb ffffffff8eeace30, start_cycle 1
> req->requesttype = 163, req->request = 0,le16_to_cpu(req->value) =
> 0,le16_to_cpu(req->index) = 4,le16_to_cpu(req->length) = 4
> length_field = 4, length = 4,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> Port 4 Status 100 Change 0
> devnum=2 port=4: timeout
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=0 (0x0), type=163 (0xa3), value=0 (0x0), index=1
> EP STATE RUNNING.
> start_trb ffffffff8eeb27f0, start_cycle 1
> req->requesttype = 163, req->request = 0,le16_to_cpu(req->value) =
> 0,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 4
> length_field = 4, length = 4,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> Port 1 Status 207 Change 31
> port 1 reset change
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1
> length 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=1 (0x1), type=35 (0x23), value=20 (0x14), index=1
> EP STATE RUNNING.
> start_trb ffffffff8eeb2820, start_cycle 1
> req->requesttype = 35, req->request = 1,le16_to_cpu(req->value) =
> 20,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> port 1 BH reset change
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x1D index 0x1
> length 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=1 (0x1), type=35 (0x23), value=29 (0x1d), index=1
> EP STATE RUNNING.
> start_trb ffffffff8eeb2840, start_cycle 1
> req->requesttype = 35, req->request = 1,le16_to_cpu(req->value) =
> 29,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> devnum=3 port=1: USB dev found
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=0 (0x0), type=163 (0xa3), value=0 (0x0), index=1
> EP STATE RUNNING.
> start_trb ffffffff8eeb2860, start_cycle 1
> req->requesttype = 163, req->request = 0,le16_to_cpu(req->value) =
> 0,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 4
> length_field = 4, length = 4,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> portstatus 207, change 1, 1.5 Mb/s
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x1
> length 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=1 (0x1), type=35 (0x23), value=16 (0x10), index=1
> EP STATE RUNNING.
> start_trb ffffffff8eeb2890, start_cycle 1
> req->requesttype = 35, req->request = 1,le16_to_cpu(req->value) =
> 16,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> usb_hub_port_reset: resetting 'usb_hub' port 1...
> usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=3 (0x3), type=35 (0x23), value=4 (0x4), index=1
> EP STATE RUNNING.
> start_trb ffffffff8eeb28b0, start_cycle 1
> req->requesttype = 35, req->request = 3,le16_to_cpu(req->value) =
> 4,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length
> 0x4
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=0 (0x0), type=163 (0xa3), value=0 (0x0), index=1
> EP STATE RUNNING.
> start_trb ffffffff8eeb28d0, start_cycle 1
> req->requesttype = 163, req->request = 0,le16_to_cpu(req->value) =
> 0,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 4
> length_field = 4, length = 4,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> portstatus 207, change 10, 1.5 Mb/s
> STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 1
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1
> length 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=1 (0x1), type=35 (0x23), value=20 (0x14), index=1
> EP STATE RUNNING.
> start_trb ffffffff8eeb2900, start_cycle 1
> req->requesttype = 35, req->request = 1,le16_to_cpu(req->value) =
> 20,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> xhci_alloc_device: dev='xhci at 1690000000000', udev=ffffffff8ee9b420
> EP STATE RUNNING.
> set address 4
> usb_control_msg: request: 0x5, requesttype: 0x0, value 0x4 index 0x0 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8ee9b420,
> udev->dev='usb_hub', portnr=1
> Setting up addressable devices ffffffff8eeab980
> route string 1
> port_num = 2
> SPEED = 1
> Setting Packet size = 8bytes
> EP STATE RUNNING.
> Device not responding to set address.
> 
>       USB device not accepting new address (error=80000000)
> hub: disabling port 1
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x1 index 0x1 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=1 (0x1), type=35 (0x23), value=1 (0x1), index=1
> EP STATE RUNNING.
> start_trb ffffffff8eeb2920, start_cycle 1
> req->requesttype = 35, req->request = 1,le16_to_cpu(req->value) =
> 1,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> port 1 suspend change
> usb_control_msg: request: 0x1, requesttype: 0x23, value 0x2 index 0x1 length
> 0x0
> xhci_submit_control_msg: dev='xhci at 1690000000000', udev=ffffffff8eeb2f40,
> udev->dev='usb_hub', portnr=2
> req=1 (0x1), type=35 (0x23), value=2 (0x2), index=1
> WARN halted endpoint, queueing URB anyway.
> EP STATE RUNNING.
> start_trb ffffffff8eeb2940, start_cycle 1
> req->requesttype = 35, req->request = 1,le16_to_cpu(req->value) =
> 2,le16_to_cpu(req->index) = 1,le16_to_cpu(req->length) = 0
> length_field = 0, length = 0,xhci_td_remainder(length) = 0 ,
> TRB_INTR_TARGET(0) = 0
> XHCI control transfer timed out, aborting...
> EP STATE RUNNING.
> Unexpected XHCI event TRB, skipping... (0eea9c20 00000000 13000000 02008401)
> BUG at drivers/usb/host/xhci-ring.c:503/abort_td()!
> BUG!
> resetting ...

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [EXT] USB3 XHCI crashing with USB 3 hub on Octeon
  2021-02-23  7:31 ` [EXT] " Aaron Williams
@ 2021-02-23  8:07   ` Bin Meng
  2021-02-23  8:15     ` Stefan Roese
                       ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Bin Meng @ 2021-02-23  8:07 UTC (permalink / raw)
  To: u-boot

Hi Aaron,

On Tue, Feb 23, 2021 at 3:31 PM Aaron Williams <awilliams@marvell.com> wrote:
>
> I have a follow-up. USB is working on our OcteonTX boards running 2020.10. It
> may be something specific to the Octeon port. Note that I did see a problem
> where the scratchpad memory is using direct pointers instead of physical
> addresses (which will not work on MIPS). As far as I know, however, the Octeon
> XHCI controller does not use the scratchpad memory.
>

Do you plan to send a patch to convert the scratchpad pointer to
physical address?

Regards,
Bin

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [EXT] USB3 XHCI crashing with USB 3 hub on Octeon
  2021-02-23  8:07   ` Bin Meng
@ 2021-02-23  8:15     ` Stefan Roese
  2021-02-23  9:23       ` Nicolas Saenz Julienne
  2021-02-23  8:38     ` Mark Kettenis
  2021-02-23  8:49     ` Aaron Williams
  2 siblings, 1 reply; 13+ messages in thread
From: Stefan Roese @ 2021-02-23  8:15 UTC (permalink / raw)
  To: u-boot

Hi Bin,
Hi Aaron,

I've added Nicolas to Cc, as he also recently did some work on the
physical vs virtual addresses in the xHCI driver.

On 23.02.21 09:07, Bin Meng wrote:
> Hi Aaron,
> 
> On Tue, Feb 23, 2021 at 3:31 PM Aaron Williams <awilliams@marvell.com> wrote:
>>
>> I have a follow-up. USB is working on our OcteonTX boards running 2020.10. It
>> may be something specific to the Octeon port. Note that I did see a problem
>> where the scratchpad memory is using direct pointers instead of physical
>> addresses (which will not work on MIPS). As far as I know, however, the Octeon
>> XHCI controller does not use the scratchpad memory.
>>
> 
> Do you plan to send a patch to convert the scratchpad pointer to
> physical address?

Nicolas, did your patch also address the scratchpad area (sorry for not
looking myself).

Thanks,
Stefan

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [EXT] USB3 XHCI crashing with USB 3 hub on Octeon
  2021-02-23  8:07   ` Bin Meng
  2021-02-23  8:15     ` Stefan Roese
@ 2021-02-23  8:38     ` Mark Kettenis
  2021-02-23  8:49     ` Aaron Williams
  2 siblings, 0 replies; 13+ messages in thread
From: Mark Kettenis @ 2021-02-23  8:38 UTC (permalink / raw)
  To: u-boot

> From: Bin Meng <bmeng.cn@gmail.com>
> Date: Tue, 23 Feb 2021 16:07:57 +0800
> 
> Hi Aaron,
> 
> On Tue, Feb 23, 2021 at 3:31 PM Aaron Williams <awilliams@marvell.com> wrote:
> >
> > I have a follow-up. USB is working on our OcteonTX boards running 2020.10. It
> > may be something specific to the Octeon port. Note that I did see a problem
> > where the scratchpad memory is using direct pointers instead of physical
> > addresses (which will not work on MIPS). As far as I know, however, the Octeon
> > XHCI controller does not use the scratchpad memory.
> >
> 
> Do you plan to send a patch to convert the scratchpad pointer to
> physical address?

I actually ran into that issue while working on my port of U-Boot to
the Apple M1 machines.  Probably makes sense to do that as a separate
patch.  Will see if I can do so later today.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [EXT] USB3 XHCI crashing with USB 3 hub on Octeon
  2021-02-23  8:07   ` Bin Meng
  2021-02-23  8:15     ` Stefan Roese
  2021-02-23  8:38     ` Mark Kettenis
@ 2021-02-23  8:49     ` Aaron Williams
  2 siblings, 0 replies; 13+ messages in thread
From: Aaron Williams @ 2021-02-23  8:49 UTC (permalink / raw)
  To: u-boot

Hi Bin,

I can do that later. Right now I'm under the gun to get my backport working 
with a USB 3 hub. It is failing when trying to set the hub depth.

-Aaron

On Tuesday, February 23, 2021 12:07:57 AM PST Bin Meng wrote:
> Hi Aaron,
> 
> On Tue, Feb 23, 2021 at 3:31 PM Aaron Williams <awilliams@marvell.com> 
wrote:
> > I have a follow-up. USB is working on our OcteonTX boards running 2020.10.
> > It may be something specific to the Octeon port. Note that I did see a
> > problem where the scratchpad memory is using direct pointers instead of
> > physical addresses (which will not work on MIPS). As far as I know,
> > however, the Octeon XHCI controller does not use the scratchpad memory.
> 
> Do you plan to send a patch to convert the scratchpad pointer to
> physical address?
> 
> Regards,
> Bin

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [EXT] USB3 XHCI crashing with USB 3 hub on Octeon
  2021-02-23  8:15     ` Stefan Roese
@ 2021-02-23  9:23       ` Nicolas Saenz Julienne
  2021-02-23  9:25         ` Stefan Roese
  2021-02-23 10:36         ` Mark Kettenis
  0 siblings, 2 replies; 13+ messages in thread
From: Nicolas Saenz Julienne @ 2021-02-23  9:23 UTC (permalink / raw)
  To: u-boot

On Tue, 2021-02-23 at 09:15 +0100, Stefan Roese wrote:
> Hi Bin,
> Hi Aaron,
> 
> I've added Nicolas to Cc, as he also recently did some work on the
> physical vs virtual addresses in the xHCI driver.
> 
> On 23.02.21 09:07, Bin Meng wrote:
> > Hi Aaron,
> > 
> > On Tue, Feb 23, 2021 at 3:31 PM Aaron Williams <awilliams@marvell.com> wrote:
> > > 
> > > I have a follow-up. USB is working on our OcteonTX boards running 2020.10. It
> > > may be something specific to the Octeon port. Note that I did see a problem
> > > where the scratchpad memory is using direct pointers instead of physical
> > > addresses (which will not work on MIPS). As far as I know, however, the Octeon
> > > XHCI controller does not use the scratchpad memory.
> > > 
> > 
> > Do you plan to send a patch to convert the scratchpad pointer to
> > physical address?
> 
> Nicolas, did your patch also address the scratchpad area (sorry for not
> looking myself).

Yes, my patch took care of that :).

Regards,
Nicolas

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210223/3bc12936/attachment.sig>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [EXT] USB3 XHCI crashing with USB 3 hub on Octeon
  2021-02-23  9:23       ` Nicolas Saenz Julienne
@ 2021-02-23  9:25         ` Stefan Roese
  2021-02-23  9:32           ` Nicolas Saenz Julienne
  2021-02-23 10:36         ` Mark Kettenis
  1 sibling, 1 reply; 13+ messages in thread
From: Stefan Roese @ 2021-02-23  9:25 UTC (permalink / raw)
  To: u-boot

Hi Nicolas,

On 23.02.21 10:23, Nicolas Saenz Julienne wrote:
> On Tue, 2021-02-23 at 09:15 +0100, Stefan Roese wrote:
>> Hi Bin,
>> Hi Aaron,
>>
>> I've added Nicolas to Cc, as he also recently did some work on the
>> physical vs virtual addresses in the xHCI driver.
>>
>> On 23.02.21 09:07, Bin Meng wrote:
>>> Hi Aaron,
>>>
>>> On Tue, Feb 23, 2021 at 3:31 PM Aaron Williams <awilliams@marvell.com> wrote:
>>>>
>>>> I have a follow-up. USB is working on our OcteonTX boards running 2020.10. It
>>>> may be something specific to the Octeon port. Note that I did see a problem
>>>> where the scratchpad memory is using direct pointers instead of physical
>>>> addresses (which will not work on MIPS). As far as I know, however, the Octeon
>>>> XHCI controller does not use the scratchpad memory.
>>>>
>>>
>>> Do you plan to send a patch to convert the scratchpad pointer to
>>> physical address?
>>
>> Nicolas, did your patch also address the scratchpad area (sorry for not
>> looking myself).
> 
> Yes, my patch took care of that :).

Great. IIRC, your patchset may need a rebase on top of current mainline
because of a recent xHCI patch of mine. If this is the case, could you
please rebase the patchset and send the new version soon?

Thanks,
Stefan

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [EXT] USB3 XHCI crashing with USB 3 hub on Octeon
  2021-02-23  9:25         ` Stefan Roese
@ 2021-02-23  9:32           ` Nicolas Saenz Julienne
  0 siblings, 0 replies; 13+ messages in thread
From: Nicolas Saenz Julienne @ 2021-02-23  9:32 UTC (permalink / raw)
  To: u-boot

On Tue, 2021-02-23 at 10:25 +0100, Stefan Roese wrote:
> Hi Nicolas,
> 
> On 23.02.21 10:23, Nicolas Saenz Julienne wrote:
> > On Tue, 2021-02-23 at 09:15 +0100, Stefan Roese wrote:
> > > Hi Bin,
> > > Hi Aaron,
> > > 
> > > I've added Nicolas to Cc, as he also recently did some work on the
> > > physical vs virtual addresses in the xHCI driver.
> > > 
> > > On 23.02.21 09:07, Bin Meng wrote:
> > > > Hi Aaron,
> > > > 
> > > > On Tue, Feb 23, 2021 at 3:31 PM Aaron Williams <awilliams@marvell.com> wrote:
> > > > > 
> > > > > I have a follow-up. USB is working on our OcteonTX boards running 2020.10. It
> > > > > may be something specific to the Octeon port. Note that I did see a problem
> > > > > where the scratchpad memory is using direct pointers instead of physical
> > > > > addresses (which will not work on MIPS). As far as I know, however, the Octeon
> > > > > XHCI controller does not use the scratchpad memory.
> > > > > 
> > > > 
> > > > Do you plan to send a patch to convert the scratchpad pointer to
> > > > physical address?
> > > 
> > > Nicolas, did your patch also address the scratchpad area (sorry for not
> > > looking myself).
> > 
> > Yes, my patch took care of that :).
> 
> Great. IIRC, your patchset may need a rebase on top of current mainline
> because of a recent xHCI patch of mine. If this is the case, could you
> please rebase the patchset and send the new version soon?

My series was merged upstream some days ago. Nothing to worry though, I added
your patch as a fixup to mine (see 1a474559d90a) in master.

Regards,
Nicolas

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210223/bbda0df9/attachment.sig>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [EXT] USB3 XHCI crashing with USB 3 hub on Octeon
  2021-02-23  9:23       ` Nicolas Saenz Julienne
  2021-02-23  9:25         ` Stefan Roese
@ 2021-02-23 10:36         ` Mark Kettenis
  2021-02-23 10:39           ` Stefan Roese
  1 sibling, 1 reply; 13+ messages in thread
From: Mark Kettenis @ 2021-02-23 10:36 UTC (permalink / raw)
  To: u-boot

> From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
> Date: Tue, 23 Feb 2021 10:23:04 +0100
> 
> On Tue, 2021-02-23 at 09:15 +0100, Stefan Roese wrote:
> > Hi Bin,
> > Hi Aaron,
> > 
> > I've added Nicolas to Cc, as he also recently did some work on the
> > physical vs virtual addresses in the xHCI driver.
> > 
> > On 23.02.21 09:07, Bin Meng wrote:
> > > Hi Aaron,
> > > 
> > > On Tue, Feb 23, 2021 at 3:31 PM Aaron Williams <awilliams@marvell.com> wrote:
> > > > 
> > > > I have a follow-up. USB is working on our OcteonTX boards running 2020.10. It
> > > > may be something specific to the Octeon port. Note that I did see a problem
> > > > where the scratchpad memory is using direct pointers instead of physical
> > > > addresses (which will not work on MIPS). As far as I know, however, the Octeon
> > > > XHCI controller does not use the scratchpad memory.
> > > > 
> > > 
> > > Do you plan to send a patch to convert the scratchpad pointer to
> > > physical address?
> > 
> > Nicolas, did your patch also address the scratchpad area (sorry for not
> > looking myself).
> 
> Yes, my patch took care of that :).

Ah cool.  I missed that patch.  Looks like this is exactly what I need
to cater for the translation done by the IOMMU on the Apple M1.

Won't be sending that patch then ;)

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [EXT] USB3 XHCI crashing with USB 3 hub on Octeon
  2021-02-23 10:36         ` Mark Kettenis
@ 2021-02-23 10:39           ` Stefan Roese
  2021-02-23 13:57             ` Aaron Williams
  0 siblings, 1 reply; 13+ messages in thread
From: Stefan Roese @ 2021-02-23 10:39 UTC (permalink / raw)
  To: u-boot

On 23.02.21 11:36, Mark Kettenis wrote:
>> From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
>> Date: Tue, 23 Feb 2021 10:23:04 +0100
>>
>> On Tue, 2021-02-23 at 09:15 +0100, Stefan Roese wrote:
>>> Hi Bin,
>>> Hi Aaron,
>>>
>>> I've added Nicolas to Cc, as he also recently did some work on the
>>> physical vs virtual addresses in the xHCI driver.
>>>
>>> On 23.02.21 09:07, Bin Meng wrote:
>>>> Hi Aaron,
>>>>
>>>> On Tue, Feb 23, 2021 at 3:31 PM Aaron Williams <awilliams@marvell.com> wrote:
>>>>>
>>>>> I have a follow-up. USB is working on our OcteonTX boards running 2020.10. It
>>>>> may be something specific to the Octeon port. Note that I did see a problem
>>>>> where the scratchpad memory is using direct pointers instead of physical
>>>>> addresses (which will not work on MIPS). As far as I know, however, the Octeon
>>>>> XHCI controller does not use the scratchpad memory.
>>>>>
>>>>
>>>> Do you plan to send a patch to convert the scratchpad pointer to
>>>> physical address?
>>>
>>> Nicolas, did your patch also address the scratchpad area (sorry for not
>>> looking myself).
>>
>> Yes, my patch took care of that :).
> 
> Ah cool.  I missed that patch.  Looks like this is exactly what I need
> to cater for the translation done by the IOMMU on the Apple M1.
> 
> Won't be sending that patch then ;)

Nice.

Aaron, it might be that you missed this patch series with your latest
mainline xHCI tests a few days ago. Could you please try again with
current mainline and report back, if this changes the behavior on
Octeon MIPS with USB3 hubs?

Thanks,
Stefan

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [EXT] USB3 XHCI crashing with USB 3 hub on Octeon
  2021-02-23 10:39           ` Stefan Roese
@ 2021-02-23 13:57             ` Aaron Williams
  2021-02-23 15:17               ` Stefan Roese
  0 siblings, 1 reply; 13+ messages in thread
From: Aaron Williams @ 2021-02-23 13:57 UTC (permalink / raw)
  To: u-boot

I am using the latest pull and it's still crashing.

-Aaron

On Tuesday, February 23, 2021 2:39:41 AM PST Stefan Roese wrote:
> On 23.02.21 11:36, Mark Kettenis wrote:
> >> From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
> >> Date: Tue, 23 Feb 2021 10:23:04 +0100
> >> 
> >> On Tue, 2021-02-23 at 09:15 +0100, Stefan Roese wrote:
> >>> Hi Bin,
> >>> Hi Aaron,
> >>> 
> >>> I've added Nicolas to Cc, as he also recently did some work on the
> >>> physical vs virtual addresses in the xHCI driver.
> >>> 
> >>> On 23.02.21 09:07, Bin Meng wrote:
> >>>> Hi Aaron,
> >>>> 
> >>>> On Tue, Feb 23, 2021 at 3:31 PM Aaron Williams <awilliams@marvell.com> 
wrote:
> >>>>> I have a follow-up. USB is working on our OcteonTX boards running
> >>>>> 2020.10. It may be something specific to the Octeon port. Note that I
> >>>>> did see a problem where the scratchpad memory is using direct
> >>>>> pointers instead of physical addresses (which will not work on MIPS).
> >>>>> As far as I know, however, the Octeon XHCI controller does not use
> >>>>> the scratchpad memory.
> >>>> 
> >>>> Do you plan to send a patch to convert the scratchpad pointer to
> >>>> physical address?
> >>> 
> >>> Nicolas, did your patch also address the scratchpad area (sorry for not
> >>> looking myself).
> >> 
> >> Yes, my patch took care of that :).
> > 
> > Ah cool.  I missed that patch.  Looks like this is exactly what I need
> > to cater for the translation done by the IOMMU on the Apple M1.
> > 
> > Won't be sending that patch then ;)
> 
> Nice.
> 
> Aaron, it might be that you missed this patch series with your latest
> mainline xHCI tests a few days ago. Could you please try again with
> current mainline and report back, if this changes the behavior on
> Octeon MIPS with USB3 hubs?
> 
> Thanks,
> Stefan

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [EXT] USB3 XHCI crashing with USB 3 hub on Octeon
  2021-02-23 13:57             ` Aaron Williams
@ 2021-02-23 15:17               ` Stefan Roese
  0 siblings, 0 replies; 13+ messages in thread
From: Stefan Roese @ 2021-02-23 15:17 UTC (permalink / raw)
  To: u-boot

On 23.02.21 14:57, Aaron Williams wrote:
> I am using the latest pull and it's still crashing.

Now that I have a (free) USB 3 hub I can reproduce this issue. With
latest TOT I get this:

=> usb start
starting USB...
Bus xhci at 1680000000000: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.00
Bus xhci at 1690000000000: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus xhci at 1680000000000 for devices...
Warning: asix_eth MAC addresses don't match:
Address in ROM is               00:0e:c6:b2:7e:cb
Address in environment is       02:3f:73:97:d1:00
2 USB Device(s) found
scanning bus xhci at 1690000000000 for devices... Device not responding to 
set address.

       USB device not accepting new address (error=80000000)
WARN halted endpoint, queueing URB anyway.
Unexpected XHCI event TRB, skipping... (0eebc260 00000000 13000000 01008401)
BUG at drivers/usb/host/xhci-ring.c:503/abort_td()!
BUG!
resetting ...

As Aaron already mentioned, this only happens when an USB 3 hub is
present in the setup. I'll try to dig into this tomorrow but perhaps
someone else has some quick ideas?

Thanks,
Stefan

> -Aaron
> 
> On Tuesday, February 23, 2021 2:39:41 AM PST Stefan Roese wrote:
>> On 23.02.21 11:36, Mark Kettenis wrote:
>>>> From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
>>>> Date: Tue, 23 Feb 2021 10:23:04 +0100
>>>>
>>>> On Tue, 2021-02-23 at 09:15 +0100, Stefan Roese wrote:
>>>>> Hi Bin,
>>>>> Hi Aaron,
>>>>>
>>>>> I've added Nicolas to Cc, as he also recently did some work on the
>>>>> physical vs virtual addresses in the xHCI driver.
>>>>>
>>>>> On 23.02.21 09:07, Bin Meng wrote:
>>>>>> Hi Aaron,
>>>>>>
>>>>>> On Tue, Feb 23, 2021 at 3:31 PM Aaron Williams <awilliams@marvell.com>
> wrote:
>>>>>>> I have a follow-up. USB is working on our OcteonTX boards running
>>>>>>> 2020.10. It may be something specific to the Octeon port. Note that I
>>>>>>> did see a problem where the scratchpad memory is using direct
>>>>>>> pointers instead of physical addresses (which will not work on MIPS).
>>>>>>> As far as I know, however, the Octeon XHCI controller does not use
>>>>>>> the scratchpad memory.
>>>>>>
>>>>>> Do you plan to send a patch to convert the scratchpad pointer to
>>>>>> physical address?
>>>>>
>>>>> Nicolas, did your patch also address the scratchpad area (sorry for not
>>>>> looking myself).
>>>>
>>>> Yes, my patch took care of that :).
>>>
>>> Ah cool.  I missed that patch.  Looks like this is exactly what I need
>>> to cater for the translation done by the IOMMU on the Apple M1.
>>>
>>> Won't be sending that patch then ;)
>>
>> Nice.
>>
>> Aaron, it might be that you missed this patch series with your latest
>> mainline xHCI tests a few days ago. Could you please try again with
>> current mainline and report back, if this changes the behavior on
>> Octeon MIPS with USB3 hubs?
>>
>> Thanks,
>> Stefan
> 
> 
> 
> 


Viele Gr??e,
Stefan

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2021-02-23 15:17 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-19 13:57 USB3 XHCI crashing with USB 3 hub on Octeon Aaron Williams
2021-02-23  7:31 ` [EXT] " Aaron Williams
2021-02-23  8:07   ` Bin Meng
2021-02-23  8:15     ` Stefan Roese
2021-02-23  9:23       ` Nicolas Saenz Julienne
2021-02-23  9:25         ` Stefan Roese
2021-02-23  9:32           ` Nicolas Saenz Julienne
2021-02-23 10:36         ` Mark Kettenis
2021-02-23 10:39           ` Stefan Roese
2021-02-23 13:57             ` Aaron Williams
2021-02-23 15:17               ` Stefan Roese
2021-02-23  8:38     ` Mark Kettenis
2021-02-23  8:49     ` Aaron Williams

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.