Thunderbolt 3 with Threadripper Pro on a Lenovo Thinkstation?

Frontinus, you are boldly going where no one has gone before. I have been wondering if what you are trying could work.

My guess is that a Lenovo P620 BIOS update is needed to properly enable Thunderbolt and that won’t happen until they have their own add-in card ready for sale. When the P620 was announced last July, Lenovo stated that a Thunderbolt option was scheduled for “Early 2021”. Hopefully that uses the new TB4/USB4 chipset. But having the option to use the Gigabyte card would be nice.

Success !!! Of a sort…

So, I really don’t quite know how I did it, which is going to make it a little difficult for others to replicate. Having done the various steps in my last post (jumpered the cable; installed the legacy non-DCH drivers), I realised that the Thunderbolt Software was still showing a firmware version of NVM 50, not the 23 I thought I had flashed back to.

So since I was still running on 50, I thought I’d go back to Thunderbolt Control Centre where I could at least see the device, even if not access it. So I uninstalled the legacy drivers, using Wendell’s uninstall tricks from his original post:

and then used the
pnputil /enum-drivers > c:\drivers.txt

to see what tbt-related drivers were still there, and then
pnputil /delete-driver oemXX.inf /force /uninstall

(where XX is a number) to delete all the oem.inf drivers
I think I still needed to uninstall the Intel Thunderbolt Software using Control Panel.

After that, I rebooted, and reinstalled the latest Gigabyte drivers (these are the DCH ones), and downloaded Thunderbolt Control Center from Microsoft store.

That got me back to the state I had been in before, where I could see the device in Thunderbolt Control Center, running NVM50, but still not actually do anything useful with it, except approve it or unapprove it, pointlessly .
Next step was to use the flash utility to flash back the firmware to NVM23. I ran this and it said it failed. I ran it another time and it seemed to crash out of the program. But when I next launched Thunderbolt Control Center, it had in fact reverted to NVM 23:

I could see the Samsung drive attached, as before:

and approve it, as before:

But I still couldn’t see it in Windows.

By now the attentive reader (assuming anyone even gets this far without falling asleep) will have realised that there is one permutation I had not yet tried - the legacy drivers and Intel Thunderbolt Software (not Control Center) with NVM 23.

So, I uninstalled the DCH drivers using the method above (Wendell + pnputil), uninstalled Thunderbolt Control Center, and rebooted the machine.

I ran pnputil /enum-drivers > c:\drivers.txt again and was just going to open the drivers.txt file in Windows Explorer to check if the Thunderbolt drivers had indeed been removed, when I saw that Windows Explorer was now showing a new drive, Samsung X5 (E:)
Hallelujah!

But here’s the weird bit:

Device Manager now shows no Thunderbolt Controller installed under System devices where it used to be. The Gigabyte card evidently shows up as a problematic Base System Device under Other Devices, saying its drivers are not installed:

Enumerating the installed drivers to drivers.txt shows that the following 3 drivers ARE in fact installed - Windows must have reverted to them as I forgot to scrub the backup package from System32\Drivers\Filestore

Published Name: oem10.inf
Original Name: tbtp2pndisdrv.inf
Provider Name: Intel® Corporation
Class Name: Network adapters
Class GUID: {4d36e972-e325-11ce-bfc1-08002be10318}
Driver Version: 04/12/2020 1.41.890.0
Signer Name: Microsoft Windows Hardware Compatibility Publisher

Published Name: oem11.inf
Original Name: tbthostcontrollerhsacomponent.inf
Provider Name: Intel® Corporation
Class Name: Software components
Class GUID: {5c4c3332-344d-483c-8739-259e934c9cc8}
Driver Version: 04/12/2020 1.41.890.0
Signer Name: Microsoft Windows Hardware Compatibility Publisher

Published Name: oem12.inf
Original Name: tbthostcontrollerextension.inf
Provider Name: Intel® Corporation
Class Name: Extensions
Class GUID: {e2f84ce7-8efa-411c-aa69-97454ca4cb57}
Extension ID: {b4daa161-39a4-49ea-bc66-7b05a9ddbb16}
Driver Version: 04/12/2020 1.41.890.0
Signer Name: Microsoft Windows Hardware Compatibility Publisher

