AMD Framework and NVMe SSD Enclosure Compatibility Investigation

We have a JMS583 (EVOLVEO Tiny N1) NVMe enclosure here, and I can confirm that there are definitely resets at 10Gbps.

It also only works in the top USB4 ports; it is not recognized at all in the bottom USB3.2 ports, or when it is, then it is extremely unstable and the connection does not last. The cable used does not seem to be the issue.

On a different AMD Ryzen machine (Thinkpad T14 Gen3 with Ryzen 5 PRO), I have observed no issues at all.

OS: Arch Linux, kernel 6.7.3-arch1-1, x86_64, BIOS 3.03

2 Likes

FW13 AMD 7840U

Zike Z666 (ASM2464) with Samsung 970 evo plus

Boot with enclosure connected

works, can umount, no eject.

hotplug

  • a bunch of kernel messages pops,
  • NVME device shows up in lspci
Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
  • nothing other than internal NVME SSD shows up in lsblk.

  • echo 1 > /sys/bus/pci/rescan no effect at all.

OS:

Debian testing/trixie (primary) + unstable (only for firefox), kernel 6.6.15

Quick update on my end: I installed and tested BIOS 3.03b BETA and unfortunately the issue still remains :cry:

1 Like

I also have the same problem. My bios is 3.03b.
I use ITGZ enclosure. The chip is Realtek RTL9201B-CG. The SSD is Transcend 220S.

Just stumbled over this, my usb4 enclosure has the exact same error. But given it uses the same chipset that isn’t that surprising.

Turns out it works just fine on windows 11 in my case though so it may be a linux issue.

I also tried all the ASM2464 firmware I could find with no change.

Dude, it’s the ssd. I did my testing with a 970 evo, tried a different ssd today and hotpluging just worked. Tried a bunch of others (Samsung PM9A1 and 960 evo, WD SN720, and micron 2450), they all worked. 970 evo again, didn’t work. Still got the 2GB/s limit though

Weirdly it works on windows, and without the 2GB/s limit.

Here’s dmesg with the PM9A1

