USB4 and Thunderbolt on AMD

Any actual USB4 test done?
I see a lot of information, but no real-life test report.
Any?

What exactly do you mean by “USB4 test”?

1 Like

I mean, attaching actual USB4 devices and seeing (from logs) they are really used as USB4 devices and not falling back to USB3.

Well the tb3 fallback definitely works, I don’t have any actual USB4 devices jet but all my tb ones work with pcie tunneling and everything. Can’t do that on usb3 anyway.

Thanks for sharing. I would really like to know whether USB4 actually works as USB4 in this very PC before I buy one.

The usb4 ssd enclosure I ordered should show up in the next couple weeks so if you poke me around then I can tell you.

But if tb3 works then USB4 is almost certainly gonna work

USB4 contains different party, like PCIe tunnelling over Thunderbolt 3, displayport output, high speed data transmission, and so on. As far as i know, there is no single test that would output if a device is USB4 compliant or not.

Are you suggesting that Framework is pretending these port are USB4 when they aren’t?

This part is unclear. PCIe tunneling works pretty much the same with TB3 and USB4. DP tunneling does work the same. USB3 tunneling was added. And there is no anonymous “High Speed Data” tunneling.

Of course not. It is a complex protocol. Same with TB3 and other standards like DP. Certification is what ensures compliance. Unless you have a certification lab, you’ be waiting on USB-IF certification and that is about it.

TB4 is an implementation of USB4. So if TB4 devices do not fall back to TB3 / have a USB3 tunnel, USB4 is already working. And I believe as much was shown by other users.

Also, a problem on the Intel side is that the legacy TB drivers still exist for some controllers. It seems that they do a few things not the USB4 way, but in a proprietary way. Some USB4 devices for example will not show up in TB Control Center, even though they are connected via USB4 (I confirmed). But this is not a problem with the modern USB4 drivers Windows comes with.
Since AMD does not have any legacy drivers like that, they should not be affected similarly. And you want Microsofts Win11 USB4 drivers. Or Linux’ equivalent. Since that takes over a major part of managing USB4 connections, it should ensure similar behavior across vendors within the bounds of what the hardware actually supports (which is not at all officially documented by AMD or by FW).

How reliable that works with various devices on different firmware versions? That is an entirely different question. That also affects Intel, where the ASM2464 is quite unpredictable in which hosts it will work with how well. Certifications are what you’d be looking towards for that.
In this area user reports are often only good per specific host / device or combination of chips with specific firmware version.

I don’t have any tb4 stuff either XD

Well darn.
I have a whole horde of equipment waiting to be tested. But no AMD phoenix host…

I believe I have read a lot about other people using TB4 equipment. Although most will not confirm (or even know how to) whether they have actual USB4 connections with all the expected features.

But given that the fallback from USB4 to TB3 is more work, I really would expect “USB4” to work in general. And all the problems are around PD negotiation (between PD controllers on mainboard and in device) and then specific USB4 features like the 2nd DP tunnel being problematic or like I am seeing with my ASM2464 on my FW 12th gen host: behind certain other hubs it only negotiates half the PCIe lanes without reason.

If FW hadn’t ruined my hopes of getting firwmare support, I might have actually bought the AMD board as an upgrade…

1 Like

All I got is first and second gen (the one with dp1.4) intel tb3 controller based stuff and that works quite well. The lenovo dock is a bit fishy on the host port but I am 70% sure that’s the pd issue that got mostly fixed in the beta bios, I should probably retest that. Using the non power downstream tb port on the dock works just fine.

That is my thinking here too.

Well incidentally the usb4 enclosure I have ordered is ASM2464PD based so we’ll see soon.

The speed of bios updates definitely isn’t their strong suit and I really hope they can actually improve that faster than adding more devices to the portfolio.

But as long as the hardware decoding power issue isn’t fixed I would wait to upgrade from an intel platform as a linux user that likes to watch videos.

