Contribute
Register

GC-ALPINE RIDGE in hands

Joined
Nov 3, 2017
Messages
3
Motherboard
GA-Z270X-Gaming 5
CPU
i7700K
Graphics
Nvidia GTX 1060
Mac
MacBook Pro, Mac Pro
Mobile Phone
iOS
Very strange. If you had a MacBook Pro with Thunderbolt 3, then you could test this configuration on that. If that failed, then you could report it to Apple via apple bug reporter. I don't think they'd appreciate a bug report from a Hackintosh though. The MacBook Pro has 4 Thunderbolt ports, so I would try both displays connected to one Thunderbolt chip, and then one Display connected to each Thunderbolt chip.
I don't personally own a TB3 MBP, but I can probably arrange to borrow one for a while. I don't expect it to fail when plugged into an actual Mac, as I've had these two displays plugged into a 2012 Thunderbolt 1 MBP for months with no problems.
It might be interesting to compare the results of the following (make sure no USB devices are connected to each display):
1) Thunderbolt Display 1 to Thunderbolt port 1
2) Thunderbolt Display 1 to Thunderbolt port 2
I have not had time to run all these tests yet, but I have done the first two. Log files from all the tools you've mentioned so far (ioreg, system profiler, and USB Prober) are attached. To possibly save you some download time, I found no significant difference between whether display 1 was plugged in on port 1 or port 2. Sharper eyes than mine may see a difference, but in both cases, generally what happened was the internal USB hub got assigned address 0x40000000 and everything worked.

What was interesting, though, is cold boot (total shutdown + wait 10 sec for TB display to shutdown also) versus warm boot (plain restart). I've attached IOreg from both.

Consistently, after a fully cold boot, not only would the TB Display's internals not work, but the Thunderbolt card itself (the IOThunderboltController node) along with all the PCI bridges would disappear from ioreg. Following this up with a warm boot would restore the Thunderbolt controller as well as the display's internals to working order. I've attached one of each ioreg output from cold versus warm boot.

This may explain why some people earlier observed the need to boot into Windows first -- I think some initialization step is not being done, particularly on cold boot. Possibly related to hot plugging or the System Profiler not recognizing that there is a Thunderbolt controller in place?
What exactly was the USB hack? If it was a DSDT patch, then it would be interesting to get a ACPI dump from Clover (press F4 at the Clover boot screen, you should notice that it hangs for a couple seconds as it saves the files to the EFI partition, meaning you can't move the drive selection left or right for a couple seconds). Then we can see how the Thunderbolt Displays appear in the DSDTs, if at all, and can determine how the patch affects that.
No DSDT patch. The specific USB-related things I installed were both from Multibeast: "Increase Max Port Limit 200 Series" and "3rd Party USB 3.0" -- I've since removed both these things.
 

Attachments

Joined
Dec 28, 2012
Messages
140
Motherboard
ASRock Z270 Super Carrier
CPU
i7 6700K
Graphics
RX460 / RX480 NITRO
Mac
MacBook Pro
Mobile Phone
iOS
@Crashing00
Please: are you able to get SSDTs from that MacBook regarding the Thunderbolt-implementation?
That would be great.
 
Joined
Nov 7, 2011
Messages
12
Motherboard
GA-Z270X-UD3
CPU
i7 7770
Graphics
GTX 650
I'm trying to get a UAD Apollo unit to work in 10.12.6 Sierra on my Z270X-UD3 motherboard with Alpine Ridge add-in card.

I can get the unit to show up in Windows 10 (I did a firmware update as well) and it communicates with the software in that OS.

I can't get it to display in OS X.

I wonder, my system definition is 14,3 - is that a problem because it pre-dates TB3? I can't for the life of me get my machine to get past a black screen when it's 18,X.

I've read this thread (and it's been super helpful) to try to get my head around what might be wrong.

I've tried unplugging the header cable (didn't do anything).

I've attached the output from my ioreg command.

With the current Clover it appears I can't use pci > pci.txt to output the results.

It's a TB2 device and I'm using the Apple adaptor and Apple TB cable. (Works great in Win 10).

Any isolation tips or procedures would be most appreciated! I've built about 20 Hackintoshes over the years, but this has me stumped.
 

Attachments

Joined
Nov 7, 2011
Messages
12
Motherboard
GA-Z270X-UD3
CPU
i7 7770
Graphics
GTX 650
Ahhhh I sat down to boot the machine up into OS X this morning and the damn thing is working.

So for Googlers - that's a UAD Apollo 16 MKII on Sierra 10.12.6 on a Z270X-UD3. The system definition is actually iMac 14,3.

