Hi, William Allen wrote: > Thank you! I tested your patches and got a little bit of success. The > dmesg output now shows the drive connecting at SuperSpeedPlus Gen 2, > which is inline with the 5.11.2-arch1-1 kernel, but shows the same > failure messages, except under the "scsi" facility, rather than the > "ses" facility > > > 5.12.0-rc2-next-20210309-2-next-git (manually added your patches to > the PKGBUILD file) > ------------------------------------------------- > usb 5-1: new SuperSpeedPlus Gen 2 USB device number 2 using xhci_hcd It seems like you did not apply all the patches I provided. It wouldn't just print "Gen 2" here if you had applied all the patches. If the SSP rate is unknown, it would just print "SuperSpeed Plus". Refer to this patch: https://patchwork.kernel.org/project/linux-usb/patch/d7049743924adf82f93ddfe403a5ebb9ac06e49b.1612410491.git.Thinh.Nguyen@xxxxxxxxxxxx/ Please apply all 8 of the patches here: https://patchwork.kernel.org/project/linux-usb/list/?series=427561 If there are still issues, I can provide some debugging patches. BR, Thinh > usb 5-1: New USB device found, idVendor=1058, idProduct=2642, bcdDevice=10.03 > usb 5-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1 > usb 5-1: Product: Game Drive > usb 5-1: Manufacturer: Western Digital > usb 5-1: SerialNumber: 323130334431343030303736 > scsi host12: uas > scsi 12:0:0:0: Direct-Access WD Game Drive 1003 PQ: 0 ANSI: 6 > scsi 12:0:0:1: Enclosure WD SES Device 1003 PQ: 0 ANSI: 6 > sd 12:0:0:0: [sdi] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB) > sd 12:0:0:0: [sdi] Write Protect is off > sd 12:0:0:0: [sdi] Mode Sense: 57 00 10 00 > sd 12:0:0:0: [sdi] Write cache: enabled, read cache: enabled, supports > DPO and FUA > sd 12:0:0:0: [sdi] Optimal transfer size 33553920 bytes > scsi 12:0:0:1: Failed to get diagnostic page 0x1 > scsi 12:0:0:1: Failed to bind enclosure -19 > sd 12:0:0:0: [sdi] Attached SCSI disk > ses 12:0:0:1: Attached Enclosure device > > > The drive also now connects at 10000M, whereas before it was > connecting at 5000M. > I still am not seeing anything relating to Gen 2x2 speeds. > > > I checked the listed lanes, which IS showing new information. Value of: > /sys/bus/usb/devices/usb5/rx_lanes = 2 > /sys/bus/usb/devices/usb5/tx_lanes = 2 > > > Here is the output of lsusb -vvv for the device: > ------------------------------------------------- > Bus 005 Device 002: ID 1058:2642 Western Digital Technologies, Inc. Game Drive > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 3.20 > bDeviceClass 0 > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize0 9 > idVendor 0x1058 Western Digital Technologies, Inc. > idProduct 0x2642 > bcdDevice 10.03 > iManufacturer 2 Western Digital > iProduct 3 Game Drive > iSerial 1 323130334431343030303736 > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 0x0079 > bNumInterfaces 1 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0x80 > (Bus Powered) > MaxPower 896mA > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 2 > bInterfaceClass 8 Mass Storage > bInterfaceSubClass 6 SCSI > bInterfaceProtocol 80 Bulk-Only > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0400 1x 1024 bytes > bInterval 0 > bMaxBurst 15 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x02 EP 2 OUT > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0400 1x 1024 bytes > bInterval 0 > bMaxBurst 15 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 1 > bNumEndpoints 4 > bInterfaceClass 8 Mass Storage > bInterfaceSubClass 6 SCSI > bInterfaceProtocol 98 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0400 1x 1024 bytes > bInterval 0 > bMaxBurst 15 > MaxStreams 32 > Data-in pipe (0x03) > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x02 EP 2 OUT > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0400 1x 1024 bytes > bInterval 0 > bMaxBurst 15 > MaxStreams 32 > Data-out pipe (0x04) > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x83 EP 3 IN > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0400 1x 1024 bytes > bInterval 0 > bMaxBurst 15 > MaxStreams 32 > Status pipe (0x02) > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x04 EP 4 OUT > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0400 1x 1024 bytes > bInterval 0 > bMaxBurst 0 > Command pipe (0x01) > Binary Object Store Descriptor: > bLength 5 > bDescriptorType 15 > wTotalLength 0x002a > bNumDeviceCaps 3 > USB 2.0 Extension Device Capability: > bLength 7 > bDescriptorType 16 > bDevCapabilityType 2 > bmAttributes 0x0000f41e > BESL Link Power Management (LPM) Supported > BESL value 1024 us > Deep BESL value 61440 us > SuperSpeed USB Device Capability: > bLength 10 > bDescriptorType 16 > bDevCapabilityType 3 > bmAttributes 0x00 > wSpeedsSupported 0x000e > Device can operate at Full Speed (12Mbps) > Device can operate at High Speed (480Mbps) > Device can operate at SuperSpeed (5Gbps) > bFunctionalitySupport 1 > Lowest fully-functional device speed is Full Speed (12Mbps) > bU1DevExitLat 10 micro seconds > bU2DevExitLat 2047 micro seconds > 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 Attribute ID: 0 10Gb/s Symmetric RX SuperSpeedPlus > bmSublinkSpeedAttr[1] 0x000a40b0 > Speed Attribute ID: 0 10Gb/s Symmetric TX SuperSpeedPlus > can't get debug descriptor: Resource temporarily unavailable > Device Status: 0x0000 > (Bus Powered) > > > And here is output of lspci relating to the ASM3242: > ------------------------------------------------- > 04:00.0 USB controller: ASMedia Technology Inc. ASM3242 USB 3.2 Host > Controller (prog-if 30 [XHCI]) > Subsystem: ASMedia Technology Inc. ASM3242 USB 3.2 Host Controller > Physical Slot: 1 > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- > ParErr+ Stepping- SERR- FastB2B- DisINTx+ > Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- > <TAbort- <MAbort- >SERR- <PERR- INTx- > Latency: 0, Cache Line Size: 64 bytes > Interrupt: pin A routed to IRQ 62 > Region 0: Memory at f7df0000 (64-bit, non-prefetchable) [size=32K] > Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+ > Address: 0000000000000000 Data: 0000 > Capabilities: [68] MSI-X: Enable+ Count=8 Masked- > Vector table: BAR=0 offset=00002000 > PBA: BAR=0 offset=00002080 > Capabilities: [78] Power Management version 3 > Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA > PME(D0+,D1-,D2-,D3hot+,D3cold+) > Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- > Capabilities: [80] Express (v2) Legacy Endpoint, MSI 00 > DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s > <64ns, L1 <2us > ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- > DevCtl: CorrErr- NonFatalErr+ FatalErr+ UnsupReq- > RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ > MaxPayload 256 bytes, MaxReadReq 4096 bytes > DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr+ TransPend- > LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit > Latency L1 unlimited > ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+ > LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+ > ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- > LnkSta: Speed 8GT/s (ok), Width x4 (ok) > TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- > DevCap2: Completion Timeout: Range A, TimeoutDis- NROPrPrP- LTR+ > 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt+ > EETLPPrefix- > EmergencyPowerReduction Not Supported, > EmergencyPowerReductionInit- > FRS- > AtomicOpsCap: 32bit- 64bit- 128bitCAS- > DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- > OBFF Disabled, > AtomicOpsCtl: ReqEn- > LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- > Retimer- 2Retimers- DRS- > LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis- > Transmit Margin: Normal Operating Range, > EnterModifiedCompliance- ComplianceSOS- > Compliance De-emphasis: -6dB > LnkSta2: Current De-emphasis Level: -6dB, > EqualizationComplete+ EqualizationPhase1+ > EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest- > Retimer- 2Retimers- CrosslinkRes: unsupported > Capabilities: [c0] Subsystem: ASMedia Technology Inc. Device 0201 > Capabilities: [100 v1] Advanced Error Reporting > UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- > RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol- > UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- > RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol- > UESvrt: DLP- SDES+ TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- > RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- > CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+ > CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr- > AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- > ECRCChkCap- ECRCChkEn- > MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap- > HeaderLog: 00000000 00000000 00000000 00000000 > Capabilities: [200 v1] Secondary PCI Express > LnkCtl3: LnkEquIntrruptEn- PerformEqu- > LaneErrStat: LaneErr at lane: 0 1 2 3 > Capabilities: [300 v1] Latency Tolerance Reporting > Max snoop latency: 0ns > Max no snoop latency: 0ns > Capabilities: [400 v1] L1 PM Substates > L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ > L1_PM_Substates+ > PortCommonModeRestoreTime=0us PortTPowerOnTime=10us > L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1- > T_CommonMode=0us LTR1.2_Threshold=0ns > L1SubCtl2: T_PwrOn=0us > Kernel driver in use: xhci_hcd > Kernel modules: xhci_pci > > On Tue, Mar 9, 2021 at 6:00 AM Mathias Nyman > <mathias.nyman@xxxxxxxxxxxxxxx> wrote: >> >>> Currently the usb host stack doesn't really support USB 3.2 yet, at >>> least the speed check part. I made some updates to handle that. >>> >>> You apply these patches and test on your setup >>> https://urldefense.com/v3/__https://patchwork.kernel.org/project/linux-usb/list/?series=427561__;!!A4F2R9G_pg!O509Jgp-IveN9AmXa5oORW98Q_B4_GyjbA5RSAXFuZaexHl4jhm8G9dWbImQUw4CrNZJ$ >>> >>> Hopefully Mathias will have time to review and Ack them for the next >>> release cycle. >> Thanks for the reminder, added some comments to the series >> >> -Mathias >>