Re: No SuperSpeedPlus on ASM2142

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

 



Le lun. 16 sept. 2019 à 17:19, Loïc Yhuel <loic.yhuel@xxxxxxxxx> a écrit :
>
> > Most reliable way of checking the current actual port speed is reading protocol speed id
> > from the ports PORTSC register port-speed field.
> > Use debugfs: (with your correct pci address and port number)
> Currently I have "PortSpeed:4" which matches with the "Gen 1" trace.
> If I even get a "Gen 2" trace again, I will check.
>
Even after several reboots into Linux, I was still getting "Gen 1" /
"PortSpeed 4".
So I tried booting into Windows, HWinfo64 showed "Gen 2", then
rebooting into Linux.
Then I got "Gen 2" / "PortSpeed: 5" on a 5.3 with the revert, or 5.0 kernel.
With the Fedora 5.2.14, it was "Gen 1" / "PortSpeed: 5".
But performance was still the same as Gen 1.
Reboot of poweroff didn't change anything.

So I tried to play with the BIOS "Fast boot" option, even if it always
lists the USB drives.
I rebooted into Windows, HWInfo64 showed Gen 2, I did a performance test which
returned 510MB/s.
Then I rebooted into Linux, which then showed "Gen 1" / "PortSpeed: 4", but the
performance was now good ! Even after several reboots, or toggling
"Fast Boot" on/off,
it didn't change : PortSpeed 4, but performance showing 10 Gbps was working.

Then I tried powering off, unplugging AC and the USB cable, then
booting without it.
On plug, it was detected as "Gen 2", PortSpeed was 5, and performance was good.
After a reboot (so device plugged on boot), still the same.
After a poweroff, still the same.

So I really don't know how to make sense of this.
Perhaps a register of the xhci controller had a bad value kept even
after a poweroff
due to the standby +5V, and was reset either by the BIOS or Windows at
some point.
But that doesn't explain why the PORTSC value was many time incoherent with the
performance, in both ways.

Btw, I found another problem on resuming the system after a suspend :
[  137.029272] pcieport 0000:00:01.1: PME: Spurious native interrupt!
...
[  137.129618] xhci_hcd 0000:08:00.0: WARN: xHC restore state timeout
[  137.129624] xhci_hcd 0000:08:00.0: PCI post-resume error -110!
[  137.129625] xhci_hcd 0000:08:00.0: HC died; cleaning up
[  137.129633] PM: dpm_run_callback(): pci_pm_resume+0x0/0x90 returns -110
[  137.129636] PM: Device 0000:08:00.0 failed to resume async: error -110
Then a "echo 1 > remove, then "echo 1 > ../rescan" on sysfs got it back.
This is a completely different issue, but at least, I can reproduce
this one reliably.




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

  Powered by Linux