USB4 / Thunderbolt issues on Framework Desktop

I got my Framework Desktop with BIOS 3.04 and I stayed on that until I completed my Gentoo installation and got every device inside to work properly.

Then I updated to BIOS 3.05 and after that the two USB4 ports on the back fail to operate properly: any USB4 / Thunderbolt SSD enclosure connected to them exposes the SDD as a SCSI attached device (/dev/sdX) instead of NVME device (/dev/nvmeXn1) as they did under BIOS 3.04.

The Framework Desktop does not have a BIOS setting that controls PCIe tunneling and it seems that stopped working properly from 3.04 to 3.05.

Because of that, under the latest BIOS the negotiation between the machine and the USB4 or Thunderbolt controller of external enclosures drops the connection from USB4 to USB3.2. So, now there is an huge drop of performance of my SSDs from 40Gbps to 10Gbps.

Did anybody else experience this?

Are your USB4 attached SSDs being exposed as NVME or SCSI devices?

Update to my initial post: I tried all the USB4 / Thunderbolt enclosures that don’t work properly on the FD, and they do work correctly on another PC that I have, the SSDs being exposed as NVME devices.

1 Like

This is still an issue on BIOS 3.06. Additionally I found that the ports no longer supply 5V3A, so when an SSD is copying a large file even at just 10gbps, it goes over the 7.5W supplied and disconnects. This really needs to get resolved in 3.07. It’s not just a speed drop, it makes the fastest ports on the FD unusable!

1 Like

I have an open ticket with Framework support.

I did a lot of testing and reporting to the person in charge of that ticket and they are working on it. At their request I also opened an issue (#260) at Framework Software Firmware Issue Tracker, which seems to be reviewed periodically by Framework people working on BIOS updates. It may help if more people comment or report there similar problems that they might be having.

1 Like

Found out that it is a combination of kernel used and enclosure.

It looks like Ubuntu kernels (and maybe its derivative distros) can handle correctly some USB4 / TB4 enclosures and incorrectly others. Older Thunderbolt 3 enclosures do not work well even in Ubuntu.

Other distros that are not patching their kernels as Ubuntu, may or may not work, also depending on enclosure.

As there are millions of such combinations, it just happened that I was in an unlucky one, but I still got a partial workaround.

in your testing you mentioned that under windows the enclosure is only detected when connected through a usb hub. is your usb hub powered?

I did more tests, with two hubs, both powered and providing 3 ports:

  • Sabrent Thunderbolt 4 Hub
  • CalDigit Thunderbolt 4 | USB4 Element Hub (which got a recent firmware update)

All USB-C ports on the FD (back or front, USB4 or USB 3.2) only provide 7.5 W, not 15 W.

If your SSD draws more than 7.5 W you’re out of luck, you need a powered hub or a powered enclosure.

Windows on the FD now recognizes all enclosures connected directly to port or through hubs, regardless of type: USB4 / TB4 / TB3. They all work at their highest transfer speed.

USB 4 / Thunderbolt 4 enclosures in Ubuntu: the SSDs are exposed as /dev/nvme and work at their highest speed regardless of connection type (port / hub) , but only at the first plug. If unplugged and then plugged again, they are exposed as /dev/sd and work at a lower speed corresponding to USB 3.2 bandwidth.

Thunderbolt 3 enclosures in Ubuntu: regardless of how they are connected to the FD, some of them are not detected at all, some of them work at low speed.

In other distributions (I tested Arch and Gentoo), some enclosures SSDs are exposed as /dev/sd and work at low speed, while others don’t work at all.

It became obvious to me that it’s not Framework Desktop’s fault, either hardware or firmware, because Windows works perfectly.

Linux kernels work partially or not at all, depending on the patching done by the distribution.

right, but isnt it still a firmware bug that the rear USB ports dont supply the full 15W of power as the standard specifies it should? without it my ASM2464PD based Ugreen enclosure isnt even recognized on the boot menu if i plug it into a rear port, but does see it in the front 3.2 ports

No it’s not: Framework Desktop USB4 ports meet the USB PD spec, see below Google AI answer:

USB4 ports require integration with the USB Power Delivery (USB PD) specification, delivering a minimum of 7.5W (5V/1.5A) of power per port, with support scaling up to 100W or 240W depending on the device implementation and the USB PD 3.1 standard.

well that sucks… in that case looking for recommendations for a 40gbps powered hub that doesnt break the bank… sub $100CAD preferably :sweat_smile:

I got the Sabrent hub under $100 but it was on sale. Now they go for much more. Possibly valid for other hubs.

Another option you have is a powered USB4 enclosure.

I use a Terramaster D4 SSD, but that is expensive and I only need it for a ZFS raid of 4 SSDs.

There may be others on the cheaper side.

1 Like

Also, the enclosure is not as important regarding power draw as the SSD inside it.

Some SSDs draw less the 7.5W, some more than that. A 4TB Sabrent Rocket draws 15.3W. Many PCIe 5.0 SSDs need a lot of power.

You can check with smartctl -a the max power needs of your SSD.

The enclosure itself will add 2-3W to that.