I have NO idea how that happened, but the last steps I took were re-downloading the latest UAD drivers and unplugging the power cable last night after turning it off. I did actually do this after installing the firmware on Windows.

System profiler has no idea about it in the Thunderbolt area, but in Audio it sees it (notice I also have a PCI-e Raydat in there and a PCI-ie UAD-2 quad card).

Screen Shot 2017-11-11 at 9.25.09 am.png
Screen Shot 2017-11-11 at 9.25.25 am.png

But here is a screenshot of it working in OS X

Screen Shot 2017-11-11 at 9.21.36 am.png

I'm actually pretty determined to figure out how this worked because I have no idea. I did, however, follow a lot of the great information from this thread.

I guess if you buy one of these cards in your Gigabyte board, just know that these UAD interfaces will work - it just is a bit fiddly. No idea how stable it is though!

EDIT / UPDATE

I have come to understand the problem with getting this unit to work is actually related to power state (and possibly that little header cable).
  • If the header cable is in, I must power the Apollo on at the BIOS loading screen and NOT power the unit on before boot (which is a lot of advice that I read on this forum).
  • If you power it on before turning on the computer, it does not work.
  • I must turn the unit on and off whether I use shut down or reboot and power it back up at that screen.
  • If the header cable is unplugged, the unit powers up less often, but it works on reboot without powering the it off and on.

So for flawless operation
  1. Plug the header cable in.
  2. Power on the unit only at the BIOS loading screen at the start of the boot process (and not before you turn on your machine).
This is where it is for now ...
 
Last edited:
Joined
Apr 5, 2016
Messages
635
Motherboard
GIGABYTE Z170X-Gaming 7
CPU
i7-6700K
Graphics
GTX TITAN X
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
Apple, LC, Power Mac
Mobile Phone
iOS
I don't personally own a TB3 MBP, but I can probably arrange to borrow one for a while. I don't expect it to fail when plugged into an actual Mac, as I've had these two displays plugged into a 2012 Thunderbolt 1 MBP for months with no problems.
Probably won't fail, but wouldn't it be wonderful if it did?

I have not had time to run all these tests yet, but I have done the first two. Log files from all the tools you've mentioned so far (ioreg, system profiler, and USB Prober) are attached. To possibly save you some download time, I found no significant difference between whether display 1 was plugged in on port 1 or port 2. Sharper eyes than mine may see a difference, but in both cases, generally what happened was the internal USB hub got assigned address 0x40000000 and everything worked.
I found no difference either, except in the order that some of the devices were listed. Seems strange that this order is not deterministic. It may be because of the multi-threaded nature of the kernel. The Location ID's are the same, but the index changed.

What was interesting, though, is cold boot (total shutdown + wait 10 sec for TB display to shutdown also) versus warm boot (plain restart). I've attached IOreg from both.

Consistently, after a fully cold boot, not only would the TB Display's internals not work, but the Thunderbolt card itself (the IOThunderboltController node) along with all the PCI bridges would disappear from ioreg. Following this up with a warm boot would restore the Thunderbolt controller as well as the display's internals to working order. I've attached one of each ioreg output from cold versus warm boot.

This may explain why some people earlier observed the need to boot into Windows first -- I think some initialization step is not being done, particularly on cold boot.
I have found that this may be true. There might be two different kinds of cold boot. One where you unplug the computer, and the other is where you just shutdown the computer. In the latter case, the motherboard may still be using standby current. This may be related to the Thunderbolt firmware update instruction to unplug the computer for 30 seconds before starting up.

I've attached a script that uses lspci from https://github.com/pciutils/pciutils.
Code:
# How to install pciutils:

# Download the zip from https://github.com/pciutils/pciutils
# Open Terminal.app, go to the location of the unzipped folder, type the following:

make install

#add /usr/local/sbin to the end of /etc/paths
#Now you can open a new Terminal window and enter

update-pciids

sudo lspci -nn
You may need to change some permissions.

Execute the pcitree.sh script using sudo "sudo ./pcitree.sh". I've attached some example output. It's basically like the lspci -t -vnn command except it shows information about the upstream and downstream switches and the max and current link speed, link width (g1 = gen 1, etc.). The example output shows a OWC Thunderbolt 2 Dock connected to a OWC Thunderbolt 3 Dock. Sometimes, if they don't appear in macOS (the NHI may not appear either), I boot into Windows, unplug the cable, reconnect it, make sure they appear in Windows Device Manager or Intel Thunderbolt sofware list of devices, and restart into MacOS.