Task manager tells me that Thunderbolt Service is running, which I suppose is what is providing the service that allows Windows to see the disk. So, Device Manager can’t see a thing it recognises as a Thunderbolt controller; I can’t actually open Thunderbolt control software to approve devices or see what is connected - BUT Windows can see the disk and that is basically what I need. So as I write this I am copying 1.5 Tb (terabytes, not thunderbolt!) of data to the Samsung X5 and I seem to have got working what I need to get working - even if I don’t really know how!

I haven’t tried using a display via thunderbolt, or charging from it - just data transfer. But that now shows that it can be done on a Lenovo Thinkstation P620 with a Gigabyte GC-Titan Ridge 2.0 !

In summary, I think my current setup is now:
Gigabyte GC-Titan Ridge 2.0 with jumpered cable
NVM23
Intel DCH drivers version 1.41.890.0
NO Thunderbolt Control Center installed

Thanks to Wendell, poomer and Robert for their suggestions and encouragement !

4 Likes

Awesome! Thanks for sharing what you are doing.

Robert, yes I am sure what it really needs is the BIOS update. I (and others) have been asking on the Lenovo Community Thinkstation forum about this and the very helpful Lenovo people say that Lenovo is working on a solution but can’t give a release date.
Since there is a Lenovo PCIe 3.0 Thunderbolt add-in card that works with other Thinkstation models (P520, P720, P920), and there’s a Thunderbolt header on the motherboard, you’d think the hardware wasn’t the issue, so like you I’d guessed it would need a BIOS update, and I couldn’t be bothered to wait for that.
Of course, if they do bring out a certified solution based on Thunderbolt 4 over PCIe 4.0, that really would be worth it!
But for now it seems that it really is possible to use a 3rd-party solution, if you don’t mind spending a couple of days playing with different combinations of drivers, flashing firmware, and possibly even jumpering pins.
(It’s possible that the pin jumpering wasn’t necessary, and it’s the NVM23 firmware with DCH drivers that did it, but by this stage I just don’t know…)

2 Likes

I’m going to have a drink now to celebrate. :grinning:

2 Likes

@poomer thank you very much for doing me the honour of assuming I’m a fellow IT Pro. I was once, about 30 years ago, but for the last 17 years I’ve been a professor of archaeology, though still dabbling with computers perhaps more than I ought…

2 Likes

Yes this older “less secure” approach is how I did it all the way back on threadripper 2000 series. Some of what we see here may be an attempt to put the genie back in the bottle. But also Intel’s driver team has somehow made things much worse with dch drivers than the older non dch versions…

2 Likes

Well, that turned out not quite to be the end of the story. After using the device for a day (and backing up from it!), with some trepidation I tried a power down and cold boot. As I had feared, the setup didn’t survive it - when the machine came back on, it no longer saw the Samsung X5 drive in Windows.

Following various bits of systematic experimentation this morning, this appears to be the solution to get it to survive a warm boot, though I still can’t get it to persist across a cold boot:

Just to recap, so that people trying this for the first time can start from here, this assumes that the GC-Titan Ridge 2.0 card is installed in a Lenovo P620 Thinkstation (in my machine, it’s in slot 6, as the power cables won’t reach the card across the GPU in slot 3 if it’s in another slot). The USB 2.0 cable is connected to the USB 2.0 header on the motherboard (ignoring the leftmost 2 pins since Lenovo uses an 11-pin USB 2.0 header; the extra pins are apparently “a combination of ground and GPIO that is used for cable detection/verification” - see Thinkstation S30 issue with 11 pin USB header on Motherboard (BT)-English Community )
The Thunderbolt header cable is not plugged into the Thunderbolt header on the motherboard, since there is no BIOS option to control it. Instead, pins 3 to 5 on the header cable are jumpered with a paperclip (the exposed part of which is wrapped around in Sellotape to stop it shorting anything else).
So, with the card physically installed, it should show up in Device Manager as a Base System unit with problems:

This appears to be the sequence to get it working:

  1. Install the Intel DCH 1.41.890.0 drivers via Device Manager from the Base System unit that has problems. These are the drivers from the Gigabyte website, not the ones that come on the CD with the card. (Don’t install the ones on the CD.)
    Flash the firmware back to NVM23 using the utility posted at https://egpu.io/forums/postid/87833/

  2. Reboot.
    [The Thunderbolt controller should now show up in Device Manager as installed properly. Device Manager also shows an Unknown USB Device as having a problem (Device Descriptor Request Failed). I guess this is the internal USB 2.0 connection?]

  3. Install Thunderbolt Control Center from Microsoft Store.
    https://www.microsoft.com/en-us/p/thunderbolt-control-center/9n6f0jv38ph1?activetab=pivot:overviewtab

  4. Launch Thunderbolt Control Center; it sees the Thunderbolt controller, and a device (in my case, a Samsung X5 drive) when hotplugged.
    [Device Manager does not now show a problem with an Unknown USB device. It has just disappeared from the list. Therefore Thunderbolt Control Center must have installed the relevant USB driver to fix it.]

  5. Now we need to remove Thunderbolt Control Center, using the PowerShell in Administrator mode:

image

  1. Reboot.
    Success! Now we see the Samsung X5 as drive E:

This will persist across a warm reboot, but not across a power down and cold boot.
If you need to do a cold boot, then repeat steps 3-6 above.

2 Likes

I guess the explanation for this is to do with the kind of security settings @Wendell mentioned in his various posts above.
It seems that Thunderbolt Control Center needs to be installed to deal with the USB 2.0 connection, it appears, but it then needs to be removed in order to avoid authorisation problems.
I am guessing here - but if Thunderbolt Control Center reads the card via the PCIe slot, but sends approval information for a device to the card over the Thunderbolt header cable, then it can’t do it in this setup, because either the header cable is connected but not configured in BIOS, as there is no BIOS option for Thunderbolt yet in a P620; or it is not connected and the pins are jumpered (as in my setup). So either way, Thunderbolt Control Center can see the card via the PCIe slot, but can’t action any authorisation of devices, even though it presents the user with the software options to authorise them.
So the Thunderbolt Control Center has to be uninstalled to bypass this authorisation problem. And fortunately the uninstallation via get-appackage [asterisk]thunder[asterisk] |remove-apppackage seems to leave behind whatever Thunderbolt Control Center did to make the USB 2.0 header work, which is presumably crucial for Windows to see the drive?

Now, any suggestions on what to do to make the successful setup persist across a power-down and cold boot? I suspect it may need things doing in the Windows Registry, but I am way out of my depth here…

This Powershell script is my best effort to automate the process of restoring Thunderbolt services after a cold boot. It launches the Microsoft Store via a web browser (change the path and program name to the web browser you are using), allowing you to download and install Thunderbolt Control Center.
You must launch Thunderbolt Control Center, and unplug and replug the drive or device so Thunderbolt Control Center recognises it. Then go back to the Powershell window and hit Enter to uninstall Thunderbolt Control Center and reboot.
When the computer restarts you should be able to see your Thunderbolt device in Windows.

Here is the script, uploaded as a txt file because I can’t upload a .ps1 file; you’ll want to save it with a .ps1 extension:

InstallAndThenRemoveThunderboltControlCenter.txt (3.1 KB)

1 Like

Curious, Has this brute-force work around still been good for you? I’m in desperate need to get thunderbolt working on my P620 for an upcoming video editing project I have, using an external 64TB raid drive, that’s Thunderbolt 3, and not USB-C.

-BG

I’ve been using the GC-TITAN RIDGE AIC with my ThinkStation P620 for some time without the issues you are experiencing. I enabled Thunderbolt support and disabled the security the in the BIOS. These settings are hidden in the HII BIOS menu. However, you have several different tools at your disposal to change the BIOS settings. The “Windows BIOS setting tool” is in the ThinkStation P620 “BIOS/UEFI” download section of the “Drivers & Software” support page. Another tool is the “The Think BIOS Config Tool”. The latter has a GUI.
The settings I changed are:

  • TBTPortSlot to Auto
  • TBSecurityLevel to No Security

I don’t use the TB3 header on the motherboard. I have the pins jumpered on the AIC to keep it powered. I don’t put my workstation to sleep nor hibernate so keep I keep Force Power enabled and no Go2Sx dancing FTW.
The AIC is in PCIE slot four. It is using NVM23 firmware with the legacy non-DCH driver and software (17.4.77.400). I’ll upgrade the firmware and drivers in the future when I have the time or more likely when a new peripheral requires it.

1 Like

@djgoat - yes, it’s been working fine for over a week now - I store all my data on the external Samsung X5 connected via Thunderbolt, and back it up daily to an old external drive connected by USB. Overall it’s pretty fast and works well.

But I have just seen @ducphuc’s post below, so will try experimenting with the BIOS settings which I couldn’t find before…

