How to use Thunderbolt 3 and 4 on CentOS

decorative linux instruction

The Thunderbolt hardware interface is a relatively new technology launched in 2011 by Apple and Intel. It’s an external hardware interface to connect your external peripheral devices to your laptop/ Desktop. Thunderbolt 1 and 2 used a Mini DisplayPort (MDP) connector illustrated in the image below. However, only a few laptop models and Macbooks shipped their products with the Thunderbolt 1/ 2 interface by this time. The main reason was that for laptop brands to use the interface on their products, they had to pay high copyright fees to Intel.

Note: Even though Intel and Apple developed the Thunderbolt technology, Intel still owns the copyright to the product, and even Apple had to pay licensing fees to use the Thunderbolt 1/2 interface on their products.

word image

In 2015, Thunderbolt 3 was released. It came with improved features and ditched the MDP (Mini DisplayPort) used by Thunderbolt 1 and 2 for USB-C. Intel also dropped the licensing fees to make matters even better, allowing brands to use the interface freely. Thunderbolt 4 was later released in 2020 and came with several features that were an improvement of the Thunderbolt 3 port, and it also made use of the USB-C interface, as illustrated in the image below.

word image 1

Some of the reasons why Thunderbolt 3 and 4 have gained a lot of popularity in the tech market include:

  • Hight transfer speeds: Both Thunderbolt 3 and 4 can transfer data at 40 GB/s, which is high compared to USB-C that transfers data at 20 GB/s.
  • High power output: Thunderbolt 3 can transfer up to 100W of power (bi-directional). That’s enough power to charge your device. Unfortunately, not all PC manufacturers will include this high-power delivery of 100W.
  • Support for high-resolution displays. Thunderbolt 3 can support 2-4K display while Thunderbolt 4 can support up to 2-4K displays or 1-8K display.
  • Support multiple protocols: With Thunderbolt 3/4, you can connect different peripheral devices to your laptop. You can use it for data transfer, video transmission, and charging.
  • Daisy-chaining: Thunderbolt 3/4 lets you connect up to six Thunderbolt devices, which is made possible by using a Thunderbolt docking station.

 

How to Use Thunderbolt 3/4 on CentOS

This post will look at using Thunderbolt 3/4 with CentOS. Our CentOS release of choice for this post is CentOS 8. If you are an Ubuntu user, please look at our post on How to use Thunderbolt 3/4 on Ubuntu.

To test CentOS with Thunderbolt 3/4, we will connect our PC to the Lenovo ThinkPad Thunderbolt 3 Dock via a Thunderbolt 3 cable, then connect to an external monitor via HDMI. The image below illustrates the connection design.

word image 2

Even though Thunderbolt 3/4 can be used for other activities like transferring data from a Thunderbolt storage device or charging, we decided to use an external monitor since that’s the ultimate way to confirm the port is working. Alternatively, you can drop the docking station and use a Thunderbolt Monitor as a dock.

Note: We will not install any drivers at first. We will leverage the native support for Thunderbolt that comes with CentOS 8.

After a few minutes of switching between the different ports on the Lenovo docking station, we were able to get an external display through both the HDMI port and the MDP (Mini DisplayPort). Remember, we did not install any additional drivers on our CentOS system.

Another feature we found out during the testing, if you are running the GNOME Desktop Environment, you will always get a notification whenever you connect a Thunderbolt device to your laptop. After a quick lookup on the internet, we found out this is an Extended Device support feature introduced by GNOME to help you manage and monitor your connected Thunderbolt devices and mitigate any data security issues.

Troubleshooting Issues with Thunderbolt 3/4 on CentOS

Unfortunately, not all users will get Thunderbolt 3/ 4 working straightway on CentOS. You may connect your Thunderbolt monitor but still not get any display. You may see the GNOME notification that you have successfully connected a Thunderbolt device, but you still get no display on the external monitor. This section will look at all the solutions you can apply to get Thunderbolt working on your CentOS system.

Solution 1: Confirm that Your PC has a Thunderbolt 3/4 Port and Not USB-C

