Hello.
I have FW 13, AMD 7840U version, and I use Arch Linux there, kernel 6.6.8-arch1-1. I use Samsung Portable SSD T7 Shield, the 2TB variant. Connects via USB-C with max transfer speed of 10Gbps. I also have a Dell WD22TB4, a Thunderbolt 4 docking station.
When connecting the SSD through that dock, a data transfer freeze occurs consistently after transferring approx. 48.5 GB of data of a specific file. I have further narrowed it down that approx after transferring 271 GB from the beginning of the drive, I start getting timeouts.
It does not matter which USB port on the dock I use, the result is identical.
When connecting the SSD directly via the USB4 on the laptop, the transfer does not freeze, and also if I connect the dock via the USB3.2 port on the Framework laptop, then the transfer will also not freeze.
FREEZES:
FW laptop USB4 port β Dell WD22TB4 dock β PSSD T7 Shield 2TB
OK:
FW laptop USB3.2 port β Dell WD22TB4 dock β PSSD T7 Shield 2TB
FW laptop, any USB port β PSSD T7 Shield 2TB
I had Kensington SD5700T docking station previously, also Thunderbolt 4, and it exhibited the same issue, so I returned it and bought this Dell. Now I think the issue is somewhere else.
I have updated both the Dell dock firmware, and the SSD drive firmware, but the issues persist.
This is the point where the transfer freezes:
sudo dd if=/dev/sda1 of=/dev/null bs=16M status=progress
270599716864 bytes (271 GB, 252 GiB) copied, 351 s, 771 MB/s
# ... freeze, I pulled the cable out
16176+1 records in
16176+1 records out
271403155456 bytes (271 GB, 253 GiB) copied, 395.775 s, 686 MB/s
# kernel log during the freeze period:
Jan 04 17:17:41 paulos-fw kernel: sd 0:0:0:0: [sda] tag#29 uas_eh_abort_handler 0 uas-tag 12 inflight: CMD IN
Jan 04 17:17:41 paulos-fw kernel: sd 0:0:0:0: [sda] tag#29 CDB: Read(10) 28 00 1f 98 e6 98 00 04 00 00
Jan 04 17:17:41 paulos-fw kernel: sd 0:0:0:0: [sda] tag#28 uas_eh_abort_handler 0 uas-tag 11 inflight: CMD IN
Jan 04 17:17:41 paulos-fw kernel: sd 0:0:0:0: [sda] tag#28 CDB: Read(10) 28 00 1f 98 e2 98 00 04 00 00
Jan 04 17:17:41 paulos-fw kernel: sd 0:0:0:0: [sda] tag#27 uas_eh_abort_handler 0 uas-tag 21 inflight: CMD IN
Jan 04 17:17:41 paulos-fw kernel: sd 0:0:0:0: [sda] tag#27 CDB: Read(10) 28 00 1f 98 a5 c0 00 04 00 00
# ... a lot longer
I then decided to narrow down the problem, however I have limited time to spend with this problem right now.
sudo dd if=/dev/sda1 of=read-err bs=512 skip=530092000 count=200 status=progress
# freezes right away, this output is after disconnecting the uSB
200+0 records in
200+0 records out
102400 bytes (102 kB, 100 KiB) copied, 133.953 s, 0.8 kB/s
# the whole kernel log:
Jan 04 17:29:51 paulos-fw kernel: usb 8-1.4.2: new SuperSpeed Plus Gen 2x1 USB device number 35 using xhci_hcd
Jan 04 17:29:51 paulos-fw kernel: usb 8-1.4.2: New USB device found, idVendor=04e8, idProduct=61fb, bcdDevice= 1.00
Jan 04 17:29:51 paulos-fw kernel: usb 8-1.4.2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
Jan 04 17:29:51 paulos-fw kernel: usb 8-1.4.2: Product: PSSD T7 Shield
Jan 04 17:29:51 paulos-fw kernel: usb 8-1.4.2: Manufacturer: Samsung
Jan 04 17:29:51 paulos-fw kernel: usb 8-1.4.2: SerialNumber: xxxxxxxxxxxxxx
Jan 04 17:29:51 paulos-fw kernel: scsi host0: uas
Jan 04 17:29:51 paulos-fw kernel: scsi 0:0:0:0: Direct-Access Samsung PSSD T7 Shield 0 PQ: 0 ANSI: 6
Jan 04 17:29:51 paulos-fw kernel: sd 0:0:0:0: [sda] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
Jan 04 17:29:51 paulos-fw kernel: sd 0:0:0:0: [sda] Write Protect is off
Jan 04 17:29:51 paulos-fw kernel: sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
Jan 04 17:29:51 paulos-fw kernel: sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Jan 04 17:29:51 paulos-fw kernel: sd 0:0:0:0: [sda] Preferred minimum I/O size 512 bytes
Jan 04 17:29:51 paulos-fw kernel: sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes
Jan 04 17:29:51 paulos-fw kernel: sda: sda1
Jan 04 17:29:51 paulos-fw kernel: sd 0:0:0:0: [sda] Attached SCSI disk
...
# dozens of seconds during the freeze
...
Jan 04 17:32:49 paulos-fw kernel: sd 0:0:0:0: [sda] tag#4 uas_eh_abort_handler 0 uas-tag 2 inflight: CMD IN
Jan 04 17:32:49 paulos-fw kernel: sd 0:0:0:0: [sda] tag#4 CDB: Read(10) 28 00 1f 98 9e 88 00 04 00 00
Jan 04 17:32:49 paulos-fw kernel: scsi host0: uas_eh_device_reset_handler start
Jan 04 17:32:49 paulos-fw kernel: usb 8-1.4.2: reset SuperSpeed Plus Gen 2x1 USB device number 35 using xhci_hcd
Jan 04 17:32:49 paulos-fw kernel: scsi host0: uas_eh_device_reset_handler success
Jan 04 17:33:20 paulos-fw kernel: scsi host0: uas_eh_device_reset_handler start
Jan 04 17:33:20 paulos-fw kernel: sd 0:0:0:0: [sda] tag#0 uas_zap_pending 0 uas-tag 1 inflight: CMD
Jan 04 17:33:20 paulos-fw kernel: sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 1f 98 9e 88 00 04 00 00
Jan 04 17:33:20 paulos-fw kernel: usb 8-1.4.2: reset SuperSpeed Plus Gen 2x1 USB device number 35 using xhci_hcd
Jan 04 17:33:20 paulos-fw kernel: scsi host0: uas_eh_device_reset_handler success
Jan 04 17:33:51 paulos-fw kernel: scsi host0: uas_eh_device_reset_handler start
Jan 04 17:33:51 paulos-fw kernel: sd 0:0:0:0: [sda] tag#1 uas_zap_pending 0 uas-tag 1 inflight: CMD
Jan 04 17:33:51 paulos-fw kernel: sd 0:0:0:0: [sda] tag#1 CDB: Read(10) 28 00 1f 98 9e 88 00 04 00 00
Jan 04 17:33:51 paulos-fw kernel: usb 8-1.4.2: reset SuperSpeed Plus Gen 2x1 USB device number 35 using xhci_hcd
Jan 04 17:33:51 paulos-fw kernel: scsi host0: uas_eh_device_reset_handler success
Jan 04 17:34:21 paulos-fw kernel: scsi host0: uas_eh_device_reset_handler start
Jan 04 17:34:21 paulos-fw kernel: sd 0:0:0:0: [sda] tag#2 uas_zap_pending 0 uas-tag 1 inflight: CMD
Jan 04 17:34:21 paulos-fw kernel: sd 0:0:0:0: [sda] tag#2 CDB: Read(10) 28 00 1f 98 9e 88 00 04 00 00
Jan 04 17:34:21 paulos-fw kernel: usb 8-1.4.2: reset SuperSpeed Plus Gen 2x1 USB device number 35 using xhci_hcd
Jan 04 17:34:21 paulos-fw kernel: scsi host0: uas_eh_device_reset_handler success
Jan 04 17:34:22 paulos-fw kernel: sd 0:0:0:0: [sda] tag#3 data cmplt err -71 uas-tag 1 inflight: CMD
Jan 04 17:34:22 paulos-fw kernel: sd 0:0:0:0: [sda] tag#3 CDB: Read(10) 28 00 1f 98 9e 88 00 04 00 00
...
# here I decided to pull the USB from the SSD drive
...
Jan 04 17:34:31 paulos-fw kernel: usb 8-1.4.2: USB disconnect, device number 35
Jan 04 17:34:31 paulos-fw kernel: sd 0:0:0:0: [sda] tag#3 uas_zap_pending 0 uas-tag 1 inflight: CMD
Jan 04 17:34:31 paulos-fw kernel: sd 0:0:0:0: [sda] tag#3 CDB: Read(10) 28 00 1f 98 9e 88 00 04 00 00
Jan 04 17:34:31 paulos-fw kernel: sd 0:0:0:0: [sda] tag#3 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK cmd_age=133s
Jan 04 17:34:31 paulos-fw kernel: sd 0:0:0:0: [sda] tag#3 CDB: Read(10) 28 00 1f 98 9e 88 00 04 00 00
Jan 04 17:34:31 paulos-fw kernel: I/O error, dev sda, sector 530095752 op 0x0:(READ) flags 0x80700 phys_seg 128 prio class 2
Jan 04 17:34:31 paulos-fw kernel: sd 0:0:0:0: [sda] Synchronizing SCSI cache
Jan 04 17:34:32 paulos-fw kernel: sd 0:0:0:0: [sda] Synchronize Cache(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
This is how the dock looks in boltctl:
β Dell WD22TB4 Thunderbolt Dock
ββ type: peripheral
ββ name: WD22TB4 Thunderbolt Dock
ββ vendor: Dell
ββ uuid: 5b4e8780-0070-194c-ffff-ffffffffffff
ββ generation: USB4
ββ status: authorized
β ββ domain: e92c3804-1143-96c4-ffff-ffffffffffff
β ββ rx speed: 40 Gb/s = 2 lanes * 20 Gb/s
β ββ tx speed: 40 Gb/s = 2 lanes * 20 Gb/s
β ββ authflags: none
ββ authorized: Thu 04 Jan 2024 02:37:29 PM UTC
ββ connected: Thu 04 Jan 2024 02:37:28 PM UTC
ββ stored: Thu 04 Jan 2024 01:36:25 PM UTC
ββ policy: iommu
ββ key: no
I can make a support topic out of this if needed, I just thought to post it here if someone has any ideasβ¦ I will be grateful for any advice. I do not have a different Thunderbolt laptop to try this on right nowβ¦
Thanks,
Pavel