Hi
I'm adding the mailing list to this reply
(removed your contact info)
USB 3.1 Gen 2 in 4.6 is not broken just because device is not seen as
SuperSpeedPlus 10Gbps device.
On 20.05.2016 02:04, Everett Wenzel wrote:
Hello,
I noticed that an FPGA was used to develop most of the USB3.1 Gen2 code.
This appears to be broken with actual devices. I have 2 startech docks,
and 2 startech hdd enclosures. I am also testing with an akitio gen2 ssd
tray.
When testing speeds with 3.0 and 3.1 ports I do notice a difference in
speeds. But dmesg and lsusb -t will never enumerate a device above
Gen1(5000m cap). It always states "new SuperSpeed device number *" in
dmesg. I believe the code itself is broken so I was reaching out to you
for some advice, as this subject is still new and unexplored in depth.
Motherboard: https://www.asus.com/us/Motherboards/Z97AUSB_31/
Atikio: https://www.akitio.com/adapters/neutrino-bridge
Startech:
https://www.startech.com/HDD/Docking/2-bay-usb-3-1-gen-2-sata-dock~SDOCK2U
313
All parts in the chain need to support usb3.1 Gen2 capability before the speed
of a
device is seen as SuperSpeedPlus.
1. First the xhci host controller SBRN register (Serial Bus Release Number) must
be 3.1 (0x31). If this is true you will see this info message during boot:
"Host supports USB 3.1 Enhanced SuperSpeed"
2. The supported protocols for ports listed in xhci extended capabilities need
to have major and minor revisions set to 3 and 1. (3.1)
If the xhci host has custom speed mappings (PSIC is set) then they must
include
the necessary settings for 3.1 10Gbps support (LP = 1 etc). If not then
default
speed mappings are set. Default mappings includ SSP 10Gbps support.
The major and minor revisions can be seen with lsusb -v,
(bcdUSB = 3.10 in device descriptor)
If you compile the latest lsusb from sources it will also show the
SuperSpeedPlus
device capability with the supported speeds.
3. The device itself needs to be 3.1 capable, bcdUSB = 3.1 and it needs to have
the
SuperSpeedPlus device capability with the correct speeds supported.
So far I've seen two 3.1 Gen2 host controllers with SBRN set to 0x30 instead of
0x31
So that could be a likely issue.
If this is becoming a trend we might need to work around it, or ignore checking
sbrn.
sample outputs:
# ./lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
|__ Port 1: Dev 2, If 0, Class=, Driver=usb-storage, 10000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
|__ Port 7: Dev 2, If 0, Class=, Driver=, 12M
|__ Port 7: Dev 2, If 1, Class=, Driver=, 12M
** usb 3.1 root hub: **
#./lsusb -v
Bus 004 Device 001: ID 1d6b:0003
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.10
bDeviceClass 9
bDeviceSubClass 0
bDeviceProtocol 3
...
Hub Descriptor:
...
Binary Object Store Descriptor:
...
SuperSpeed USB Device Capability:
...
SuperSpeedPlus USB Device Capability:
bLength 28
bDescriptorType 16
bDevCapabilityType 10
bmAttributes 0x00000023
Sublink Speed Attribute count 3
Sublink Speed ID count 1
wFunctionalitySupport 0x0001
bmSublinkSpeedAttr[0] 0x00050034
Speed attr ID: 4 5Gb/s SuperSpeed
bmSublinkSpeedAttr[1] 0x000500b4
Speed attr ID: 4 5Gb/s SuperSpeed
bmSublinkSpeedAttr[2] 0x000a4035
Speed attr ID: 5 10Gb/s SuperSpeedPlus
bmSublinkSpeedAttr[3] 0x000a40b5
Speed attr ID: 5 10Gb/s SuperSpeedPlus
** usb 3.1 mass storage device **
#./lsusb -v
Bus 004 Device 002: ID 174c:1351
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.10
...
iManufacturer 2 Generic
iProduct 3 USB3.1 Device
Binary Object Store Descriptor:
USB 2.0 Extension Device Capability:
SuperSpeed USB Device Capability:
...
SuperSpeedPlus USB Device Capability:
bLength 20
bDescriptorType 16
bDevCapabilityType 10
bmAttributes 0x00000001
Sublink Speed Attribute count 1
Sublink Speed ID count 0
wFunctionalitySupport 0x1100
bmSublinkSpeedAttr[0] 0x000a4030
Speed attr ID: 0 10Gb/s SuperSpeedPlus
bmSublinkSpeedAttr[1] 0x000a40b0
Speed attr ID: 0 10Gb/s SuperSpeedPlus
-Mathias
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html