These four technologies can be pretty confusing to the end-user – Thunderbolt 3, Thunderbolt 4, USB-C, and USB-4. That’s because they all use the USB-C hardware interface.

Note: If you have a USB-C port on your PC, that doesn’t necessarily mean it is a Thunderbolt 3/ Thunderbolt 4/ USB-C or USB-4. These four technologies use the USB-C interface design for connection; however, the underlying protocol differs.

One trick you can use to differentiate a Thunderbolt 3/4 port from a USB-C port is by checking whether there is a lightning symbol next to the port. Most laptop brands always include a lightning symbol next to Thunderbolt 3/4 ports, as shown below.

word image 3

Solution 2: Install Bolt (Thunderbolt Device Manager)

If you are running an earlier version of CentOS, such as CentOS 7 or 6, and still experiencing issues with Thunderbolt, try installing Bolt on your system. Bolt is a system daemon that uses the D-BUS API to manage Thunderbolt devices. When Thunderbolt 3 was introduced, connected Thunderbolt devices required authorization before being used. With the Bolt package, you can list connected devices, authorize them and forget them once they are disconnected. Bolt comes with a command-line tool known as boltctl, which you can use to control the daemon.

There are two ways you can use to install bolt on your system:

  • Install Bolt with yum
  • Install Bolt with dnf

Install Bolt on CentOS Using yum

To get started, update the yum database by executing the command below.

sudo yum makecache

When done, run the command below to install Bolt on your system.

sudo yum -y install bolt

word image 4

Install Bolt on CentOS Using dnf

If you don’t have dnf installed, install it first by executing the commands below.

sudo yum makecache
sudo yum -y install dnf

After successfully installing dnf, execute the command below to install bolt on your system.

sudo dnf makecache
sudo dnf -y install bolt

word image 5

Execute the command below if you ever want to uninstall/ remove Bolt from your system.

sudo dnf remove bolt

Solution 3: Install Plasma-Thunderbolt (KDE Plasma Desktop)

If you are running the KDE Plasma Desktop, you will need to install the plasma thunderbolt package to handle the authorization of connected Thunderbolt devices. However, you will also need to install the Bolt package discussed in Solution 2. Execute the command below to install the plasma-thunderbolt package.

sudo dnf install plasma-thunderbolt.x86_64

Solution 4: Upgrade the Kernel Release

Thunderbolt technology works perfectly with the latest Kernel releases. Since Kernel 4.13 release, Linux has included Thunderbolt 3 security as well. Follow the steps below to upgrade the Kernel on CentOS 8.

To check the Kernel version currently running on your system, execute the command below:

uname -msr

From the image below, you can see we are running Kernel 4.18
word image 6

Next, update all the system packages with the command below.

sudo yum -y update

To update to a later Kernel release, you need to enable the ELRepo repository. Execute the command below on the Terminal to install the GPG key for the ELRepo repository. That allows CentOS to install unsigned software.

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

To install the ELRepo repository, run the command below:

sudo dnf install https://www.elrepo.org/elrepo-release-8.0-2.el8.elrepo.noarch.rpm

word image 7

Up to this point, you are all set. Now, execute the command below to install a newer Kernel release.

sudo dnf --enablerepo=elrepo-kernel install kernel-ml

word image 8

To start using the new Kernel, reboot/ restart your PC and select it from the boot menu as shown in the image below.

word image 9

Conclusion

This post has given a step-by-step guide on using Thunderbolt 3/4 on CentOS 8 and the different solutions you can apply in case you encounter any connection issues. A small tip, when working with the latest technologies like Thunderbolt on a Linux system, always ensure you are running a newer kernel release. Earlier Kernel versions don’t include support for newer technologies and you might need to recompile the Kernel to get some devices working. Do you have any questions regarding this topic? Please, feel free to hit the comments below.

0 Shares:
Subscribe
Notify of
guest
Receive notifications when your comment receives a reply. (Optional)
Your username will link to your website. (Optional)
0 Comments
Inline Feedbacks
View all comments
You May Also Like