Contribute
Register

Using a Presonus Quantum Thunderbolt 2 Audio Interface...HELP

To address these 3 at once -
You have a screenshot named "VRS8 through PCI HDMI card.png". Is the PCIe card working? Is this in your Hackintosh or a Mac Pro? I would like an ioreg output for that.
This is my Hackintosh. zip file attached
Ok, to summarize, it works on Thunderbolt Macs running current versions of macOS (High Sierra and Mojave). I would like ioreg output for one of those Thunderbolt Macs.
Included in the new zip file (with VRS8 attached this time :)).
The zip file contained output for the Hackintosh and the MacBook Pro, but not for the PCI HDMI card. Also, the MacBook Pro output is missing Thunderbolt devices. Did you forget to connect the VRS8?
new zip file attached to this post has everything you asked for.
Does daisychaining devices work with the PCIe card? Seems unlikely, as that requires Thunderbolt ports to be working properly which I don't think they can without a connection to a Thunderbolt host.
Yes, Steven Slate is adamant about that and is all over social media saying that they're close. Don't ask me how they're pulling it off (maybe they're using a DP type of a protocol to push signal from unit to unit - IDK), but the main idea is that the PC (or old cheese grater Mac) guys, as Steven says in the video, would hook it up using HDMI/PCIe and then chain up to 6 of them together using the built in TH2 ports. See attached image of the chip. I googled it and found this.
There's a VRS8PanelHelper which is a IOAudioControlUserClient and a IOAudioEngineUserClient.
Yes, the VRS8PanelHelper, I think that's just the front end GUI that's supposed to light up when the device is detected. Take a look at the screenshot differences between the grayed out (Hackintosh) and the lit up (MacBookPro).
Then there's the main driver for the PCIe devices, net egosys_driver_VRS8Audio and net_egosys_driver_VRS8AudioEngine, which adds a bunch of IOAudioControl and several IOAudioLevelControl
Ok, this right there - it sounds like the VRS8 driver is merely designed to establish a connection to the Core Audio system, and acts as a blue print for the externally connected VRS8, correct? But it is Core Audio that takes over and does the rest as far as audio processing is concerned. I know I'm dumbing it down a lot but is that the general idea? Before you think: "why does any of this matter?" I just want to establish which driver is responsible for doing what to help me better understand how this all comes together.
I wonder if there's an Input missing. Do you have audio input/output working on your Hackintosh? I see you have AppleALC and Lilu and WhateverGreen installed. Maybe this doesn't matter.
I also have a Behringer U-PHORIA UMC404HD (a USB audio interface) which doesn't even need the driver for some reason (with real mac or a Hackintosh) but it is automatically detected and both output AND input work perfectly. In fact I'm having to run this one for sound/watching Youtube, etc. while working on this TH issue.

One more crazy idea - both Mac Pro (trash can) and the MacBookPro have built in TH2 connections. Obviously my Hackintosh does not. Is there a possibility that the Apple's TH3>TH2 adapter is the culprit here? I doubt it, since other people on this and other threads have same issues with Presonus and Slate, but not with Focusrite or UAD Apollos, but who knows.
 

Attachments

  • IMG_2393.jpg
    IMG_2393.jpg
    1.6 MB · Views: 119
  • ioregDumps_2.zip
    403 KB · Views: 77
  • VRS8 Control Panel.png
    VRS8 Control Panel.png
    963.9 KB · Views: 110
Hang on. Are you saying that it's possible to implement TH2 on a hack? Why wouldn't I simply buy a Asus ThunderboltEX 2 in place of my EX 3 and call it a day? Am I misunderstanding?

Can you elaborate? Are you referring to the need to create a custom SSDT as a workaround like you outline here?

