* 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.