Jump to content

Gigabyte Titan Ridge on Proxmox/OSX baremetal (WIP)


Recommended Posts

  • Supervisor

TB3 Device:

GC Titan Ridge

https://www.amazon.it/gp/product/B07K6PW4M1/

 

Eprom programmer:

https://www.amazon.it/gp/product/B07SNTL5V6/

 

Digital Multimeter:

https://www.amazon.it/gp/product/B0872RY4CC/

 

in this thread we can talk about progress with this latest important goal to achieve.

 

useful link:

https://github.com/ameyrupji/thunderbolt-macpro-5-1/blob/master/GC-TitanRidge.md

 

guide to flashing programming from CaseySJ

 

DISCLAIMER:

this is a very risky procedure also for experienced users.

TAKE NOTE OF THIS.

DO AT YOUR OWN RISK

 

1877609263_ScreenShot2020-07-29at19_43_37.png.5b565e484d96c46340a8c71a55eebc4a.png

  • Like 3
Link to post
Share on other sites
  • Supervisor
49:00.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
        Kernel driver in use: pcieport
4a:00.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
        Kernel driver in use: pcieport
4a:01.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
        Kernel driver in use: pcieport
4a:02.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
        Kernel driver in use: pcieport
4a:04.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
        Kernel driver in use: pcieport
4b:00.0 System peripheral [0880]: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] [8086:15eb] (rev 06)
        Subsystem: Gigabyte Technology Co., Ltd JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] [1458:a207]
        Kernel driver in use: vfio-pci
        Kernel modules: thunderbolt
4d:00.0 USB controller [0c03]: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] [8086:15ec] (rev 06)
        Subsystem: Gigabyte Technology Co., Ltd JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] [1458:a207]
        Kernel driver in use: vfio-pci
        Kernel modules: xhci_pci

More or less the same @iGPUresults and conclusion

for now not all Is "passable"

  • Like 1
Link to post
Share on other sites
9 hours ago, fabiosun said:

49:00.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
        Kernel driver in use: pcieport
4a:00.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
        Kernel driver in use: pcieport
4a:01.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
        Kernel driver in use: pcieport
4a:02.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
        Kernel driver in use: pcieport
4a:04.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
        Kernel driver in use: pcieport
4b:00.0 System peripheral [0880]: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] [8086:15eb] (rev 06)
        Subsystem: Gigabyte Technology Co., Ltd JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] [1458:a207]
        Kernel driver in use: vfio-pci
        Kernel modules: thunderbolt
4d:00.0 USB controller [0c03]: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] [8086:15ec] (rev 06)
        Subsystem: Gigabyte Technology Co., Ltd JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] [1458:a207]
        Kernel driver in use: vfio-pci
        Kernel modules: xhci_pci

More or less the same @iGPUresults and conclusion

for now not all Is "passable"

 

 

Yes, same issues I found earlier. Until the pci-bridge sections (49 and the 4a's) are passed, the TB device cannot function on the Mac side.

 

This presently applies to all bridged devices and is a Linux/VM limitation.

Edited by iGPU
Link to post
Share on other sites
14 minutes ago, fabiosun said:

1702782312_ScreenShot2020-07-30at17_34_27.png.8eebcae2b19c55914c6351dd0f5a7afb.png855453045_ScreenShot2020-07-30at17_34_37.png.4740155b98b588c414584a988b3b72ef.png

 

This looks promising!

 

For proper TB functioning, an SSDT is necessary. (I can supply one later today to test.)

 

The only problem that I see, is that to date, I've not been able to get any SSDT to change anything in the SF0 device. My SSDTs seemingly work on most other devices. (I've not written here about this SSDT matter.) I've gotten the feeling that SF0 is somehow formed after the SSDTs are loaded. Ideally, if you could try a different PCIe slot to move the device from SF0...

Link to post
Share on other sites
7 minutes ago, fabiosun said:

SSDT-TB3-RP21-4.zip 1.67 kB · 1 download

 

my problem is I have no tb device for testing 🙂

this SSDT is from site you advised me time ago where also I have found instructions to flash

 

 

I'd advise you not to flash just yet. Let's see how your TB device behaves natively. I'll work on SSDT later (I must leave house soon for several hours).

Link to post
Share on other sites
  • Supervisor

native was in the initial post whern you said you have had similar results..i have then flashed Elias firmware..i see all that stuf but type c I have is not seen

Asmedia controller sees it well (my proxmox booting disk is there)

 

  • Like 1
Link to post
Share on other sites
6 hours ago, fabiosun said:

native was in the initial post whern you said you have had similar results..i have then flashed Elias firmware..i see all that stuf but type c I have is not seen

Asmedia controller sees it well (my proxmox booting disk is there)

 

 

Attached are 2 SSDT-TB. One is set up for SF0 (0x03 as shown in image above). The other is set for S80 at 0x01. Both have descriptions of PCIe slot 4 (but this is description and does not affect function; can be changed inside file).

 

As I mentioned, I've never seen SF0 properly rename using an SSDT on these TRX40 mobos. Also, sometimes, when trying to re-name a device in SF0, the macOS would not boot, so keep an alternative boot EFI (which I know you do!).

 

 

SSDT-TRX40-TB-candidates-v2.zip

Edited by iGPU
S80 needed to be 0x00 not 0x01
Link to post
Share on other sites
  • Supervisor

I have reverted before this your message to latest 50 version  not patched firmware for Titan Ridge
In windows same behaviour

I am asking I f there is a way to understand if my TB header pached cable is working or not and if also USB2.0 connection is working

 

Capture2.JPG.50bc3a8c5866d3aa6a39d19353e1f297.JPGCapture1.JPG.0dea2af9881c9240dccee1c4f0979d2c.JPGCapture.JPG.3aec2b5aa99201c8ac593d5a5a4a41d9.JPG

  • Like 1
Link to post
Share on other sites
  • Supervisor

and this below are my IOREG screenshots without patching the card:

1247225695_ScreenShot2020-07-31at07_46_38.png.f655d8ae842c220e8b57d1cc12872e7f.png344295200_ScreenShot2020-07-31at07_45_49.png.318fa97a7e947a4a9cc043b673770d1a.png

 

@iGPU do you advice to use patched one named:

GC-TITAN-RIDGE-NVM23-Elias64Fr.bin ?

 

or stay with latest not patched one?

Thank you

 

  • Like 1
Link to post
Share on other sites

I would not re-flash. What you have looks good. Also, USB-2 usually does not work on TB ports (don't bother testing; un-important for us).

 

The next step is trying to get an SSDT to work. But first let me describe the TB features seen in a properly working setup. (I sourced the images off the internet, so not mine as I'm working on different computer; I'll update once I locate better images). These features depend upon a good SSDT to show up.

 

First, you want to see the following in a TB tree when using IORegistryExplore (the device shown is at RP05; this can differ for our mobos). There are a few important features: sections DSB0-DSB4, where DSB0 contains NHI (actual TB) and DSB2 contains the USB section (ideally 2 parts for AIC). IOThuderboltPort@7 (this is for TitanRidge; it will differ for other chips; eg, Alpine Ridge uses Port@5) is also important for proper TB behavior.

 

 TB-tree.png.57ee52e8268a8a3172fdd157d0b858db.png

 

 

IOThuderboltPort@7:

TB-Port7.png.398f4e7066e7202e0ded039393b0a642.png

 

 

Next, for proper TB behavior, you should see entries in the following 3 areas in the System Information window.

 

A. PCI slot pane: notice that there are entries for TB and TB-USB. These are injected through the SSDT.

X570-PCI-Info-PCIeTB.jpg.08bc10baf9d064650f5e8e2b47bb0b0e.jpg

 

B. PCI TB. This section, even with marginally functioning TB will often be empty ("No Thunderbolt devices."). However, if a proper SSDT with flashed firmware and you'll see an entry as below. Also, the speed of the device should be 40GB/sec.

PCI-TB-3.png.2583d8c60568b40beb590e5d0bf60800.png

 

Link Speed is adjusted to 40 with this SSDT entry: 

linkDetails.png.beec0b2449ce58a756349ab99c4bf53c.png

 

 

C. TB-USB. If TB and TB-USB is properly working, you'll now see a TB bridge entry in the PCI-USB pane as shown below.

PCI-USB-2.png.d1fca519015c1558e7a430b2d585b6b5.png

 

If a device, like a TB external HD is connected, then the following will appear:TB-HDconnection.png.47536fb792542c838f3a5650cfa5d487.png:

 

 

 

 

Edited by iGPU
Updated images.
Link to post
Share on other sites
  • Supervisor

@iGPU I have to synch my area location time with yours 🙂

I have reflashedto start with a complete (more complete Output)

I have a reference Korey of a X299 board and naming apart it is pretty similar to mine

 

Point A,B,C seems to have some problem with pictures

 

  • Like 1
Link to post
Share on other sites
32 minutes ago, fabiosun said:

@iGPU I have to synch my area location time with yours 🙂

 

Point A,B,C seems to have some problem with pictures

 

 

I updated the images, so please re-fresh page to view. (And yes, we must sync our times! But now, I'm off to work...)

Link to post
Share on other sites
48 minutes ago, fabiosun said:

449625408_ScreenShot2020-07-31at16_43_25.png.60137c16e7bbefca3632c66fe837e112.png

 

Which firmware flash are you using for these latest images? (I recall having used GC-TITAN-RIDGE-NVM23-Elias64Fr.bin, but some of these firmwares have been updated since I last flashed any cards.)

 

Also, specifically, what VM instructions are you using and passing-through for the TB device?

 

And are you blacklisting any TB items (I know you normally do not, but just checking for completeness)?

 

(I'll re-test my TB cards this weekend.)

Edited by iGPU
Link to post
Share on other sites
  • Supervisor

@iGPU

first is stock firmware updated to v50 (my Titan came wit v43 on board

right one is with v23 patched firmware (it seems the same you tested

 

to answer to your latter questions:

 

0)

hostpci12: 4b:00

hostpci13: 4d:00

 

1)

no

 

then I have this output for LSPCI -nnk (Thunderbolt/Proxmox related):

 

Spoiler

49:00.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
        Kernel driver in use: pcieport
4a:00.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev ff)
        Kernel driver in use: pcieport
4a:01.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev ff)
        Kernel driver in use: pcieport
4a:02.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev ff)
        Kernel driver in use: pcieport
4a:04.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev ff)
        Kernel driver in use: pcieport
4b:00.0 System peripheral [0880]: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] [8086:15eb] (rev ff)
        Kernel driver in use: vfio-pci
        Kernel modules: thunderbolt
4d:00.0 USB controller [0c03]: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] [8086:15ec] (rev ff)
        Kernel driver in use: vfio-pci
        Kernel modules: xhci_pci

 

my first goal is to see a device connected (an external usb type case with a disk)

Before I was saying about USB because we have to connect to an internal USB our card) and my internal one are not working in HighSierra

i am installing Catalina by now because it has a better management and support for our new motherboard USB

 

Or do you think without completing with a proper SSDT I can't see also a simple usb connection?

 

Schermata 2020-07-31 alle 08.45.28.png

  • Like 1
Link to post
Share on other sites
  • Supervisor

PS A and B i have as you shown without using a SSDT

first part is achievable with:

 

 JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018]    Generic system perip System peripheral    pci8086,15eb@15 pci8086,15eb

PciRoot(0x1)/Pci(0x1E,0x0)/Pci(0x3,0x0)/Pci(0x15,0x0) 


JHL7540 Thunderbolt 3 USB Controller [Titan Ridge  Serial bus controlle USB controller       pci8086,15ec@16 pci8086,15ec    

PciRoot(0x1)/Pci(0x1E,0x0)/Pci(0x3,0x0)/Pci(0x16,0x0) 
 

and I miss this thunderbolt 7 that I have empty :

 

 

 

 

Schermata 2020-07-31 alle 09.02.35.png

Schermata 2020-07-31 alle 09.06.22.png

Edited by fabiosun
Add my empty TB port 7
  • Like 1
Link to post
Share on other sites
4 hours ago, fabiosun said:

@iGPU

first is stock firmware updated to v50 (my Titan came wit v43 on board

right one is with v23 patched firmware (it seems the same you tested

 

my first goal is to see a device connected (an external usb type case with a disk)

Before I was saying about USB because we have to connect to an internal USB our card) and my internal one are not working in HighSierra

i am installing Catalina by now because it has a better management and support for our new motherboard USB

 

Or do you think without completing with a proper SSDT I can't see also a simple usb connection?

 

 

 

USB-C works well off TB3 (just not USB-2), and can use the less expensive USB-C cables (note: USB-C and TB cable have same connection and look the same, but are not the same).

 

I think you can get USB-C connection without SSDT (but I am not absolutely certain; too long since I tried: I can test on another machine this weekend to verify).

Link to post
Share on other sites

I don't have a free Titan Ridge card to test, but I do have an available, flashed Alpine Ridge TB3 card. Placing it in slot 4 (farthest from CPU), gives an entry in to SF0, but very incomplete. I provided an SSDT which loaded (see other image), but it did not affect the AR card. I'll try some variations of the SSDT file.

 

Pathetic TB tree and how it should be labelled with SSDT (but SF0 should be a device like RP21, not UPSB):

2032702772_TinyTBtree.png.bf8f0f817eb2c14d16fc630b797a788f.png

 

 

Display loaded ACPIs (command: log show --last boot | grep ACPI

2045814331_SSDTloadedforARcard.png.2cbd5e0e0aa6258bad44f849dd446891.png

Tiny TB tree.png

Edited by iGPU
Incorrect device location for TB3
Link to post
Share on other sites
  • Supervisor

@iGPUwsiting for your test

i think problem is inside OS X 

I can see in ovmf bios usbc disk connected on ridge via usb c cable

but no in booted OS X 

but, also in windows I can’t see it

so maybe multiple problems or disk is not good for Titan ridge

by the way on ASMedia 3.2 usb I can see on all systems (Linux, OS X, windows)

  • Like 1
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.