Possibly related to hot plugging or the System Profiler not recognizing that there is a Thunderbolt controller in place?
System Profiler is only part of the problem. I haven't gotten around to looking at this problem. Some people have tried. Maybe they succeeded partly. For example: you can see some Thunderbolt properties being added in the sample Clover config.plist.
https://sourceforge.net/p/cloverefiboot/code/HEAD/tree/CloverPackage/CloverV2/EFI/CLOVER/config-sample.plist
I haven't tried them myself. I don't know if there's a post somewhere that explains them or the effect they have. It may be that Apple's hardware doesn't do hot plug like PC hardware, which could make Apple's drivers not fully compatible with Hackintosh. Some workarounds may be needed. For example, compare Linux Thunderbolt patches for Apple and PC hardware (if you can actually get Thunderbolt working in Linux).

No DSDT patch. The specific USB-related things I installed were both from Multibeast: "Increase Max Port Limit 200 Series" and "3rd Party USB 3.0" -- I've since removed both these things.
Your ioregistry dumps show that you are still using a port limit patch. That should be removed. You should exclude 11 of the ports that you are not using. This probably won't fix your problems though.
 

Attachments

Joined
Apr 5, 2016
Messages
635
Motherboard
GIGABYTE Z170X-Gaming 7
CPU
i7-6700K
Graphics
GTX TITAN X
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
Apple, LC, Power Mac
Mobile Phone
iOS
I've attached the output from my ioreg command
It would be more useful to include the properties with a command like this:
Code:
ioreg -l -w0 > ioreg.txt
With the current Clover it appears I can't use pci > pci.txt to output the results.
First you have to find the file system that contains Clover. This is easier if you put a file or folder in the root directory like "ThisIsTheCloverEFIPartition". Use "fs0:" "fs1:" etc to change the file system (this is like "C:" in Windows). Use "ls" to list the files. Once you find the EFI file system, you can pipe the output of commands into a file on that file system "pci > pci.txt".
 
Joined
Apr 5, 2016
Messages
635
Motherboard
GIGABYTE Z170X-Gaming 7
CPU
i7-6700K
Graphics
GTX TITAN X
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
Apple, LC, Power Mac
Mobile Phone
iOS
@Crashing00
Please: are you able to get SSDTs from that MacBook regarding the Thunderbolt-implementation?
That would be great.
Use MaciASL.app to get the DSDT/SSDTs from the MacBook Pro. Use the "Export Tableset..." command in the File menu.
https://github.com/RehabMan/OS-X-MaciASL-patchmatic
https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/
The following commands will extract the binaries from the table set, in case you want to disassemble then to text files using the iasl command line.
Code:
# assume Tableset.acpi is in ~/Downloads
mkdir ~/Downloads/patched
pushd ~/Downloads/patched
eval $(plutil -p "../Tableset.acpi" | sed -En '/^ *"([^"]+)" => <([^>]+)>/s//echo -n "\2" | xxd -r -p > "\1.aml";/p')
popd
Use the IORegistryExplorer.app (version 2.1) to save the IO Registry (because it uses a UI).

Use the command "ioreg -l -w0 > ioreg.txt" to create a text file version (because text is better for copy/paste and search).

Use "sudo ./pcitree.sh" command to get the device tree listed with bus numbers etc. The pcitree script (see post above) uses pciutils so install that first by using the "sudo make install" command in the pciutils-master directory (with sudo you don't have to worry about permissions). You'll also need to make sure to add /usr/local/sbin to the /etc/paths text file if you haven't already. Don't forget to update the pciid database by executing "update-pciids".

What may also be useful is some logging. Use the following command:
Code:
sudo boot-args="debug=0x144 pci=0x45"
"debug=0x144" is required by pciutils (lspci, setpci).

The debug= flags are listed at https://opensource.apple.com/source/xnu/xnu-4570.1.46/osfmk/kern/debug.h.auto.html
and described at https://developer.apple.com/library/content/documentation/Darwin/Conceptual/KernelProgramming/build/build.html
0x144 is DB_LOG_PI_SCRN + DB_ARP + DB_NMI

There is a version of lspci that uses it's own kernel extension instead of Apple's AppleACPIPlatformExpert so that it doesn't require sudo or the debug flags, but that version is out of date (doesn't show PCI Express 3.0 information).

I don't know exactly which flags pciutils requires because AppleACPIPlatformExpert is not open source, but 0x144 is the sugestion given in the error message if you don't have the flags.