This is the truncated SSDT-9.aml from an iMacPro dump, which basically works as an HotPlug injector: SSDT-X299-TB3HP.aml. ACPI path and ACPI replacements must be adapted for your motherboard and slot population and the TB-SSDT.aml must be used in line with SSDT-DTPG.aml. It will just implement TB and USB-C HP but not implement a local TB node or load all TB drivers with TBEX 3, Aline and Titan Ridge adapters! For the latter, one might have to successfully implement complete SSDT-9.aml. TB2 Falcon Ridge seems to be an exception, tough (fully implemented TB local node). The small guide you linked above explains how to adopt any existing SSDT to your motherboard and slot population.
 

Attachments

  • SSDT-X299-TB3HP.aml.zip
    2 KB · Views: 102
  • SSDT-DTPG.aml.zip
    852 bytes · Views: 103
To address these 3 at once - This is my Hackintosh. zip file attached
Comparing Hackintosh Thunderbolt to Hackintosh PCI, they are basically the same. They both use a pci1b21,1080 which is a "ASM1083/1085 PCIe to PCI Bridge" (PCIe 1.0 250 MB/s). The bridge connects the two PCI devices pci1412,1724@0 and pci1412,1712@1. I had previously mistakenly called them functions but they are devices - they have different device numbers for their PCI addresses. The PCI devices run at 33.33 MHz 32 bit (133 MB/s).

I see two differences:
1) "L0s Exit Latency" (I don't know what that is) for the ASM108x bridge connected to Thunderbolt (in the range of [1,2)µs) is four times greater than when connected to PCI (in the range of [256,512)ns)
2) The Thunderbolt implementation has an extra interrupt bit in the IOInterruptSpecifiers of the ASM108x bridge.

Included in the new zip file (with VRS8 attached this time :)). new zip file attached to this post has everything you asked for.
For MacBook Pro, I now see the VRS8 devices and drivers attached to pci1412,1724@0. You can find the three Thunderbolt "IOPCITunnelled" and "Thunderbolt Path" and "Depth" properties I mentioned in the ioreg output.

Yes, Steven Slate is adamant about that and is all over social media saying that they're close. Don't ask me how they're pulling it off (maybe they're using a DP type of a protocol to push signal from unit to unit - IDK), but the main idea is that the PC (or old cheese grater Mac) guys, as Steven says in the video, would hook it up using HDMI/PCIe and then chain up to 6 of them together using the built in TH2 ports. See attached image of the chip. I googled it and found this.
I still don't see how. The chip PI2EQX4401D (glad you found it - I was looking for P12 instead of PI2) is a PCIe 1x redriver which means it's just sending the PCIe signal across the HDMI cable (an HDMI 1.3 cable at 3.4 Gbit/s per line is good enough for PCIe 1.0 2.5 GT/s) . There must be a switch in the VRS8 that moves the connection of the ASM108x bridge from the Thunderbolt controller to the HDMI input. I don't see a method for daisy chaining in that case unless they have a third connection type that connects a Thunderbolt controller to the HDMI input as upstream and the remaining PCIe lanes of the Thunderbolt controller as downstream but every Thunderbolt controller I've seen used their PCIe lanes for upstream only (as host) or downstream only (for peripheral). Plus they would have to make the Thunderbolt controller work as a host connected to a Mac Pro that doesn't support Thunderbolt (except for the limited GC-TITAN RIDGE case where macOS is warmbooted from Windows which enables connecting Thunderbolt devices). Every VRS8 needs to appear as a PCI device, so they all need a PCIe bridge (as provided by the Thunderbolt controllers).

Yes, the VRS8PanelHelper, I think that's just the front end GUI that's supposed to light up when the device is detected. Take a look at the screenshot differences between the grayed out (Hackintosh) and the lit up (MacBookPro). Ok, this right there - it sounds like the VRS8 driver is merely designed to establish a connection to the Core Audio system, and acts as a blue print for the externally connected VRS8, correct?
I don't know enough about the audio drivers to know how it should look.

