[RESOLVED] FW16 AMD Linux Fedora 39 - How do I diagnose my docking issue?

Edit: I’m seeing no option for optional tags on the post or I’d add them. Apologies for not following the rules, I would if I could.

I’ve just got my FW16 up and running and I’m absolutely thrilled with it, it’s running like a dream! I just wish I could get it playing nice with my work dock setup. I switch laptops a lot and have a Kensington SD4700P dock to help with this. In macOS or Windows this works seamlessly. On my Framework 16 with Fedora 39 Kernel 6.7, it doesn’t.

I followed all the install instructions for Fedora 39, then ran the completion guide (basically sudo dnf upgrade) and once I was done, I plugged the dock in. As I’d anticipated, the screens didn’t work, but the peripherals connected to the dock did – my mouse and keyboard. Great, I thought, I just need DisplayLink drivers.

I ran sudo dnf install fedora-39-displaylink-1.14.1-2.x86_64.rpm to get the right release from the displaylink-rpm repo. I suspect some other dependencies got installed here too but I can’t remember what – I briefly tried to make this rather than installing the release. Now my external mouse, keyboard, and screens don’t work, but I can see my keyboard repeatedly powering off and on.

How do I go about diagnosing the problem? Who/where should I ask for help?

I think DisplayLink is installed fine. The service isn’t running, and I can run it without issue with sudo systemctl start displaylink-driver.service, but when I plug the dock in, the service gets stopped and I don’t know why. Lots of the issues on the repo seem to be with EDVI and dkms, but even with SecureBoot, this seems configured right to me if I tell the service to run, and it runs? I don’t understand why plugging in the dock stops it.

I’m getting a lot of USB errors in the logs. Stuff like:

  • hub 7-1.1.2:1.0: config failed, can't get hub status (err -5)
  • hub 7-1.1:1.0: hub_ext_port_status failed (err = -71)
  • usb 7-1.1-port1: cannot disable (err = -71)
  • usb 7-1.1-port1: cannot reset (err = -71)
  • usb 7-1.1.1: clock source 10 is not valid, cannot use
  • usb 8-1.2: device not accepting address 85, error -71
  • usb 7-1.1.1: 12:2: cannot get min/max values for control 2 (id 12)
  • usb 7-1.1.2: Failed to suspend device, error -71

Looking up 71, this seems to be a protocol error, and 5 is an I/O error. Perhaps this is expected if DisplayLink keeps getting stopped? It’s the thing that should be interpreting these signals, right?

What’s especially weird is that while the hub is appearing on hub/usb 7-1.1, if I search my logs for any mention of “Kensington” it’s mentioned on usb 8-1.1. All this physically is running of a single physical expansion card port in position 1.

Here’s lsusb with nothing plugged in:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 32ac:0002 Framework HDMI Expansion Card
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 004: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 005: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 006: ID 0e8d:e616 MediaTek Inc. Wireless_Device
Bus 001 Device 007: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
Bus 001 Device 008: ID 32ac:0018 Framework Laptop 16 Keyboard Module - ISO
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 05e3:0625 Genesys Logic, Inc. USB3.2 Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

When I plug the device in this takes a few moments to become:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 32ac:0002 Framework HDMI Expansion Card
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 004: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 005: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 006: ID 0e8d:e616 MediaTek Inc. Wireless_Device
Bus 001 Device 007: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
Bus 001 Device 008: ID 32ac:0018 Framework Laptop 16 Keyboard Module - ISO
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 05e3:0625 Genesys Logic, Inc. USB3.2 Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 006: ID 0bda:5411 Realtek Semiconductor Corp. RTS5411 Hub
Bus 007 Device 007: ID 0bda:5454 Realtek Semiconductor Corp. BillBoard Device
Bus 007 Device 008: ID 0bda:5411 Realtek Semiconductor Corp. RTS5411 Hub
Bus 007 Device 060: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 107: ID 0bda:0411 Realtek Semiconductor Corp. Hub
Bus 008 Device 108: ID 17e9:4349 DisplayLink Kensington SD4700P Dual Video Dock

…and then everything disappears back to how it looked with nothing plugged in, except for an extra Bus 007 Device 060: ID 1a40:0101 Terminus Technology Inc. Hub. This cycle then repeats over and over.

I think power is a component of this. The hub can only provide 60W, so I’ve left my laptop using the primary charger while working on this.

Some answers suggested various ways of amending usbcore autosuspend=-1, which hasn’t worked and I’ve been setting it back to 2, but I wondered if the power profiles daemon might be changing some setting that’s getting in the way.

I’m struggling to formalise the things that might be going wrong and how to rule them out, which means I can’t raise an issue with people who might feasibly solve it. Can anyone help me make sense of what I’m seeing?

Welcome to the community, @illiter8.

DisplayLink has been rough on Linux for as long as I can recall. Our recommendation remains using HDMI or DisplayPort expansion cards as we can control the firmware interactions with those devices. Outside of reaching out for help from the dock vendor, the I/O and power errors are pretty much where we land with this. You could try using different USB-C ports, but outside of this, there isn’t much we can do.

1 Like

Thanks Matt, that’s s shame! I’ll throw myself at it a bit more and let you know if I get anywhere.

1 Like

You could try using different USB-C ports

You nailed it, THANK YOU!! Slot 3 is working – I’ve got two external monitors, a mouse and keyboard working off the single USB-C connector. Looking at this article from DisplayLink there’s some mention of issues with different USB types that go beyond what I understand of these things, but I wonder if this might provide a way into a more general solution.

Anyway, thank you SO much for your help, have a wonderful evening :smiley:

Delighted this is working for you! :slight_smile: