Jump to content

ThunderBolt Drivers


406 posts in this topic

Recommended Posts

3 hours ago, lelet said:

 

Remove the THB_C cable and try this: SSDT-TB3 Z270.aml

Remember though, the method without THB_C works only if a device is connected and turned on before boot, otherwise the PCI-TB card is not loaded by the system (and you do not see it on ioreg). In my case it works because my TB Dock is always on.

To succeed try these steps:
1- enable Fix Shutdown in Clover
2- turn off the computer
3- Connect the TB device and switch it on
4- wait few seconds and turn on the computer

Obviously if you do not have a dock like me you have two choices:
- Use the SSDT V1 or V2 and deactivate the sleep if you are having problems
- Wait for new developments ;)

 

 

@Loloflat6 Apart this bad luck, you're still lucky, the TBEX is the only TB card (at least until now) that is recognized naturally by the system even without a THB_C cable o device connected at boot :)

 

 

 

:) All right now : I have taked delivery of my new TBEX3  this afternoon : plugged and all is fine at startup, screen plugged on USB_C

 

My Settings recap :

 

1/ Bios recommended parameters for Thunderbolt + Pci devices set as Legacy

2/ I added arbitrary lines on my config.plist ( Thanks @Matthew82.)

<dict>
				<key>Comment</key>
				<string>THUNDERBOLT 1577</string>
				<key>CustomProperties</key>
				<array>
					<dict>
						<key>Disabled</key>
						<false/>
						<key>Key</key>
						<string>model</string>
						<key>Value</key>
						<string>Thunderbolt EX3</string>
					</dict>
					<dict>
						<key>Disabled</key>
						<false/>
						<key>Key</key>
						<string>AAPL,slot-name</string>
						<key>Value</key>
						<string>Slot-4</string>
					</dict>
					<dict>
						<key>Disabled</key>
						<false/>
						<key>Key</key>
						<string>name</string>
						<key>Value</key>
						<string>Thunderbolt 3 Controller</string>
					</dict>
					<dict>
						<key>Disabled</key>
						<false/>
						<key>Key</key>
						<string>device_type</string>
						<key>Value</key>
						<string>Thunderbolt 3</string>
					</dict>
					<dict>
						<key>Disabled</key>
						<false/>
						<key>Key</key>
						<string>IOName</string>
						<key>Value</key>
						<string>Thunderbolt</string>
					</dict>
				</array>
				<key>PciAddr</key>
				<string>03:00.00</string>

 

3/ my SSDT 

SSDT-TB3U2.aml.zip

4/ I have updated the drivers for TB3 on Windows 10 with the last one.

 

Loloflat6_TB3_25_04_2018_2.thumb.png.1c08cc15673a63ee473d1f47726fe7de.png

Edited by Loloflat6
Link to comment
Share on other sites

25 minutes ago, Loloflat6 said:

I added arbitrary lines on my config.plist ( Thanks @Matthew82.)

If you use the ssdt the arbitrary inject are not needed because PCI-Thunderbolt One is already present on the ssdt under UPSB ;)

Edited by lelet
Link to comment
Share on other sites

Sleep / wake :

- Sreen on USB_C

- HDD or USB on USB 3.1 

But I have not PCI device to try sleep/wake on USB 3.1

I can eject the HDD or USB on USB 3.1 and replug it.

My SSDT is according to my IOReg 

 

11 minutes ago, lelet said:

If you use the ssdt no any arbitrary inject are needed because PCI-Thunderbolt One is already present on the ssdt under UPSB ;)

 

May be arbitrary isn't necessary but Kgp on an older post mentioned this to prevent sleep or Hot-plug issue if I remember so I use arbitrary ( I am perhaps "old school " :rolleyes: )

Edited by Loloflat6
Link to comment
Share on other sites

18 hours ago, Loloflat6 said:

Sleep / wake :

- Sreen on USB_C

- HDD or USB on USB 3.1 

But I have not PCI device to try sleep/wake on USB 3.1

I can eject the HDD or USB on USB 3.1 and replug it.

My SSDT is according to my IOReg 

 

 

May be arbitrary isn't necessary but Kgp on an older post mentioned this to prevent sleep or Hot-plug issue if I remember so I use arbitrary ( I am perhaps "old school " :rolleyes: )

 

I removed the arbitrary entries from config.plist.. hot swap works perfectly without :wink_anim:.. 

  • Like 1
Link to comment
Share on other sites

1 hour ago, KGP-iMacPro said:

 

I removed the arbitrary entries from config.plist.. hot swap works perfectly without :wink_anim:.. 

 

So i will try : my PCI TBEX3 implementation is fine .

Link to comment
Share on other sites

As I said on the other thread, none of the SSDT's mentioned in this thread work 100% and all have nasty/irritating  side-effects. I'm back to no TB SSDT for now, sleeping is not a good idea anyway for a digital audio workstation(one of the main uses of my hack) and no hot swap is not a serious omission. I can swap USB disks etc as long as I leave the USB-c to USB-A adapter in so it's not a big deal.

 

But tb networking, that's something I would like to have.

 

Anyway, let's hope someone figures it all out. To all contributors, thanks for trying to make TB work!

 

 

Edited by zipb
Link to comment
Share on other sites

14 minutes ago, zipb said:

As I said on the other thread, none of the SSDT's mentioned in this thread work 100% and all have nasty/irritating  side-effects. I'm back to no TB SSDT for now, sleeping is not a good idea anyway for a digital audio workstation(one of the main uses of my hack) and no hot swap is not a serious omission. I can swap USB disks etc as long as I leave the USB-c to USB-A adapter in so it's not a big deal.

 

But tb networking, that's something I would like to have.

 

Anyway, let's hope someone figures it all out. To all contributors, thanks for trying to make TB work!

 

 

 

If I would not use HDD TB and TB USB XHC hot plug as well as sleep/wake without any nasty/irritating side-effects on my own system, I would believe your likely "professional" conclusion. 

 

May I ask which TB PCIe adaptor do you employ? 

Edited by KGP-iMacPro
Link to comment
Share on other sites

 

Hi KGP,

I also used your solution and suggestions adapted to my hack to the best of my knowledge, unfortunately without good results. 

My z170x is quite different from your rig, of course.

It's kind of strange that no one has figured out builtin TB(and published a clear guide) after all these years.

 

Does TB networking work on your Hack?

 

Any tips most welcome!

 

 

Link to comment
Share on other sites

10 minutes ago, zipb said:

 

Hi KGP,

I also used your solution and suggestions adapted to my hack to the best of my knowledge, unfortunately without good results. 

My z170x is quite different from your rig, of course.

It's kind of strange that no one has figured out builtin TB(and published a clear guide) after all these years.

 

Does TB networking work on your Hack?

 

Any tips most welcome!

 

 

 

Yep.. including TB and TB USB XHC hot plug and sleep/wake (at least with a TB HDD and USB 3.1 devices.. don't have other TB devices for testing)... However, I am using an ASUS Prime X299 Deluxe with a TBEX 3 with the TBH-C cable removed. Build-in TB solutions seem to behave different though.. That's maybe why my SSDT does not work on your z170x system either. 

 

Sorry to hear that anyway..  

Edited by KGP-iMacPro
Link to comment
Share on other sites

Just to make this completely clear: you can have a working network connection on your X299 to another computer with TB using just a thunderbolt cable? 

 

If it isn't too much trouble, can I have a look at a ioreg screenshot of the relevant part of your registry with such a connection in place?

 

 

Best,

 

Zip

 

 

 

Link to comment
Share on other sites

6 minutes ago, zipb said:

Just to make this completely clear: you can have a working network connection on your X299 to another computer with TB using just a thunderbolt cable? 

 

If it isn't too much trouble, can I have a look at a ioreg screenshot of the relevant part of your registry with such a connection in place?

 

 

Best,

 

Zip

 

 

 

 

I do not have a TB3 to Lan adaptor for testing... I performed all hot plug and sleep/wake testing by means of a Lacie 4TB TB HDD.. 

 

Best,

 

KGP 

Link to comment
Share on other sites

Hi @KGP-iMacPro, do you think there is a way to compare two ioreg files of the same system?

I want to see all the differences when the THB_C cable is connected/disconnected :)

Edited by lelet
Link to comment
Share on other sites

1 minute ago, lelet said:

Hi @KGP-iMacPro, do you think there is a way to compare two ioreg files of the same system?

I want to see all the differences when the THB_C cable is connected/disconnected :)

 

You want to make a manual IOREG comparison? if so, I can send you the two IOREG saves with the THB_C cable connected/disconnected.. 

 

Today it is already too late, but if this is what you want to do, I might be able to save the IOREGs tomorrow. 

  • Like 1
Link to comment
Share on other sites

What you use for hot plug will matter too.

like for me I can hot plug the Apple Thunderbolt Display or my LaCie TB2 SSD. But not the Promise Pegasus R2. Hotplug sometimes work with it, but if I reboot it won’t be seen until I unplug it. If I boot into windows after rebooting from macOS, Windows will hang at startup.

macos does something nasty with this Pegasus. Weird because it’s a Mac version.

 

It worked perfectly with the Gigabyte X299 Gaming 7 (including USB hotplug) but not the Asus Prime Deluxe or the ASRock Professional Gaming

  • Like 1
Link to comment
Share on other sites

12 minutes ago, KGP-iMacPro said:

 

You want to make a manual IOREG comparison? if so, I can send you the two IOREG saves with the THB_C cable connected/disconnected.. 

 

Today it is already too late, but if this is what you want to do, I might be able to save the IOREGs tomorrow. 

No no thanks :) I already have the two ioreg file of my system with a clean installation.

I only asked if there is an automatic way to find all the differences. I do not know if the only differences (I've already noticed some) are only on the ACPI path of the PCI-TB card

Edited by lelet
Link to comment
Share on other sites

1 hour ago, KGP-iMacPro said:

 

I do not have a TB3 to Lan adaptor for testing... I performed all hot plug and sleep/wake testing by means of a Lacie 4TB TB HDD.. 

 

Best,

 

KGP 

TB networking does not use any adapters for Ethernet/etc - it is simply networking done over a Thunderbolt cable between two PCs. AFAIK this would require "proper" Thunderbolt functionality (functioning NHI/XDomain - do real TB3 Macs disable the ICM?), not just external PCI hotplugging (which is what this appears to be).

  • Like 1
Link to comment
Share on other sites

Yes, I mean connecting 2 TB computers via a TB cable only.  All I've seen until now in people's ioreg screenshots is PCI adaptation, not real TB fixes. So I'm quite curious if someone has this working, and how he did this. 

 

How about your Z77X, TheRacerMaster? Have you fixed your TB?

Link to comment
Share on other sites

Awesome that so many have this working now. Cheers! I only had enough time to mod my DSDT and use on my 3 Designaire boards for work. I haven't had all the same experiences as some, NO adapter or device is required to be connected at Boot time. I never experienced this. Akitio TB2 > 3 adapter works much better than the Apple one.

 

Next problem is writing/patching the TB driver to sort out the remaining 3rd party Thunderbolt issues. ATTO is one companies products which do not work and their drivers are located in /Library/Extensions/ NOT /S/L/E. It appears thesedevice drivers are only loaded when given a TB UUID to enumerate through devices, Clearly It's not happening at the moment.  It's still a mystery to me. In the meantime I've been trying to get my hands on DataSheets from Intel.

 

Thanks to RacerMaster and maleorderbride for making it available to everyone.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

I am using an ASUS X299 board for the first time (Sage), and my implementation of the patch worked with a few minor ACPI adjustments on this board. However, I noticed the USB 3.1 Bus was not present unless I booted with a USB 3.1 device plugged in. I know others had said they had this problem when using my SSDT.

 

I fixed it by going into the BIOS and enabling "GPIO Force Power" and "ASPM" in the Thunderbolt section.

 

 

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Oddly, if I have the LG 5K Ultrafine display connected, the XHCI nodes that normally appear under DSB2 don't show up at all on my machine. Instead, I get a host of XHCI nodes under DSB1 that seem to be behind a downstream TB3 port in the display itself.  If I disconnect and reconnect the display, the screen comes back on, but then the nodes under DSB1 and DSB2 are missing. 

 

I'm pinning my TB3 hopes on @TheRacerMaster and/or @goodwin_c digging something relevant out of the changes found at https://github.com/tianocore/edk2-platforms/commit/62f1e1e58965702030f722dcdf6de58998cf08a1 :plane:

Link to comment
Share on other sites

  • 3 weeks later...
On 4/15/2018 at 3:43 PM, Loloflat6 said:
  Hide contents

 

Thanks Matthew82 ! :

After a week of severals issues :

1/ Bios recommended parameters + Pci devices set as Legacy 

2/ I added this from your post on my config.plist

3/ I created my own SSDT

What is working :

- Hot plug USB or HDD pluged on USB 3.1 or USB C : eject and re-plug OK ( My WINDOWS_10_ HDD connected up right )

Not working ( working in Windows 10 )

- Display sreen connected on USB C

 

 

 

 

 

 

SSDT-TB3U2.aml.zip

Loloflat6_TB3_15_04_2018_2.png

 

 

What do you mean by setting PCIe devices as legacy ? 

Link to comment
Share on other sites

On 7/10/2018 at 11:43 PM, DSM2 said:

 

 

What do you mean by setting PCIe devices as legacy ? 

 

On GA  mobos  this setting ;

 

 

PCi devives legacy.jpg

Link to comment
Share on other sites

 Share

×
×
  • Create New...