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 | USB hub | xrandr --listmonitors | ext. monitor displays
Port #2 (mid L): power | USB hub | xrandr --listmonitors | ext. monitor displays ,
Port #4 (rear R): power | USB hub | xrandr --listmonitors | ext. monitor displays
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.
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.
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.
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.
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.
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.