Re: USB 3.2 Gen 2x2 "Superspeed+20GBps" support for ASM3242

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux