All of lore.kernel.org
 help / color / mirror / Atom feed
From: William Allen <william.allentx@gmail.com>
To: linux-usb@vger.kernel.org
Subject: USB 3.2 Gen 2x2 "Superspeed+20GBps" support for ASM3242
Date: Tue, 9 Mar 2021 00:41:25 -0600	[thread overview]
Message-ID: <CAKRa1U6rukBBwWx0vN2wqiHMbUH9zWsc-y1wknOCvhueqWsT7w@mail.gmail.com> (raw)

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.

             reply	other threads:[~2021-03-09  6:42 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-09  6:41 William Allen [this message]
2021-03-09  7:27 ` USB 3.2 Gen 2x2 "Superspeed+20GBps" support for ASM3242 Thinh Nguyen
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=CAKRa1U6rukBBwWx0vN2wqiHMbUH9zWsc-y1wknOCvhueqWsT7w@mail.gmail.com \
    --to=william.allentx@gmail.com \
    --cc=linux-usb@vger.kernel.org \
    /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.