In this post I want to describe my experiences with my MacBook Pro 16" from 2019 and the struggles with the Thunderbolt ports using various external peripherals.
The story begins in December 2019 when I got my first work machine that wasn't a Thinkpad/PC based laptop in almost 20 years of working with IBM/HCL Notes and Domino. I wanted a MacBook for my next work device as I was already a Mac user for several years in my private life. I got used to macOS and all the benefits that this OS offers so I wanted to have that for the main part of my work day, too.
I am using Parallels for my Windows VMs I still have to use because of Notes/Designer. I favor Parallels though I cannot allocate more than 8GB RAM to a VM but this is more than enough. I sometimes run 2 Windows VMs at the same time depending on my tasks. As the MacBook itself is equipped with 32GB this is no problem at all.
These are my specs - and now for the problems I faced during the past 8 months.
Setup attempt number 1
It began with a Thunderbolt dock which I still have and use but only for charging the machine. The dock offers USB 2 and 3, Thunderbolt passthrough, 2 display ports and 1Gbit ethernet as well as an SD card slot. None of them can be used without issues, and here is why.
I started to use my 2 external FHD monitors over the two display ports using adapter to HDMI. This had the effect that one or the other monitor did not wake up properly after I woke up the machine (not using the hibernate but only the energy saver for the displays!). I sometimes had to re-connect the display that wasn't starting to work again and that fixed it. But this was clearly annoying. Result: I am not connecting my 2 monitors to the dock.
Another major issue was/is the ethernet port. Usually the port is not affected by the hibernation of the MacBook connected to it but this dock is different: once the MacBook gets to sleep, the ethernet port does the same and pulls down my entire LAN so that none of my other devices can use it. I run several iMacs and another MacBook Pro using the LAN instead of WLAN (which still continued to work in that case) that then did not have network access, they simply loose all connections though they still have proper IP addresses. This is obviously a problem with the dock but I wonder what the MacBook sends out to it when starting to hibernate. Result: I am not using the ethernet port on the dock.
I have a bunch of USB devices such as audio interface, MIDI hardware and other stuff. I also used the Unify dongle from Logitech for my keyboard and mouse (these are special, wait for it!). Running all this devices over the dock led to loss of connectivity on a regular basis. I realized this when Parallels continued to ask me whether I want to use "device X" on the Mac or in my running VM (a feature that is nice when you manually connect an external drive for example). This popped up several times per hour which drove me crazy! The USB devices must have been disconnected and re-connected all the time, and this was also the dock's fault. Result: I am not using the USB connections on the dock.
Setup attempt number 2
Nice but useless dock, isn't it? I do not blame the dock for all these issues, in fact I tried several different models and all of them had more or less the same issues. I blame the Thunderbolt port(s) on the MacBook Pro, and here is another reason:
Once I switched to using 2 USB dongles (both the same, featuring USB 3.0, TB passthrough, SD, HDMI) I got rid of the issues named above - and got a new one. The MacBook Pro offers 4 Thunderbolt ports that offer data up to 40Gbit to drive up to two 4k displays, all of them can be used to charge the machine. Charging is a problem on this machine.
I run the MacBook in clamshell mode and it sits vertically on my desk. For reasons of cable management I connected the charger (the dock) USB-C cable to one of the TB ports on the left of the machine (left when you have the machine on your table in normal laptop mode). Also on the left one of the dongles with display number one (and I think with one or two USB devices connected, too). On the right I used the second dongle with the second display and additional USB devices.
Setup attempt number 3 (final)
This worked for a while. During the past month I got 2 or 3 macOS updates (Catalina which was shipped with the device). One of those must be responsible for the problem I then had with very poor performance even when the processor didn't do much. But in my daily business, running 1 or 2 VMs, VS Code, browsers, Outlook, Teams etc. (all macOS) this machine got stuck several times and I could not work with it anymore due to heavy lagging. I quickly found the cause using the activity monitor: kernel_task. This process used up to 1800% CPU which is crazy and almost stops the machine entirely. Reducing the workload brought some cure but only a restart brought it back to normal which should be around 5-10% CPU. The task itself is described as a "no-op" task which literally doesn't do anything but only keeps the CPU busy so that other processes cannot use it. This is done on purpose to reduce the temperature on one of the sensors. I checked the sensors and the CPU temperatures with several tools. Never exceeded they 70°C and the CPU utilization never passed 70% for the other processes.
The question was: what the hell is causing the kernel_task going crazy when the CPU idles along and does not do anything special? The simple answer: the Thunderbolt sensor for the left side!
Believe it or not, but we are facing another hardware-"gate" here which I would call "charging-gate" (in analogy to the "antenna-gate" we had with iPhones). The answer for the iPhone problem just was "you are holding it wrong". In this case I can state "you are charging it wrong".
It turned out that charging the MacBook on the left side causes high temperatures on the port's sensor, especially when you also add displays and/or other devices. This was the case here! I found this useful answer and the measurements this chap did speak a clear language: https://apple.stackexchange.com/questions/363337/how-to-find-cause-of-high-kernel-task-cpu-usage/363933#363933
Result: I switched the charging port to the right and I only connected the charger on this side. My two dongles are now connected to the left TB ports. I never had this thermal issue since then.
Logitech and Catalina
But now for the mouse problems: I use a Logitech MX2 Anywhere. I used to use the Bluetooth connection for it which I also use for my Logitech K780 keyboard. Both worked properly. Since I re-arranged my desk so that the MacBook in clamshell mode is sitting on the desk, too (it used to be in a different location before) I faced problems with the mouse: lagging, interruptions, disconnects etc. It was really a pain to work with it. Using Bluetooth in general does not seem to be a problem as I can use the Apple Magic Mouse 2 without any issues. After a bit of research on Reddit I found out: the Logitech stuff has problems with latest Catalina updates. I cannot confirm that an update is to blame but Catalina itself which I find the worst macOS ever, but this is a different story. Using a Logitech mouse on Catalina with Bluetooth is annoying if other devices like speakers may interfere with it - though I never had problem with that before the updates. Anyway, Logitech also offers the possibility to use a USB dongle and the 2.4 MHz band.
After I connected the dongle to one of the hubs and set up the mouse again (after disconnecting it from Bluetooth beforehand), it worked even worse. It's simply not usable. Reddit users report similar results and even Apple does not have a useful tipp. Logitech only points to using the latest firmware (which I do and all the other users claim to do), so there seemed to be no solution for it. I accidentally found another Reddit post where a user reported to solve the problem using the dongle without a hub but directly on a spare Thunderbolt port. As this machine offers 4 I also got 1 spare to try it. I ordered a mid-range USB-C to USB-A adapter and connected the mouse again using the dongle, et voilá, here we are now - no lagging during the past hours! Unfortunately I don't have the address to the post which led me to this solution.
I call this a success. But I really ask myself: what the hell makes Apple to use Thunderbolt this excessively when there are so many problems with it? Is this something an Apple user should expect when simplicity is one of the key features of their products? I run the machine with a strict connection plan and a stupid single-use of a full TB port which is capable of so much more than just this - what a waste.
If I can make a wish for future MacBook Pros: make them thicker to solve the thermal issues, make TB more reliable and also offer at least a simple USB-A 3.0 port so that I can connect my stuff without any bloody dongle. Otherwise you may end up with a setup which looks as ridiculous like this:
Upper-left: Logitech Unify dongle via USB-C to USB-A adapter
Lower-left: charging only from the dock (100W)
Upper-right: USB hub 1 with display 1, 2 MIDI devices
Lower-right: USB hub 2 with display 2, 2 audio interfaces, 1 USB-ethernet adapter, 1 MIDI device
Today I again had the kernel_task problem. The machine did absolutely nothing but it peaked up to 1200% which made the system completely unusable.
I removed both external displays now. The machine wasn't responsive anymore, my VMs were laggy as fuck and I faced graphic failures (natively).
I am really not sure what to do now with this machine. As a side "bonus" I noticed also my TB Dock stopped working. It only charges the MBP and ethernet is still active - but USB 2/3 is completely dead. I didn't test the SD card slot. This will be returned to Amazon even if it is already 8 months in use. I don't see any reason why they wouldn't accept it when it just stops working almost totally.
Yes, I know, you have fun with me "breaking" everything though I always use my devices properly, I take care of them and I really curate software - and I know what I am doing. This joke has become a bit lame after the time, but I will continue to live with them. Keep the jokes coming...