1 Like

@ducphuc - many thanks, I didn’t know how to get around the lack of visible Thunderbolt settings in the BIOS, so thanks for these back-door routes… However, both in the “Windows BIOS settings tool” and in the “Think BIOS Config tool” I can only see, or set, only the option for the TBTPortSlot, and not the TBSecurityLevel.
At least, the text readme.txt file for the “Windows BIOS settings tool” gives me the command + argument for setting the PCIe slot as srwin.exe /tbt slotx where x is the slot number; and I can see this option too in the “Think BIOS Config tool”. But I can’t see an argument to set the TBSecurity Level, nor can I see the option in the GUI for the “Think BIOS Config tool”.
Perhaps we are running different versions of the BIOS? I am on S07KT17A, dated 26 Jan 2021.
If you know the command line syntax to run srwin.exe to update TBSecurityLevel to No Security, please share!
I think it is the fact that I have been unable to set the security level to none via the BIOS that has necessitated the strange workaround with installing and running Thunderbolt Control Center, and then uninstalling it again and rebooting - this seems to disable the security…

Update: having set the TBTPortSlot to Auto in the GUI “Think BIOS Config tool”, Thunderbolt services still don’t persist after a cold boot, but I can now restore them simply by running Thunderbolt Control Center, and hot unplugging/replugging the drive, and rebooting - in other words I don’t now have to download Thunderbolt Conttrol Center, install it, and then uninstall it again. So that’s an improvement… !

Maybe when I have time and am feeling strong I might try reverting to the legacy non-DCH drivers and see if that fixes things completely…

1 Like

EDIT
(to combine all my replies in one due to a 3 reply max for new member)

OK that’s good news to hear! i just received my card and am going to attempt to get it installed on my p620. I desperately need TB3 access to use a drive supplied by a client for my video editing needs.


I am also not seeing the setting for the security within the think bios config tool. I’m running bios s07es0fa dated 1/11/21

------- fast forward a couple hrs -------

I’m having such a hard time with this, and just going to blame it on being a total rookie with PCs. I cant get the driver for the card, or thunderbolt control center to install. The driver installer will just ghost out / crash when trying to perform the install. The control center throws up an error stating its unsuccessful when finished.

0x80070643 - Fatal error during installation

Ive tried both with the card mounted into a pcie slot, and with it removed when trying the installs.

I’m also not seeing the card show up in the device manager under the “Other devices” heading when installed.

Ill try my best to walk through how I started this.

  • installed the card into slot 4, connecting the usb2 cable to both the card and motherboard while leaving the 2 pins to the left open. Connected two power source plugs to the card per the instructions received with the card. I also hooked up the TB cable to both the card and motherboard, to just give me a baseline from the beginning of how the process went. After this is when I tried to install the various programs / drivers without any success. Thinking it might be due to the card being installed already, I removed the card, and tried again, but still same results of non-successful installation of driver / program.

Not sure where to go from here. :frowning:

-Brian G.

–UPDATE–

I went back into the Think BIOS configurator, and now the TBSecurityLevel setting is there so I’m going to go ahead and set it to No Security. I’m also seeing a third setting TBGo2SxWakeCommand. Its currently set to Enabled, which I read as put the card to sleep when not in use. With that thinking I’m going to set it to disabled hoping that will keep it on maybe? Restarting now, and maybe the driver + software will install correctly.

– UPDATE 2 –
That didn’t fix anything so im back to square 1 with the computer not seeing the card due to my unsuccessful installs of the driver and TB Control software

Thunderbolt Control Center requires the DCH drivers to work; your “0x80070643 - Fatal error during installation” sounds like what happens when you try to install Thunderbolt Control Center with the legacy drivers.
The failed installation will leave various bits of stuff on your computer which seem to mess up subsequent attempts at installation, so you need to remove them using the following steps:

  1. From an administrative command prompt, type “sc delete nhi”
  2. then in Powershell (also run as administrator):
    image

(see my post of Feb 22 above, where I quote one of Wendell’s posts).
3. Do the pnputil thing from my post of Feb 22, just after the bit where I quote Wendell’s post.
4. You probably still have the Intel Thunderbolt software installed so remove that using Windows Control Center, uninstall programs.
Then reboot, and install the DCH 1.41.890.0 drivers from the Gigabyte website, not the ones that came on the CD with the card.
If you don’t see a Base System in Device Manager, then just run the driver install program setup.msi that you should find in the drivers folder that you downloaded.
Reboot again.

