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.

16 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.

Leave a Reply

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