[ 2042.695386] thunderbolt 1-2: new device found, vendor=0xb8 device=0x2464
[ 2042.695392] thunderbolt 1-2: ASMedia 246x
[ 2043.816398] pcieport 0000:00:04.1: pciehp: Slot(0-1): Card present
[ 2043.816402] pcieport 0000:00:04.1: pciehp: Slot(0-1): Link Up
[ 2043.947251] pci 0000:62:00.0: [1b21:2463] type 01 class 0x060400 PCIe Switch Upstream Port
[ 2043.947300] pci 0000:62:00.0: PCI bridge to [bus 00]
[ 2043.947318] pci 0000:62:00.0:   bridge window [io  0x0000-0x0fff]
[ 2043.947326] pci 0000:62:00.0:   bridge window [mem 0x00000000-0x000fffff]
[ 2043.947345] pci 0000:62:00.0:   bridge window [mem 0x00000000-0x000fffff 64bit pref]
[ 2043.947369] pci 0000:62:00.0: enabling Extended Tags
[ 2043.947491] pci 0000:62:00.0: PME# supported from D0 D3hot D3cold
[ 2043.947526] pci 0000:62:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:04.1 (capable of 15.753 Gb/s with 16.0 GT/s PCIe x1 link)
[ 2043.947848] pci 0000:62:00.0: Adding to iommu group 3
[ 2043.947960] pcieport 0000:00:04.1: ASPM: current common clock configuration is inconsistent, reconfiguring
[ 2043.957101] pci 0000:62:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[ 2043.957338] pci 0000:63:00.0: [1b21:2463] type 01 class 0x060400 PCIe Switch Downstream Port
[ 2043.957382] pci 0000:63:00.0: PCI bridge to [bus 00]
[ 2043.957398] pci 0000:63:00.0:   bridge window [io  0x0000-0x0fff]
[ 2043.957406] pci 0000:63:00.0:   bridge window [mem 0x00000000-0x000fffff]
[ 2043.957425] pci 0000:63:00.0:   bridge window [mem 0x00000000-0x000fffff 64bit pref]
[ 2043.957450] pci 0000:63:00.0: enabling Extended Tags
[ 2043.957570] pci 0000:63:00.0: PME# supported from D0 D3hot D3cold
[ 2043.957731] pci 0000:63:00.0: Adding to iommu group 3
[ 2043.957878] pci 0000:62:00.0: PCI bridge to [bus 63-c0]
[ 2043.957896] pci 0000:63:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[ 2043.958027] pci 0000:64:00.0: [144d:a80a] type 00 class 0x010802 PCIe Endpoint
[ 2043.958062] pci 0000:64:00.0: BAR 0 [mem 0x00000000-0x00003fff 64bit]
[ 2043.958225] pci 0000:64:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:04.1 (capable of 63.012 Gb/s with 16.0 GT/s PCIe x4 link)
[ 2043.958355] pci 0000:64:00.0: Adding to iommu group 3
[ 2043.966643] pci 0000:63:00.0: PCI bridge to [bus 64-c0]
[ 2043.966668] pci_bus 0000:64: busn_res: [bus 64-c0] end is updated to 64
[ 2043.966679] pci_bus 0000:63: busn_res: [bus 63-c0] end is updated to 64
[ 2043.966702] pci 0000:62:00.0: bridge window [mem 0x60000000-0x77ffffff]: assigned
[ 2043.966708] pci 0000:62:00.0: bridge window [mem 0x6800000000-0x77ffffffff 64bit pref]: assigned
[ 2043.966713] pci 0000:62:00.0: bridge window [io  0x2000-0x5fff]: assigned
[ 2043.966718] pci 0000:63:00.0: bridge window [mem 0x60000000-0x77ffffff]: assigned
[ 2043.966723] pci 0000:63:00.0: bridge window [mem 0x6800000000-0x77ffffffff 64bit pref]: assigned
[ 2043.966727] pci 0000:63:00.0: bridge window [io  0x2000-0x5fff]: assigned
[ 2043.966732] pci 0000:64:00.0: BAR 0 [mem 0x60000000-0x60003fff 64bit]: assigned
[ 2043.966751] pci 0000:63:00.0: PCI bridge to [bus 64]
[ 2043.966757] pci 0000:63:00.0:   bridge window [io  0x2000-0x5fff]
[ 2043.966765] pci 0000:63:00.0:   bridge window [mem 0x60000000-0x77ffffff]
[ 2043.966772] pci 0000:63:00.0:   bridge window [mem 0x6800000000-0x77ffffffff 64bit pref]
[ 2043.966782] pci 0000:62:00.0: PCI bridge to [bus 63-64]
[ 2043.966787] pci 0000:62:00.0:   bridge window [io  0x2000-0x5fff]
[ 2043.966795] pci 0000:62:00.0:   bridge window [mem 0x60000000-0x77ffffff]
[ 2043.966802] pci 0000:62:00.0:   bridge window [mem 0x6800000000-0x77ffffffff 64bit pref]
[ 2043.966812] pcieport 0000:00:04.1: PCI bridge to [bus 62-c0]
[ 2043.966817] pcieport 0000:00:04.1:   bridge window [io  0x2000-0x5fff]
[ 2043.966823] pcieport 0000:00:04.1:   bridge window [mem 0x60000000-0x77ffffff]
[ 2043.966828] pcieport 0000:00:04.1:   bridge window [mem 0x6800000000-0x77ffffffff 64bit pref]
[ 2043.967635] pcieport 0000:62:00.0: enabling device (0000 -> 0003)
[ 2043.967793] pcieport 0000:63:00.0: enabling device (0000 -> 0003)
[ 2043.968142] nvme nvme0: pci function 0000:64:00.0
[ 2043.968148] nvme 0000:64:00.0: enabling device (0000 -> 0002)
[ 2043.969957] nvme nvme0: Shutdown timeout set to 10 seconds
[ 2043.976137] nvme nvme0: 16/0/0 default/read/poll queues
[ 2043.978196]  nvme0n1: p1
[ 2046.503717] ucsi_acpi USBC000:00: ucsi_handle_connector_change: ACK failed (-110)
[ 2051.836967] ucsi_acpi USBC000:00: ucsi_handle_connector_change: ACK failed (-110)
[ 2057.170185] ucsi_acpi USBC000:00: ucsi_handle_connector_change: ACK failed (-110)
1 Like

Yeah, it seems like this issue isn’t within the scope of 3.03b EC firmware.

Thank you very much for sharing your controller and SSD models!

It does seem that some external SSD works better than other. However, given the totality of the circumstances, I would rather say it’s the AMD Framework, than it is the SSD. Especially when during my testing, the same SSD and enclosure works completely fine on every other computers I can get my hands on, including Intel Framework.
(I don’t mean to be a jerk and picking on your words, I’m just sharing my opinion and conclusion on the topic under discussion)


Given that other Type-C related issues on AMD13, such as the single-cable Type-C monitor compatibility issues, are also well-discussed by other owners, including some opening their corresponding support ticket, I would appreciate if FW can comment on this issue. Such as if the cause is identified, and if the pending 3.04 BIOS includes improvement and fixes on Type-C related functionalities.

Probably a combination of both, the enclosure works fine with other ssds and with this one on windows.

I don’t really have access to any other usb4 capable devices and in tb fallback mode the 970 evo worked on linux too. It is a quite weird and speciffic issue for sure.

1 Like