But it is Core Audio that takes over and does the rest as far as audio processing is concerned. I know I'm dumbing it down a lot but is that the general idea? Before you think: "why does any of this matter?" I just want to establish which driver is responsible for doing what to help me better understand how this all comes together.I also have a Behringer U-PHORIA UMC404HD (a USB audio interface) which doesn't even need the driver for some reason (with real mac or a Hackintosh) but it is automatically detected and both output AND input work perfectly. In fact I'm having to run this one for sound/watching Youtube, etc. while working on this TH issue.
USB is easy. USB comes with USB class drivers to handle standard types of USB devices. Common classes are Audio, Video, Mass Storage, HID. There just needs to be a single driver per class to handle all USB devices of the same class.

One more crazy idea - both Mac Pro (trash can) and the MacBookPro have built in TH2 connections. Obviously my Hackintosh does not. Is there a possibility that the Apple's TH3>TH2 adapter is the culprit here? I doubt it, since other people on this and other threads have same issues with Presonus and Slate, but not with Focusrite or UAD Apollos, but who knows.
I doubt it. Find a 2017+ Mac with Thunderbolt 3 and try it out. I think the problem is your Hackintosh's Thunderbolt doesn't look like a real Mac's Thunderbolt. I don't know if @kgp's SSDT's can fix that.

One question. You have the PCIe to HDMI card. The card works in Windows but not macOS? Because there's a driver for Windows but not macOS? I think if you had the driver for macOS, then it would work with the VRS8 that is connected via Thunderbolt since all the PCI devices are the same as when connected by PCI. Can you get the macOS PCI beta driver? If it doesn't work for the Hackintosh Thunderbolt case, then you should talk to Slate about fixing the driver.

If we can't make Thunderbolt on Hackintosh look like Thunderbolt on a Mac, and you can't get a macOS PCI beta driver, then you have to patch the Thunderbolt driver so that it doesn't care about Thunderbolt. Start disassembling using Hopper.app. Then create a Lilu extension to do the required patches.

Another option is to fake some Thunderbolt nodes - like the ones that exist in the MacBook Pro. This might work if the driver only cares about the properties in the IORegistry, and not the classes. Maybe a codeless kext is enough to do that. You would want to include these (attached to IOThunderboltController):

Code:
    | |   +-o IOThunderboltPort@5
    | |     +-o IOThunderboltSwitchType2
    | |       +-o IOThunderboltPort@1
    | |         +-o IOThunderboltPort@3
    | |           +-o IOThunderboltSwitchType2

You would also need to setup the "Thunderbolt Path" properties. This is doable for one VRS8. It's slightly more complicated for more than 1.
 
I doubt it. Find a 2017+ Mac with Thunderbolt 3 and try it out. I think the problem is your Hackintosh's Thunderbolt doesn't look like a real Mac's Thunderbolt. I don't know if @kgp's SSDT's can fix that.

SSDT-X299-TB3HP.aml for now only adds TB and USB HotPlug capability for TBEX 3, GC-Alpine Ridge and GC-Titan Ridge PCIe controllers. Verified with ASUS Prime X299 Deluxe and ASUS X99-A II. No TB bus drivers loaded and no TB local node implementation though (intents of a complete SSDT-9.aml implementation from the iMacPro dump failed for now, basically at the method_ini implementation). Users report a local TB node implementation with Falcon Ridge controllers though.
 
One question. You have the PCIe to HDMI card. The card works in Windows but not macOS? Because there's a driver for Windows but not macOS? I think if you had the driver for macOS, then it would work with the VRS8 that is connected via Thunderbolt since all the PCI devices are the same as when connected by PCI. Can you get the macOS PCI beta driver? If it doesn't work for the Hackintosh Thunderbolt case, then you should talk to Slate about fixing the driver.

I asked the Slate team about it, and I was assured that the same driver we already have works for both thunderbolt and the pcie card in osx already in every version up to date. It's just that the pcie part of the driver is only meant to work with 2008-2012 Mac Pro towers... Or it's optimized for them somehow. I just got my Mojave Hackintosh installed and am too tired to try to get anything else done today, but I will try tomorrow.