My USB4 SSD enclosure arrived, in good news the usb3 fallback works well and I get 10gbit on normal usb ports. Also good it shows up as USB4 in boltctl, in bad news it doesn’t work in USB4 mode XD.

Update: Weirdly enough it works when daisychained through my expu enclosure, but seems to be limited to 20Gbit for some reason, topping out at 1.7GB/s.

Not sure if that’s a framework issue or a me buying the cheapest one I could find on aliexpress issue though.

With my ASM2464 I am seeing that it limits itself to PCIe x2 (I only have an Gen 3 SSD in it, did not try with a Gen 4 SSD yet) if behind any TB3 or TB4 hub.
This happens both on the FW (12th gen, Windows USB4 drivers, reliably connects directly) or my TB4 Maple Ridge host (TB legacy drivers, often only recognized as USB3 device).

lspci with a few -vvv should show you the PCIe connection. Although there are virtual PCIe devices in the middle that indicate BS connection info (like PCIe x1 Gen 1), so be sure to look at the actual SSD. HWInfo or CrystalDiskInfo shows it on Windows.
While the TB/USB4 connection speed still stays 40G.

This weird PCIe lane limiting does not happen with my TB3 eGPU, so def. a ASM2464 problem. Although since the connection manager is supposed to configure those connections those might also be somehow involved in making that decision based on some misinformation the ASM provides.

Now that you mention it it does say something about downgraded link speed in dmesg.

Both my intel tb based egpu enclosures definitely don’t have that problem, they also don’t have usb fallback though.

Man on paper this thing looked pretty nice, you get to have the high speed of a tb/usb4 enclosure but can still use it all the way down to usb2. As it is it’s pretty much just a quirky bulky version of a regular usb 10Gbit enclosure.

Hope that can be fixed with a firmware update or something eventually

@Ray519

I just found this post of someone getting full bandwidth with the exact enclosure I have on a 7840u on egpu.io, so it may still be a framework issue.

Like I said, I am seeing this with a Maple Ridge desktop as well.
And I also confirmed this limiting of lanes happens with my Dell XPS 15 with Titan Ridge host controller under linux (lists as x2 (downgraded)).

I’d bet it depends a lot on the firmware of the ASM2464.
The 10.05. firmware failed to negotiate a TB connection and fell back to USB2 with that Dell host. But it is the only one Satechi provides and also seems to be the one that ships with the eGPU enclosures.

And with FW the only thing that our notebooks do in firmware should be the negotiation of the 40G connection, which works reliably. Everything else is probably controlled explicitly by the connection manager / Windows USB4 driver.

I am preparing a windows 11 to go drive so I can check if it is a linux issue. I’ll also compare the firmware version to the one on epgu.io cause other than the host being a legion go it pretty much exactly the same setup.

Well damn, I get full bandwidth on windows, 3.4GB/s in crystaldisk on windows 11. May be a linux issue then.

Think more in combinations. I’d also bet this is more like DP connections not reestablishing correctly after sleep etc. A whole chain of things that need to be reconfigured and it is not any one thing not working at all, just reacting slightly slower or differently than another part expects and then as a whole it misbehaves. And if you can change the setup ever so slightly it might fall into tolerances again and behave as expected.

Unlimately it go fast on windoze 11 and it not go at all on linux. Same setup, different os.

I did also just try every firmware I could find and a whole bunch of settings for them with no success. Everything works on windows, nothing but usb3 and lower works on linux.

Update: if I boot with the enclosure plugged in I get the ssd, but it’s capped at 2GB/s. Lspci reports 8GT/s x4 which is pcie3x4 (it is a pcie3 ssd, I have no pcie4 ones that aren’t in use) if I got that right and boltctl reports USB4 40Gbit but jet it maxes out at 2GB/s.

Update2: The 2GB/s cap could be related to this issue. The not hot-plugging right is probably something else.