Thinh Nguyen wrote: > 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 BTW, this failure is unrelated to which speed the device is connected as. The device should just work regardless of the connected speed. Something else is wrong here. It could be a problem with the device not responding to a SCSI command correctly (often I find many UASP devices don't properly handle/respond correctly for an unsupported command). You can force the device to run with BOT protocol instead of UASP since it's less likely to run into this problem. (Add the 'u' quirk to ignore UAS). Thanks, Thinh >> 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 >>>