The pci= flags are listed at https://opensource.apple.com/source/IOPCIFamily/IOPCIFamily-320.1.1/IOKit/pci/IOPCIConfigurator.h.auto.html
Use pci= to set flags and npci= to clear flags. I think we only care about kIOPCIConfiguratorIOLog. KPrintf is for serial port or firewire kprintf, but you can set some of the "debug=" flags to make IOLog also go to kprintf (I think one or both of DB_PRT and DB_KPRT).

The io= flags are listed at https://opensource.apple.com/source/xnu/xnu-4570.1.46/iokit/IOKit/IOKitDebug.h.auto.html

You can find more flags by googling
Code:
PE_parse_boot_argn site:opensource.apple.com
. You can find usage of flags be googling
Code:
"PE_parse_boot_argn pci" site:opensource.apple.com
.

Once you enable kIOPCIConfiguratorIOLog, restart the computer. Open Terminal.app, and start streaming the log using a command like this:
Code:
log stream --style syslog --predicate 'not senderImagePath ENDSWITH "/IOUSBHostFamily" and processImagePath ENDSWITH "/kernel"'
Execute that command. press Command-K to clear the Terminal window before you do something that you want to log. Unplug a Thunderbolt device. Copy the contents of the terminal window to a text file. Connect a Thunderbolt device. Copy the contents of the terminal window to another text file.

The results should give a clue how a workaround for hot plug may be created. The IOPCIFamily is open source. Hopefully we don't need to go into the IOThunderboltFamily which is not open source.

I've attached results from a Thunderbolt 2 MacBook Pro which has a Thunderbolt 1 FireWire adapter and a Thunderbolt 1 Ethernet adapter.

About the two Thunderbolt Display problem, a log without the IOUSBHostFamily exclusion filter might be useful (or at least informative). The problem probably occurs during boot when you don't have access to Terminal (it can't occur after boot because hot plug doesn't work for PCI devices over Thunderbolt on Hackintosh yet), so you want to use a variation of the log command that outputs past events after the boot.
Code:
log show --last boot --style syslog --predicate 'processImagePath ENDSWITH "/kernel"'
If the error doesn't occur in that log then you may need to add log flags for USB and/or power management. And you may need to exclude the kernel filter from the predicate if the error is reported in user space.
 

Attachments

Joined
Sep 15, 2017
Messages
30
Motherboard
Lenovo Thinkpad X1 Carbon Gen 6 - 1.3.4 - Clover UEFI
CPU
Intel i7-8650U
Graphics
Intel UHD 620 / HDR WQHD 2560x1440 (non-touch)
Mac
MacBook, MacBook Pro
Classic Mac
Power Mac, PowerBook, Quadra
Mobile Phone
Android, iOS
Hi everyone,

My starting point: Z370 Aorus Gaming 7 + 8700K + GC TB3 1.0 on HighSierra 10.13.1...

I see that most here have gotten much farther than I :banghead:

I installed Alpine Ridge TB3 Rev. 1.0 (in the PCI x4 and no M.2 in the lower slot), updated the latest drivers (getting the same "Controller Not Found" message when trying to update the FW and have a ticket pending with Gigabyte).

All works well in Windows 10 Pro, which leads me to believe that the card and the BIOS are ok. However, when trying to boot into Mac OS X 10.13.1, I immediately get the interdiction symbol. I have not installed any patches or kexts for Thunderbolt (yet) as I have read that AML files are extremely hardware-specific and none that I found matched my configuration.

I have tried disabling the various Thunderbolt settings, as suggested in other threads, as well as set Security to None. I also put the CSM to Enabled and Other PCI to the various combinations of Legacy, and such. The only way I can get the Mac to boot is to unplug the header cable, which of course defeats the whole purpose.

Being new to this, I will gladly provide any additional information than "I got the interdiction symbol"; just point me to how to get it; no need to retype everything here. I can also attach the EFI folder if needed (without themes and S/N).