One thing is worrying me is that for some reason, not in the bios, nor the system report is it showing the pcie card. I have tried it in both a 1x port and a 4x port. The card itself is 1x, but I'm not sure if it's 2.0 or 3.0. If I remeber correctly Slate has stated somewhere that one should put in a 4x times slot. Could that be because they think you're putting it in a 2.0 4x slot which (if I have understood correctly) is basically the same speed as a 3.0 1x slot. The old Mac Pro towers had 2.0 pcie slots if memory serves me right. Maybe the card is faulty...
 
I asked the Slate team about it, and I was assured that the same driver we already have works for both thunderbolt and the pcie card in osx already in every version up to date. It's just that the pcie part of the driver is only meant to work with 2008-2012 Mac Pro towers... Or it's optimized for them somehow.
A load of crap. There's no difference. Tell them to fix their sh*t.

One thing is worrying me is that for some reason, not in the bios, nor the system report is it showing the pcie card.
For macOS, this is normal for Hackintosh. It's just cosmetic. It should not be necessary. You need to do some SSDT and/or Clover efi stuff (something to do with _SUN in ACPI) to indicate the slots of the Hackintosh so the devices in those slots appear in the PCI section of System Information.app. Does your BIOS normally list PCIe devices?

I have tried it in both a 1x port and a 4x port. The card itself is 1x, but I'm not sure if it's 2.0 or 3.0.
IOPCIExpressLinkCapabilities and IOPCIExpressLinkStatus for the pci1b21,1080 in the ioreg outputs say it's PCIe 1.0 x1 (2.5 GT/s x1). IOPCIExpressLinkCapabilities is also where "L0s Exit Latency" and "L1 Exit Latency" are specified. The Hackintosh PCI ioreg output says you put the card in a PCIe 3.0 x4 slot - it shouldn't matter what slot you put it in.


If I remeber correctly Slate has stated somewhere that one should put in a 4x times slot. Could that be because they think you're putting it in a 2.0 4x slot which (if I have understood correctly) is basically the same speed as a 3.0 1x slot.
Doesn't matter what slot it goes in. Putting an x1 card in a x16 slot is a waste of an x16 slot so they tell you to put it in an x4 slot but it should work in any functioning slot. Mac Pro's don't have x1 slots but your Hackintosh does. Putting an x1 card in an x4 slot is a waste of an x4 slot if you have an x1 slot.

The old Mac Pro towers had 2.0 pcie slots if memory serves me right. Maybe the card is faulty...
Shouldn't matter. Both the Mac Pro and Hackintosh will negotiate a PCIe 1.0 speed of 2.5 GT/s no matter what speed the slot supports. The card appears to be fully functional in the Hackintosh. Their driver is faulty.
 
Shouldn't matter. Both the Mac Pro and Hackintosh will negotiate a PCIe 1.0 speed of 2.5 GT/s no matter what speed the slot supports. The card appears to be fully functional in the Hackintosh. Their driver is faulty.
It sounds like Thunderbolt is simply a communication protocol and nothing more, a medium of sorts to get the computer to talk to/see an external device. I can confirm that I can see the same exact device in the IORegistryExplorer whether it's connected using Thunderbolt or PCI card. Would it be easier to implement an SSDT for the PCI card and get it recognized and maybe then the driver would load? I am just struggling with trying to understand what it is the driver is looking at/for during the installation process. I have noticed one detail that escaped my attention before - on all real macs, during the driver installation process, the external audio interface clicks once and all of the lights flash once, almost as if there's a handshake of sorts. On the hackintosh there is no such click/flash. Regardless, when the computer boots up, the audio interface flashes and clicks the same on both Hack and Macs. Here's a quick video.

 
Last edited:
Okay. So, Vanilla Mojave up and running and everything system wise works, yay me. I installed the VRS8 drivers and after powering VRS8 at startup, suddenly my bios sees the pcie card. It didn't before I powered VRS8 up. VRS8 clicked one or two times during boot... I think it's supposed to click 3 times to connect fully.

