All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.