From: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
To: William Allen <william.allentx@gmail.com>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
Mathias Nyman <mathias.nyman@intel.com>
Subject: Re: USB 3.2 Gen 2x2 "Superspeed+20GBps" support for ASM3242
Date: Tue, 9 Mar 2021 07:27:35 +0000 [thread overview]
Message-ID: <221f3bec-e1cc-0b03-6860-c8660d72185a@synopsys.com> (raw)
In-Reply-To: <CAKRa1U6rukBBwWx0vN2wqiHMbUH9zWsc-y1wknOCvhueqWsT7w@mail.gmail.com>
+ Mathias
Hi,
William Allen wrote:
> I've never submitted to the mailing list before, so please excuse any
> formalities that I may not be observing.
> I would like to be able to use USB 3.2 Gen2x2 "SuperSpeed+²⁰Gbps"
> under Linux. I've tried several different kernel versions, and have
> built the kernel from the usb-next tree. All without finding proper
> functionality.
>
> I have an Ableconn PEX-UB159 USB 3.2 Gen 2x2 PCIe expansion card, with
> the ASM3242 controller. This controller appears to be the only Gen2x2
> capable controller that exists in commercial products- so far as I've
> found. Everything appears to work, except for "SuperSpeed+²⁰Gbps" when
> I plug in a capable device.
> Here is the dmesg output as soon as I plug in a Gen2x2 WD P50 Black
> External NVMe SSD, using an appropriate SuperSpeed+²⁰Gbps certified
> cable:
> 5.11.2-arch1-1
> --------------------
> usb 7-2: new SuperSpeedPlus Gen 2 USB device number 3 using xhci_hcd
> usb 7-2: New USB device found, idVendor=1058, idProduct=2642, bcdDevice=10.03
> usb 7-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
> usb 7-2: Product: Game Drive
> usb 7-2: Manufacturer: Western Digital
> usb 7-2: SerialNumber: 323130334431343030303736
> scsi host11: uas
> scsi 11:0:0:0: Direct-Access WD Game Drive 1003 PQ: 0 ANSI: 6
> scsi 11:0:0:1: Enclosure WD SES Device 1003 PQ: 0 ANSI: 6
> sd 11:0:0:0: [sdf] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
> sd 11:0:0:0: [sdf] Write Protect is off
> sd 11:0:0:0: [sdf] Mode Sense: 57 00 10 00
> sd 11:0:0:0: [sdf] Write cache: enabled, read cache: enabled, supports
> DPO and FUA
> sd 11:0:0:0: [sdf] Optimal transfer size 33553920 bytes
> sd 11:0:0:0: [sdf] Attached SCSI disk
>
> When I saw commits referring to Gen2x2 in the usb-next repo, I built
> off that, and also ran linux-next-git.r0.gabaf6f60176f-1 from AUR,
> both giving me the same results/output:
> linux-next-git.r0.gabaf6f60176f-1
> ----------------------------------------------
> usb 5-1: new SuperSpeed Gen 1x2 USB device number 3 using xhci_hcd
> 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 host7: uas
> scsi 7:0:0:0: Direct-Access WD Game Drive 1003 PQ: 0 ANSI: 6
> scsi 7:0:0:1: Enclosure WD SES Device 1003 PQ: 0 ANSI: 6
> ses 7:0:0:1: Attached Enclosure device
> ses 7:0:0:1: Failed to get diagnostic page 0x1
> ses 7:0:0:1: Failed to bind enclosure -19
> sd 7:0:0:0: [sdf] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
> sd 7:0:0:0: [sdf] Write Protect is off
> sd 7:0:0:0: [sdf] Mode Sense: 57 00 10 00
> sd 7:0:0:0: [sdf] Write cache: enabled, read cache: enabled, supports
> DPO and FUA
> sd 7:0:0:0: [sdf] Optimal transfer size 33553920 bytes
> sd 7:0:0:0: [sdf] Attached SCSI disk
>
> See that it's detecting it as Gen 1x2.
> The output of lsusb -t shows that it is connected at 5000M using the
> uas driver. Even my much slower USB 3.1 SSDs connect at 10000M on the
> exact same port.
> When I attach the Gen2x2 NVMe SSD to my other 3.2 Gen2 card, it
> connects at 10000M, so It seems to be directly related to a
> mishandling when the Gen2x2 device gets recognized by the Gen2x2 card.
>
> lspci output from 5.11.2-arch1-1:
> -------------------------------------------
> 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
> Flags: bus master, fast devsel, latency 0, IRQ 62, NUMA node 0
> Memory at f7df0000 (64-bit, non-prefetchable) [size=32K]
> Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
> Capabilities: [68] MSI-X: Enable+ Count=8 Masked-
> Capabilities: [78] Power Management version 3
> Capabilities: [80] Express Legacy Endpoint, MSI 00
> Capabilities: [c0] Subsystem: ASMedia Technology Inc. Device 0201
> Capabilities: [100] Advanced Error Reporting
> Capabilities: [200] Secondary PCI Express
> Capabilities: [300] Latency Tolerance Reporting
> Capabilities: [400] L1 PM Substates
> Kernel driver in use: xhci_hcd
> Kernel modules: xhci_pci
>
> I'm happy to test anything, or file this somewhere more appropriate if
> you could point me in the right direction.
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://patchwork.kernel.org/project/linux-usb/list/?series=427561
Hopefully Mathias will have time to review and Ack them for the next
release cycle.
BR,
Thinh
next prev parent reply other threads:[~2021-03-09 7:28 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-09 6:41 USB 3.2 Gen 2x2 "Superspeed+20GBps" support for ASM3242 William Allen
2021-03-09 7:27 ` Thinh Nguyen [this message]
2021-03-09 12:02 ` Mathias Nyman
2021-03-09 22:51 ` William Allen
2021-03-10 0:56 ` Thinh Nguyen
2021-03-10 1:19 ` Thinh Nguyen
2021-12-30 13:10 ` youling257
2021-12-30 13:30 ` Greg KH
2021-12-30 13:49 ` Mathias Nyman
2021-12-30 14:57 ` youling 257
2021-12-31 1:39 ` Thinh Nguyen
2021-12-31 3:10 ` youling 257
2021-12-31 3:46 ` Thinh Nguyen
2021-12-31 4:42 ` youling 257
2021-12-31 4:52 ` youling 257
2021-12-31 7:02 ` Thinh Nguyen
2021-12-31 7:59 ` youling 257
2021-12-31 8:42 ` youling 257
2022-01-13 1:41 ` Thinh Nguyen
2022-01-13 6:05 ` youling 257
2021-12-31 8:49 ` youling 257
2022-01-13 17:53 ` Thinh Nguyen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=221f3bec-e1cc-0b03-6860-c8660d72185a@synopsys.com \
--to=thinh.nguyen@synopsys.com \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=william.allentx@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.