Solved: ports on ThinkPad Thunderbolt dock doesn’t work with Fedora

I got a new ThinkPad X1 Carbon laptop for work. Of course I immediately installed Fedora 28 on it. Everything seemed to work just fine. But the laptop came with a ThinkPad Thunderbolt dock and when I went to go use it, I noticed the Ethernet port didn’t work. Then I noticed the USB ports didn’t work. But at least the HDMI port worked? (Full disclosure: I didn’t try the VGA port).

It turns out the solution was really simple, but I didn’t find a simple explanation so I’m putting one here. (Comment #17 of Red Hat Buzilla #1367508 had the basic solution. I hope this post becomes a little easier to find.)

The dock uses Thunderbolt which includes some security features. A package called bolt provides a management tool for this. Happily, it’s already in the Fedora 28 repo.

First, I installed it

# dnf install bolt

Then I examined the connected device

# boltctl list
● Lenovo ThinkPad Thunderbolt 3 Dock
├─ type: peripheral
├─ name: ThinkPad Thunderbolt 3 Dock
├─ vendor: Lenovo
├─ uuid: 00cd2054-ef95-0801-ffff-ffffffffffff
├─ status: connected
│ ├─ authflags: none
│ └─ connected: Fri 29 Jun 2018 03:13:10 PM UTC
└─ stored: no

Finally, I enrolled the device

# boltctl enroll 00cd2054-ef95-0801-ffff-ffffffffffff
● Lenovo ThinkPad Thunderbolt 3 Dock
├─ type: peripheral
├─ name: ThinkPad Thunderbolt 3 Dock
├─ vendor: Lenovo
├─ uuid: 00cd2054-ef95-0801-ffff-ffffffffffff
├─ dbus path: /org/freedesktop/bolt/devices/00cd2054_ef95_0801_ffff_ffffffffffff
├─ status: authorized
│ ├─ authflags: none
│ ├─ parent: cf030000-0080-7f18-23d0-7d0ba8c14120
│ ├─ syspath: /sys/devices/pci0000:00/0000:00:1d.0/0000:05:00.0/0000:06:00.0/0000:07:00.0/domain0/0-0/0-1
│ ├─ authorized: Fri 29 Jun 2018 03:19:39 PM UTC
│ └─ connected: Fri 29 Jun 2018 03:13:10 PM UTC
└─ stored: yes
├─ when: Fri 29 Jun 2018 03:19:39 PM UTC
├─ policy: auto
└─ key: no

After that, everything worked as expected. I’d like to thank the people who did the work to discover and implement the fix. I hope this post means a little less Googling for the next person.

29 thoughts on “Solved: ports on ThinkPad Thunderbolt dock doesn’t work with Fedora

  1. Pingback: Ben Cotton: Solved: ports on ThinkPad Thunderbolt dock don’t work with Fedora | Fedora Colombia

  2. Pingback: ThinkPad Thunderbolt 3 Dock | Suspend Problem – Ricardo's Blog

  3. I have bolt installed but sudo boltctl list returns absolutely nothing, just the void of my black terminal. I checked and the systemd service is started and journalctl / dmesg show the dock (sorry, the “port replicator”) being unplugged. Actually, it says “undocked from hotplug port replicator” both when unplugging and plugging the USB-C cable. Hmm. Anyway, if anyone has a clue 🙂

  4. Hi there, I had very similar issue with my T480s and Fedora 29. It was like ‘erosion’ of port accessibility on the docking station. At first I lost charging, then network and suddenly it completely stopped giving me the rest of the ports. I dropped the db entry in bolt db:

    # boltctl forget

    Had to switch my thunderbolt cable into the back slot (didn’t realize it was there and was connecting it to the front slot, which was ‘obvious’) and had to press the power button to suspend the laptop (yes, the power button worked) and then wake it up again. Then the device again appeared in ‘boltctl list’ and after enrolling it everything looks to work fine. Thank you, Ben. You made my life a little bit easier.

  5. Hey Roman,
    You mentioned you got this to work with T480s and Fedora 29. I have the same nothing seems to be working and “boltctl list” is blank.
    Did you follow a guide or did it work out of the box? What are your BIOS settings for Config -> Thunderbolt (TM) 3? Do you have Secure Boot on or off?
    Thanks very much for any assistance, Conor

  6. I didn’t do this, but instead I rebooted and went into the BIOS settings. It turns out there’s a bunch of USB, LAN, and Thunderbolt settings there. I set those and everything works now. I’m not sure why someone would need security on a USB port on a docking station when they could just plug into the USB port 2′ away on the laptop. Maybe this feature is useful for a custom system (like in the military) where they inject hot melt glue into the USB ports so you can’t use them.

    I am running Linux Mint 19.1 MATE on Lenovo X1 Extreme.

  7. I have a related problem with using a thunderbolt dock on a Lenovo T480 with an HP Omen dock. I used the thunderbolt gui originally (under settings/devices/thunderbolt) which implements the boltctl commands. I was able to find and register it and use it for charging, USB and ethernet. When I suspend the laptop, the dock is turned off (good, I want that.)
    Occasionally when I restart my machine after the suspend the thunderbolt gui reports that the port is disconnected, and no sequence of unplugging and replugging or power cycling seems to work. The fix seems to be
    boltctl authorize deviceid
    which forces the request for the root pwd.

  8. Pingback: Using the Lenovo Thunderbolt 3 Essential Dock with Linux – Lennart's weblog

  9. Great tutorial! Mine showed already enrolled but I’m still having problems on waking it up after it suspends.

  10. Hi Stephen. I’ve had to give up using the suspend function. I normally now either log out of my account (dock stays on) or power off ( shuts down the dock). I leave the dock plugged in unless I’m travelling with it and it starts up without a fuss.
    If I suspend the system, when I revive it I loose control of the keyboard and mouse, so I have to power down to recover.
    This is all with Fedora 33 and NVIDIA drivers.

  11. Had similar issues with P1 Gen3 and Thinkpad Thunderbolt 3 Docking station (40AN) here is what fixed my issues:

    Fedora 34


    sudo vi /etc/fwupd/remotes.d/lvfs-testing.conf

    #Change Enabled=false –> true


    sudo fwupdmgr refresh –force

    sudo fwupdmgr get-updates

    sudo fwupdmgr update

    #Multiple items related to the Thunderbolt 3 and dock are updated.

    sudo init 6

    Now for the first time ever I can “live” dock the laptop and all the USB devices (Keyboard,mouse,etc…) work again… My 2 Display port monitors always came back, but the USB devices did not previously.

    Hope this helps.

  12. Instead of editing files, you can use `fwupdmgr enable-remote lvfs-testing` – that also brings up the warning screen which people should see before accepting.

  13. I tried Matt Faust’s fix with my hardware – fc33 Lenovo 480 with HP Omen dock.
    Various firmwares got updated but there was no specific firmware for the HP ock.
    My computer still froze when recovering from a suspend. Also it started freezing ~1/hr while running on the dock/GPU. Resetting the lvfs-testing.conf to false seems to fix the problem.

  14. You are the best. 🙂
    This was the best solution to my problem.
    My Thinkpad and my dock are best friends now.
    Thank you very much!

  15. The only issue left is the Ethernet initialized only after reboot.
    If I wish to use the Ethernet cable which connected to lenevo dock station, I will need to reboot each time.

  16. The USB-ports on my new dock didn’t work on my P1 running Fedora 36. “enrolling” it with boltctl fixed it, thanks! I had no idea that is a necessary step!

Leave a Reply

Your email address will not be published. Required fields are marked *