FW16 7040 External Monitor over USB-C Only Works on One Port

Hello,
Let’s start with my config to get that out of the way:

  • Framework Laptop 16 7040, no dedicated GPU.
  • Expansion bay with dual M.2 slots + Kyle’s 4i M.2 Oculink adapter. Let’s assume my eGPU is not plugged in for this as the same failure mode happens with or without.
  • BIOS 04.03
  • Linux Mint 22.3 Cinnamon, Kernel Version 6.17.0-35-generic
  • Dell UltraSharp U2723QE 27" over Apple USB-C Thunderbolt-4 Pro cable
  • 2x USB-C expansion cards among 4 others

Here is my issue:

Out of the 3 ports that should support the external monitor with built in USB hub over USB-C, only a single port works properly with full functionality. The other two do the power delivery from the display but other functionalities are hit or miss. Critically, my external monitor fails to display anything No USB-C signal from your device, despite the laptop detecting the monitor on one port as shown with the xrandr command.ports

Port #1 (rear L): power :white_check_mark: | USB hub :white_check_mark: | xrandr --listmonitors :white_check_mark: | ext. monitor displays :cross_mark:
Port #2 (mid L): power :white_check_mark: | USB hub :white_check_mark: | xrandr --listmonitors :white_check_mark: | ext. monitor displays :white_check_mark:,
Port #4 (rear R): power :white_check_mark: | USB hub :cross_mark: | xrandr --listmonitors :white_check_mark: | ext. monitor displays :cross_mark:

What I have tried:

Updated to latest DisplayLink version displaylink-driver: 6.3.0-48 amd64
Shutdown, wait and restart as well as restart into BIOS and do battery disconnect, wait, boot up.
Swap around the expansion cards
Flip the USB-C cable.

Relevant info from my interaction with a chat bot would be this:

~$ sudo dmesg -w
… lots of messages, for the one port that sees the USB hub, there are messages showing my USB peripherals successfully connect…
[ 169.590346] amdgpu 0000:c1:00.0: [drm] enabling link 2 failed: 15
[ 170.424197] usb usb6-port1: Cannot enable. Maybe the USB cable is bad?
this last line repeats a lot

Obviously, the cable isn’t bad as it works on port #2.

I can live with only using that one port to connect to my display, but it is a bit of a shame that my FW16 doesn’t really work properly. I would love to get some help to debug this an maybe solve this issue.

Thank you, especially if you read this wall of text.

I do have a windows partition, maybe this can help for debugging:

All three ports work with full functionality on Windows.

Well, the Windows results are correct for the capabilities of the laptop: Expansion Card Slot functionality on Framework Laptop 16 (AMD Ryzen™ 7040 Series)

The 7040 mainboard at least only supports display out on one of the middle ports.

Also keep in mind DisplayLink is not the normal display-over-USBC. It is a proprietary-ish standard for running screens off of standard USB ports without specific hardware support, so that driver shouldn’t affect anything here. Unless you are using a DisplayLink adapter, of course.

1 Like

You are absolutely right! I’ll edit the post to correct my assumption.

Nevertheless, display over USB-C fails on ports #1 and #4. Still looking for help to get that fixed.

Thank you.

This support matrix is for actual displayport over usb-c, displaylink doesn’t use that, it just needs usb3 and a whole bunch of power. So it could theoretically work on all ports but Last time I tried displaylink on linux the thing was extremely flaky.

Displaylink on linux is probably not what I would go with if I had other options.

1 Like

Framework ports have this goofy behaviour where they (apparently, I don’t know for sure) negotiate more power than they can deliver.

I have an external keyboard which pulls 10W over PD and if I plug it via USB-A to the middle ports, the charging indicator on the keyboard flashes erratically, indicating that on one hand it negotiated those 2A, but on the other it’s not getting them.

There’s no data connection so the keyboard is not usable in this state. Upon unplugging the affected port shuts down and requires restart to regain function.

Rear ports work fine though.

The fw doesn’t have 2A output, you can either get 3 or 1.5 or 0.6. They also have extremely twitchy overcurrent.

I see. How would you go about connecting to an external monitor over USB-C then? Any out of the box solutions besides display link I should look into?
Another commenter mentioned that display link shouldn’t be the default display over USB-C solution as well.

Just straight up displayport over usb-c.

Alright, uninstalling the display link drivers was the fix! My problem is now solved.

Didn’t realize it was going to be this easy. Thank you

Coming back to correct my statement. This has not been solved. If I install and uninstall Displaylink in the same session, the USB-C ports seem to work. However, when I restart, even with the drivers uninstalled and purged, I get back to square one where only one port provides display capabilities.