In system report it shows up as an audio device, but when I go to "Sound" in system preferences, there's no audio devices at all. I didn't install the kexts needed for the mobo native sound to work... should I? Does it make any difference, I wasn't going to use it in any way, just the VRS8. Maybe a stupid question, but I'm a hack noob. :lol:

VRS8 panel app doesn't seem to find anything... it's blank like luckyal's.

TBH, Slate really screwed the pooch here. This shouldn't be an issue. It clearly isn't a thunderbolt or pcie issue... Is it looking for something only a real Mac has? Like a real Mac audio chip (whatever that might be).
 
Last edited:
It sounds like Thunderbolt is simply a communication protocol and nothing more, a medium of sorts to get the computer to talk to/see an external device.
Thunderbolt can be used to transfer different types of data. There are Thunderbolt packets containing PCIe data or DisplayPort data. But Thunderbolt can also send other types of data. For example, Thunderbolt networking allows creating a network between Thunderbolt computers - this works on both macOS and Windows. Apple uses Thunderbolt for Target Disk Mode (connects a computer's disk to your computer) and Target Display Mode (send display data from your computer to an iMac). Those cases don't use DisplayPort or PCIe to work. I don't know if Apple exposes a method for a developer to create their own Thunderbolt communication streams.

I can confirm that I can see the same exact device in the IORegistryExplorer whether it's connected using Thunderbolt or PCI card. Would it be easier to implement an SSDT for the PCI card and get it recognized and maybe then the driver would load? I am just struggling with trying to understand what it is the driver is looking at/for during the installation process.
We don't know why the driver won't load. The SSDT to get it recognized is not difficult (there are instructions somewhere) but it's probably not the reason the driver won't load. You can try it. At least it will make the PCI section of System Information.app do something.

I have noticed one detail that escaped my attention before - on all real macs, during the driver installation process, the external audio interface clicks once and all of the lights flash once, almost as if there's a handshake of sorts. On the hackintosh there is no such click/flash. Regardless, when the computer boots up, the audio interface flashes and clicks the same on both Hack and Macs. Here's a quick video.
That is a little strange. I don't know what it means.

I installed the VRS8 drivers and after powering VRS8 at startup, suddenly my bios sees the pcie card. It didn't before I powered VRS8 up.
Of course the PCIe card is not seen when the VRS8 is not powered up. There is no PCIe device on the PCIe card. The PCIe device is in the VRS8. The PCIe card just has a PCIe redriver that sends the PCIe signal over the HDMI cable to the VRS8. This is similar to the crypto currency PCIe x16 risers which send a PCIe x1 signal over a USB cable to the x16 slot of the riser, except risers don't use a redriver.

In system report it shows up as an audio device, but when I go to "Sound" in system preferences, there's no audio devices at all. I didn't install the kexts needed for the mobo native sound to work... should I? Does it make any difference, I wasn't going to use it in any way, just the VRS8. Maybe a stupid question, but I'm a hack noob. :lol:

VRS8 panel app doesn't seem to find anything... it's blank like luckyal's.

TBH, Slate really screwed the pooch here. This shouldn't be an issue. It clearly isn't a thunderbolt or pcie issue... Is it looking for something only a real Mac has? Like a real Mac audio chip (whatever that might be).
We don't know if it makes a difference. It's the question I was asking in the last paragraph of #50.
 
We don't know if it makes a difference. It's the question I was asking in the last paragraph of #50.

Well, to be sure, I added applealc with the ALC1220 profile and now osx finds my display as an output source (I already had lilu and green and so on). No change in the VRS8 situation. Ain't this a B.
 
Back
Top