3 Likes

Thanks for this. I went ahead and tried it out, and was not successful. Since this system is relatively new, and I have not done much with it, I went ahead and just brought it back to ground zero with a clean install of windows. Figure why not just start fresh. About to attempt to get this to work, and will update this post with any news. Crossing fingers I can get this going :crossed_fingers:

-Brian G.

Good luck! Did you flash the firmware on the card back to NVM23?

I am just now at the stage of a full system restart, and going through the motions of all the CMD prompt stuff of “sc delete nhi” which was successful this time. the PowerShell thing didnt return any errors or any info stating anything happened :man_shrugging:

Driver deletes are next. these are what I see on my system. I assume I delete all including the network adapters?

  • Published Name: oem71.inf
    Original Name: tbthostcontroller.inf
    Provider Name: Intel® Corporation
    Class Name: System devices
    Class GUID: {4d36e97d-e325-11ce-bfc1-08002be10318}
    Driver Version: 04/12/2020 1.41.890.0
    Signer Name: Microsoft Windows Hardware Compatibility Publisher

  • Published Name: oem32.inf
    Original Name: tbthostcontrollerextension.inf
    Provider Name: Intel® Corporation
    Class Name: Extensions
    Class GUID: {e2f84ce7-8efa-411c-aa69-97454ca4cb57}
    Extension ID: {b4daa161-39a4-49ea-bc66-7b05a9ddbb16}
    Driver Version: 04/12/2020 1.41.890.0
    Signer Name: Microsoft Windows Hardware Compatibility Publisher

  • Published Name: oem31.inf
    Original Name: tbthostcontrollerhsacomponent.inf
    Provider Name: Intel® Corporation
    Class Name: Software components
    Class GUID: {5c4c3332-344d-483c-8739-259e934c9cc8}
    Driver Version: 04/12/2020 1.41.890.0
    Signer Name: Microsoft Windows Hardware Compatibility Publisher

  • Published Name: oem9.inf
    Original Name: tbtp2pndisdrv.inf
    Provider Name: Intel® Corporation
    Class Name: Network adapters
    Class GUID: {4d36e972-e325-11ce-bfc1-08002be10318}
    Driver Version: 12/02/2020 1.41.1054.0
    Signer Name: Microsoft Windows Hardware Compatibility Publisher

  • Published Name: oem4.inf
    Original Name: tbtp2pndisdrv.inf
    Provider Name: Intel® Corporation
    Class Name: Network adapters
    Class GUID: {4d36e972-e325-11ce-bfc1-08002be10318}
    Driver Version: 01/25/2020 1.41.823.0
    Signer Name: Microsoft Windows Hardware Compatibility Publisher

  • Published Name: oem35.inf
    Original Name: tbtp2pndisdrv.inf
    Provider Name: Intel® Corporation
    Class Name: Network adapters
    Class GUID: {4d36e972-e325-11ce-bfc1-08002be10318}
    Driver Version: 04/12/2020 1.41.890.0
    Signer Name: Microsoft Windows Hardware Compatibility Publisher

As for your question about reverting the card down to firmware NVM23, I have yet to see it even show up on my Device Manager yet.

-Brian G.

-Update-

I was able to delete all the original drivers, and installed the latest from the Gigabyte site. Still having issues downloading / installing “Thunderbolt Control Center” from the Microsoft store and getting that stock download error lots have complained about on the net.

Ive gotta still be missing a step somewhere
:frowning:

-Update 2-

Well look it that! I have access to the drive now, what I thought was a thunderbolt port was just a mini-display port :man_facepalming:

Now lets see if I can install this Thunderbolt Control Center after all

-Update 3-

Still cant install the TB Control Center. But I feel like we are getting closer to the end goal here. I am seeing Base System Device in the device manager now.

I am able to read / write to the TB Media drive. Once I get all my other software installed, ill run a speed test on the drive to see if I’m actually getting TB speeds from it for my video editing needs.

-Update 4-

I was successful in getting the correct driver installed to allow TB Control Center to be installed as well. We are now hooked up!

To recap, I have the card in slot 4, and both the usb & tb header cables hooked up to the motherboard. The setup survives a cold start, but not a hot reboot. After a hot reboot to get the drive to mount again all i have to do is unhook the tb cord and hook it back in and voila the drive mounts.