Hi there!
I’m having trouble with the NVMe SSD Kingston A2000 in a UGREEN USB enclosure, namely: mounting the filesystem takes at least 30 seconds. After the first mount, unmounting and mounting it again is instant.
I was able to reproduce this problem on 2 separate computers, laptop and desktop, both running roughly the same version of EndeavourOS with KDE Plasma. The problem also exists when using the latest EndeavourOS Live CD on the laptop. However, the problem doesn’t exist on Ubuntu 24.04 and the lastest Manjaro Live CD running on the same laptop, and on a different laptop running Windows 10. The same SSD doesn’t cause such problems when installed directly in the laptop. The Sabrent Rocket NVMe SSD installed in the same enclosure is problem free. This makes me think that there’s something specific to (the default configuration of) EndeavourOS that triggers strange behaviour for this enclosure and SSD combination.
To try to rule out significant kernel differences, I installed roughly the same kernel version as the one used on the Manjaro Live CD.
Things that don’t seem to matter: the partition type, recreating the partition table, updating the SSD firmware using Windows and the tool provided by Kingston, the power profile.
I ran a few commands on my laptop on both EndeavourOS and Manjaro Live CD, but there doesn’t seem to be any obvious difference.
EndeavourOS
[root@hp845 pawel]# time mount /dev/sda1 /mnt/
real 0m33,286s
user 0m0,003s
sys 0m0,018s
[root@hp845 pawel]# strace -c mount /dev/sda1 /mnt/
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
73,86 0,013301 6650 2 fsconfig
14,45 0,002603 83 31 read
2,55 0,000460 17 26 munmap
1,72 0,000309 15 20 close
1,52 0,000273 9 30 mprotect
1,35 0,000244 5 42 mmap
0,97 0,000174 6 25 lseek
0,79 0,000142 7 19 3 openat
0,69 0,000124 124 1 move_mount
0,45 0,000081 5 15 4 ioctl
0,44 0,000079 9 8 2 newfstatat
0,13 0,000024 24 1 fsopen
0,12 0,000022 2 10 fstat
0,12 0,000022 11 2 dup
0,12 0,000021 4 5 3 readlink
0,11 0,000019 19 1 fsmount
0,10 0,000018 6 3 1 faccessat2
0,08 0,000014 7 2 fcntl
0,07 0,000013 4 3 getuid
0,07 0,000013 6 2 getgid
0,07 0,000013 4 3 geteuid
0,07 0,000013 6 2 getegid
0,05 0,000009 3 3 1 access
0,05 0,000009 9 1 prctl
0,04 0,000008 4 2 fadvise64
0,00 0,000000 0 3 brk
0,00 0,000000 0 2 pread64
0,00 0,000000 0 1 execve
0,00 0,000000 0 1 arch_prctl
0,00 0,000000 0 1 set_tid_address
0,00 0,000000 0 1 set_robust_list
0,00 0,000000 0 1 prlimit64
0,00 0,000000 0 1 getrandom
0,00 0,000000 0 1 rseq
------ ----------- ----------- --------- --------- ----------------
100,00 0,018008 66 271 14 total
[root@hp845 pawel]# uname -a
Linux hp845 6.12.4-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 09 Dec 2024 14:31:57 +0000 x86_64 GNU/Linux
dmesg
[ 121.745340] usb 6-1: new SuperSpeed Plus Gen 2x1 USB device number 3 using xhci_hcd
[ 121.761126] usb 6-1: New USB device found, idVendor=152d, idProduct=0583, bcdDevice=51.02
[ 121.761139] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 121.761143] usb 6-1: Product: Ugreen Storage Device
[ 121.761146] usb 6-1: Manufacturer: Ugreen
[ 121.761149] usb 6-1: SerialNumber: 152D058300F2
[ 121.763680] scsi host0: uas
[ 121.764295] scsi 0:0:0:0: Direct-Access KINGSTON SA2000M8100 5102 PQ: 0 ANSI: 6
[ 121.767665] sd 0:0:0:0: [sda] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
[ 121.767671] sd 0:0:0:0: [sda] 4096-byte physical blocks
[ 121.767810] sd 0:0:0:0: [sda] Write Protect is off
[ 121.767814] sd 0:0:0:0: [sda] Mode Sense: 5f 00 00 08
[ 121.768116] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 121.768127] sd 0:0:0:0: [sda] Preferred minimum I/O size 4096 bytes
[ 121.768134] sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
[ 121.803134] sda: sda1
[ 121.803418] sd 0:0:0:0: [sda] Attached SCSI disk
[root@hp845 pawel]# lsusb -t
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/5p, 480M
|__ Port 003: Dev 002, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 003: Dev 002, If 1, Class=Wireless, Driver=btusb, 12M
|__ Port 004: Dev 003, If 0, Class=Vendor Specific Class, Driver=[none], 12M
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/: Bus 003.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 001: Dev 002, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 001: Dev 002, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 001: Dev 002, If 2, Class=Video, Driver=uvcvideo, 480M
|__ Port 001: Dev 002, If 3, Class=Video, Driver=uvcvideo, 480M
|__ Port 001: Dev 002, If 4, Class=Application Specific Interface, Driver=[none], 480M
/: Bus 004.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 10000M
/: Bus 005.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 480M
/: Bus 006.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 10000M
|__ Port 001: Dev 003, If 0, Class=Mass Storage, Driver=uas, 10000M
/: Bus 007.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 480M
/: Bus 008.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 10000M
Manjaro Live CD
[manjaro manjaro]# time mount /dev/sdb1 /mnt/
real 0m0.026s
user 0m0.004s
sys 0m0.016s
[manjaro manjaro]# strace -c mount /dev/sdb1 /mnt/
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
98.43 0.012002 6001 2 fsconfig
0.80 0.000097 97 1 move_mount
0.27 0.000033 1 20 close
0.20 0.000024 2 9 4 newfstatat
0.12 0.000015 15 1 fsmount
0.11 0.000013 6 2 dup
0.07 0.000009 0 15 4 ioctl
0.00 0.000000 0 31 read
0.00 0.000000 0 10 fstat
0.00 0.000000 0 25 lseek
0.00 0.000000 0 42 mmap
0.00 0.000000 0 30 mprotect
0.00 0.000000 0 26 munmap
0.00 0.000000 0 3 brk
0.00 0.000000 0 2 pread64
0.00 0.000000 0 3 1 access
0.00 0.000000 0 1 execve
0.00 0.000000 0 2 fcntl
0.00 0.000000 0 1 1 mkdir
0.00 0.000000 0 5 3 readlink
0.00 0.000000 0 3 getuid
0.00 0.000000 0 2 getgid
0.00 0.000000 0 3 geteuid
0.00 0.000000 0 2 getegid
0.00 0.000000 0 1 prctl
0.00 0.000000 0 1 arch_prctl
0.00 0.000000 0 1 set_tid_address
0.00 0.000000 0 2 fadvise64
0.00 0.000000 0 19 3 openat
0.00 0.000000 0 1 set_robust_list
0.00 0.000000 0 1 prlimit64
0.00 0.000000 0 1 getrandom
0.00 0.000000 0 1 rseq
0.00 0.000000 0 1 fsopen
0.00 0.000000 0 3 1 faccessat2
------ ----------- ----------- --------- --------- ----------------
100.00 0.012193 44 273 17 total
[manjaro manjaro]# uname -a
Linux manjaro 6.12.4-1-MANJARO #1 SMP PREEMPT_DYNAMIC Mon, 09 Dec 2024 11:58:37 +0000 x86_64 GNU/Linux
dmesg
[ 545.048107] usb 6-1: new SuperSpeed Plus Gen 2x1 USB device number 6 using xhci_hcd
[ 545.063447] usb 6-1: New USB device found, idVendor=152d, idProduct=0583, bcdDevice=51.02
[ 545.063461] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 545.063464] usb 6-1: Product: Ugreen Storage Device
[ 545.063468] usb 6-1: Manufacturer: Ugreen
[ 545.063470] usb 6-1: SerialNumber: 152D058300F2
[ 545.065771] scsi host1: uas
[ 545.066311] scsi 1:0:0:0: Direct-Access KINGSTON SA2000M8100 5102 PQ: 0 ANSI: 6
[ 545.069309] sd 1:0:0:0: Attached scsi generic sg1 type 0
[ 545.069604] sd 1:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
[ 545.069608] sd 1:0:0:0: [sdb] 4096-byte physical blocks
[ 545.069736] sd 1:0:0:0: [sdb] Write Protect is off
[ 545.069740] sd 1:0:0:0: [sdb] Mode Sense: 5f 00 00 08
[ 545.069990] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 545.069994] sd 1:0:0:0: [sdb] Preferred minimum I/O size 4096 bytes
[ 545.069997] sd 1:0:0:0: [sdb] Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
[ 545.102716] sdb: sdb1
[ 545.103006] sd 1:0:0:0: [sdb] Attached SCSI disk
[manjaro manjaro]# lsusb -t
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/5p, 480M
|__ Port 003: Dev 002, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 003: Dev 002, If 1, Class=Wireless, Driver=btusb, 12M
|__ Port 004: Dev 003, If 0, Class=Vendor Specific Class, Driver=[none], 12M
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/2p, 10000M
|__ Port 001: Dev 002, If 0, Class=Mass Storage, Driver=uas, 5000M
/: Bus 003.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 001: Dev 002, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 001: Dev 002, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 001: Dev 002, If 2, Class=Video, Driver=uvcvideo, 480M
|__ Port 001: Dev 002, If 3, Class=Video, Driver=uvcvideo, 480M
|__ Port 001: Dev 002, If 4, Class=Application Specific Interface, Driver=[none], 480M
/: Bus 004.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 10000M
/: Bus 005.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 480M
/: Bus 006.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 10000M
|__ Port 001: Dev 002, If 0, Class=Mass Storage, Driver=uas, 10000M
/: Bus 007.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 480M
/: Bus 008.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 10000M
Using Dolphin to mount it results in a timeout error message. However, waiting a bit longer results in the SSD being eventually mounted.
Dolphin timeout messge
An error occurred while accessing ‘A2000’, the system responded: An unspecified error has occurred: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
The enclosure: https://www.amazon.nl/-/en/dp/B0BQ6SHNP1
Any tips where to look? Thanks in advance!