Any ideas appreciated! Thanks. I'm sure it's a trivial bone-headed thing that I missed. Usual is... :,(
 
Joined
Apr 5, 2016
Messages
635
Motherboard
GIGABYTE Z170X-Gaming 7
CPU
i7-6700K
Graphics
GTX TITAN X
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
Apple, LC, Power Mac
Mobile Phone
iOS
Hi everyone,

My starting point: Z370 Aorus Gaming 7 + 8700K + GC TB3 1.0 on HighSierra 10.13.1...

I see that most here have gotten much farther than I :banghead:

I installed Alpine Ridge TB3 Rev. 1.0 (in the PCI x4 and no M.2 in the lower slot), updated the latest drivers (getting the same "Controller Not Found" message when trying to update the FW and have a ticket pending with Gigabyte).
The firmware of the GC-ALPINE RIDGE is probably the latest version already and doesn't need to be updated. Do you have a Thunderbolt device connected to it? Do you have DisplayPorts connected to the GC-ALPINE RIDGE? You may need to connect stuff to update the firmware.

Is your motherboard firmware updated?

All works well in Windows 10 Pro, which leads me to believe that the card and the BIOS are ok. However, when trying to boot into Mac OS X 10.13.1
What Thunderbolt device are you testing? Does it work in Windows?

I have tried disabling the various Thunderbolt settings, as suggested in other threads, as well as set Security to None. I also put the CSM to Enabled and Other PCI to the various combinations of Legacy, and such. The only way I can get the Mac to boot is to unplug the header cable, which of course defeats the whole purpose.
Can you disable Thunderbolt entirely to boot macOS?

I immediately get the interdiction symbol. I have not installed any patches or kexts for Thunderbolt (yet) as I have read that AML files are extremely hardware-specific and none that I found matched my configuration.
Try to boot with the card installed. Write down what time you started booting. Write down what time it crashed. Then unplug the card so you can boot and examine the log.
Code:
log show --start "2017-11-26 16:00:00" --end "2017-11-26 17:00:00" --style syslog --predicate 'processImagePath ENDSWITH "/kernel"'

The first thing that should appear in the log is "Derwin Kernel Version".
 
Joined
Sep 15, 2017
Messages
30
Motherboard
Lenovo Thinkpad X1 Carbon Gen 6 - 1.3.4 - Clover UEFI
CPU
Intel i7-8650U
Graphics
Intel UHD 620 / HDR WQHD 2560x1440 (non-touch)
Mac
MacBook, MacBook Pro
Classic Mac
Power Mac, PowerBook, Quadra
Mobile Phone
Android, iOS
The firmware of the GC-ALPINE RIDGE is probably the latest version already and doesn't need to be updated. Do you have a Thunderbolt device connected to it? Do you have DisplayPorts connected to the GC-ALPINE RIDGE? You may need to connect stuff to update the firmware.

Is your motherboard firmware updated?
I got the controller to show up after connecting an OWC Thunderbolt dock. The FW updater ran and showed that I am indeed up to date. So, I have the later TB drivers and Alpine Ridge FW from Gigabyte. I also connected my GTX 1080 into the card and out via HDMI to a monitor. That works as well on the windows side.

My motherboard is updated to F4a, which is the latest that I can find.


What Thunderbolt device are you testing? Does it work in Windows?
Yes. See above. I also connected a TB2 Drive through the dock and Windows see it (it's a Mac drive, so it can't open it, though, as expected).

The dock is connected to the card via an Apple TB3 to TB2 adapter.

Can you disable Thunderbolt entirely to boot macOS?
I still get the crash if I disable Thunderbolt support in the BIOS. Also, it appears that if I disconnect the TB header, but leave a device connected to the card, it also crashes. To boot in to MacOS, I can leave the card in place, but cannot connect anything to it. I'll keep trying other combinations of USB, monitor, and TB connections and will report again on what works, if any. [I did this; see EDIT just below]. So far, I can only boot with nothing connected to the card.

-----EDIT-----
Tested configurations again, more systemically. Tried connecting the DP in to either the GTX 1080 or the iGPU, then out via HDMI. Connected USB-C hub with USB devices. Connected TB Dock with TB HD. So long as I cold boot, I can boot into MacOS. The issue seem to appear once I connect the header cable.

Of note, when I first connected the TB dock, the boot process started (with the progress bar), then the computer restarted, and I eventually logged in. When I connected the DP in cable, the computer restarted twice, then logged in. These events only happen the first time that I connected the devices.
-----END EDIT-----


Try to boot with the card installed. Write down what time you started booting. Write down what time it crashed. Then unplug the card so you can boot and examine the log.
Code:
log show --start "2017-11-26 16:00:00" --end "2017-11-26 17:00:00" --style syslog --predicate 'processImagePath ENDSWITH "/kernel"'

The first thing that should appear in the log is "Derwin Kernel Version".
I don't see that. This is what was returned.

Code:
log: warning: The log archive contains partial or missing metadata

Filtering the log data using "processImagePath ENDSWITH "/kernel""

Skipping info and debug messages, pass --info and/or --debug to include.

Timestamp                       (process)[PID]   

2017-11-27 13:28:41.000027-0500  localhost kernel[0]: mem_actual: 0x1000000000

 legacy sane_size: 0xff8000000

Thank you for your help. I hope this helps others too!
 
Last edited:
Top