Just wanted to clarify here that the issue of a power reset/cycle during a large write, so far, has shown to be operating system and USB NVME chipset agnostic. It’s at least because of some FW AMD mainboard/SSD incompatibility. A possible reason is that the system is not giving enough power to certain SSDs during sustained high speed write. Perhaps some power hungrier SSD models ask for power but don’t receive it fast enough or at all, which causes them to reset. This happens negotiated at 10Gbps speeds. It doesn’t reset when forcing negotiation at USB2/480Mbps or when the system mistakenly negotiates a 5Gbps connection on one (perhaps some) of the ports.

@Adrian_Joachim are you testing a large sustained write when negotiated at 10Gbps? A full 10GB transfer should reliably reproduce the issue. Your/the ASMedia 246x has reports of being pretty stable AFAIK, so if you can repro it then it further excludes USB NVME chipsets from being the culprit. If, indeed, large writes work on Windows but not Linux, with your ASMedia 246x and Samsung 970 Evo, then that’s some potentially revealing info.

Edit: also to add, we still don’t know if this issue affects all mainboards or just a specific batch, if it’s fixable in software, etc.


Echoing @Jason_Username_Taken that it would be nice if FW was publicly tracking/commenting on this issue, but some good news is that I do have a support ticket open with them and they’ve acknowledged that “this issue is currently under active investigation”.

I can’t reproduce your drop out during write issue at all, I just tested 20GB writes on:

  • 970 evo in RTL9210 enclosure 1 at 10Gbit (USB A)
  • 970 evo in RTL9210 enclosure 2 at 10Gbit (USB-C)
  • 970 evo in ASM2464 in usb3 mode at 10Gbit
  • PM9A1 in ASM2464 in usb4 mode at 40Gbit (capped to 2GB/s for some reason)
  • 970 evo in ASM2464 in usb4 mode at 40Gbit (capped to 2GB/s for some reason, after reboot cause hotplug doesn’t work)

All on linux cause I did not have any dropouts. Not sure it’s a prower issue per se, the PM9A1 (oem 980 pro) is a much more power hungry ssd than the 970 and that one works too.

Ah okay, many thanks for testing. I think yours and @Terrance_Hendrik’s particular issue of “the 970 EVO not being hotpluggable in Linux but works in Windows” is different than the issue of “particular SSDs dropping out during a large write regardless of operating system” of mine and @Jason_Username_Taken’s, etc.

Curiously, @Bruce_Wilbur experienced the “transfer rate rapidly degrades to negligible” issue (which I’ve seen happen with a particular cheap flash drive, might have been just that drive and not a FW issue though) with the 970 EVO on a different enclosure, in Linux, but didn’t mention any hotplug issues:

So, if I’m understanding correctly, it seems like your hotplug issue is at least particular to the Linux + ASMedia ASM2464 + 970 EVO combo and may be caused by faulty driver/firmware somewhere in that chain.

Though maybe all of these (with the transfer/write issues) are symptoms of the same root cause from FW hardware/firmware.

Think so too, theough the 970 evo being a bit of a problem child is the common denominator

It’s even more speciffic, It’s particular to the framework laptop amd, linux and the asm2464 in usb4 mode and and the 970 evo, in tb3 mode though my egpu it works, in usb3 mode it works and on win11 it works.

1 Like

interesting, let me try some other later.

ITGZ (don’t remember the spell, hopefully correct) enclosure

with ASM2364 (3.2 Gen 2x2), Samsung 970 Evo Plus. Only identified 10Gbps connection (Gen 2x1).

FW13 7840U, Type-C modules on port 1 and port 3 (USB4 capable).

On other brand Intel 12-gen, it can be identified as Gen 2x2, 10Gbps x 2

Tried multiple cables, TB4, USB4, whatever … same Gen 2x1.

Maybe I should also try other SSD’s.

OS

  • Debian testing/trixie
  • kernel: 6.6.15-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.6.15-2 (2024-02-04) x86_64 GNU/Linux
1 Like

Thank you all for the additional information, really appreciated.

According to Kieran, new AMD BIOS may drop within the next 7 days or so. Therefore, I’ll probably stay put for a few days, and try testing everything again with the new BIOS.

Until then, AMD will remain as an auxiliary and 12th Gen will continue to be my daily. I hope the new BIOS package will fix this issue, the AMD was meant to be my daily after all.

I update the drivers and 3.05 BIOS.
Sadly, this problem is not be solved…

1 Like

Yes, just tried 3.05, the disk now cycles itself just sitting connected, without any transfer. (with my replacement AMD FW)

Well…
crying
@Kieran_Levin ?

Confirming on my end as well that the issue remains on 3.05

1 Like

Thank goodness I bought a different laptop for daily driving since I can actually backup to my SSD that way. If only my AMD FW13 is still returnable.

1 Like

Power supply probably isn’t an issue per se. I’m now doing some sustained transfer test with external HDD, with this particular one being an HDD+Tiny SSD Hybrid drive. I assume this probably draws more power than my Gen3 NVMe in an enclosure. (although I do not have a device to measure)

Approaching 80GBs now, no issues.