Docking stations are quite a pleasant thing, because they save you having to plug in and out a lot of different cables (network, USB, monitors, power,…). Meanwhile, docking solutions via USB-C/Thunderbolt are also available. This means that a single USB cable is all it takes to connect the computer to the peripherals and the power supply. Practically USB-C or Thunderbolt are standards, so you can combine different devices like the HP Elite Thunderbolt Dock with a Lenovo X1 Carbon, right?
Okay, I’m a Linux user. This means that I often have problems with hardware because Linux drivers are not always available for all devices. Things like Thunderbolt should actually work out-of-the-box, because these are general standards. That’s why I bought an HP Elite Thunderbolt Dock with my Lenovo X1 Carbon, because Lenovo didn’t have its own Thunderbolt Dock at that time. However, there were problems with the dock firmware, which caused the USB ports of the dock to not work properly.
How i thought how to fix it
There is no update for the dock itself on the support page of HP, it is listed for notebooks with a Thunderbolt interface. If you search for “15 G3” on https://support.hp.com/, you will find the latest firmware update for the dock. Download, extract, start, and…
Nice Exception, isn’it? Obviously (and confirmed by HP support upon request) the update works exclusively from an HP device.
Now there are 4 possibilities:
- Throw away my HP Elite Thunderbolt Docks (I have three) and buy a Lenovo product – too expensive.
- Buying an HP Elitebook – all the more expensive
- Find someone who owns an HP notebook – 404, not found.
- Get this damn update running on a non-HP notebook!
Get this damn update running on a non-HP notebook
Shortly before: Yes, [I think] it worked!
Since the way to the working update was quite long and tedious, I’ll give you a short overview of the steps:
When you start the original update from HP, the individual update packages contained in it are unpacked into an extra directory (in the current update directory), which is deleted when the update program is closed. This temporary directory contains the subdirectory IntelT3Dock. This includes the update for the Thunderbolt firmware.
With JetBrains’ dotPeek you can decompile the file FwUpdaterCore. dll, which contains the code that triggers the exception. The program tries to identify the HP device with which the update should be performed. Therefore, I changed the code so that this check claims to have found an HP device. Recompile the dll file (for x64 architecture), replace the original one in the IntelT3Dock directory. Now the application should not crash anymore at startup.
Start a command shell and cd to the IntelT3Dock directory. Type
to get the latest firmware version of the HP Elite Thunderbolt Dock. The tool will create a file named version.txt with the desired information. With
you can start the update. Logs will be written to updater.log.
Legal notice and disclaimer
Since the update, the source code etc. is protected property of HP, Intel and possibly others, I cannot make the changed code or the binaries available here. However. If you have any questions, feel free to contact me by e-mail (PGP).
Faulty firmware updates can destroy the devices! This manual is only a basic idea! All attempts to follow these instructions or to use my answers are at your own risk! In no case can I be held responsible for defective devices!