Contribute
Register

Thunderbolt 3 Modified Firmware Custom SSDT Discussion

@CaseySJ, some thoughts on patching Alpine Ridge firmware. This applies to both GC-Alpine and EX3-Alpine.

1) The EX3 is strange and reading the chip is unreliable. One card just stopped reading all together and the other has various failures at verification...sometimes. (I have two EX3's btw)

2) When copying the active partition of one firmware into another I've had success in copying section by section instead of the entire 0x4000-0x5000 because they don't always line up. Thats either a great observation or part of the failure. Either way, specifically EE_PCIE_PHI and DROM has done the trick. I'd almost bet that you don't need DROM. (Clearly DROM is important. This was an isolated "success")

3) On the patched GC-Alpine Ridge firmware (DROM and EE_PCIE_PHI pulled from the Gigabyte windows firmware updater via Wine) USB does actually show up but only when in PEG but at the expense of other devices. Otherwise on RPXX the thunderbolt is perfect with an SSDT.

4) I was greatly confused by Osy's firmware because the first 4000 bytes looked way different than anything else. It also is the only one that actually goes all the way to 1meg. I'm realizing now thats likely because the firmware that Gigabyte or Asus use with their software updaters look way different than what you pull from the actual chip with an EEPROM Flasher. If thats true then that solves a lot of head scratching for me.

Note: Was edited for coherence.
 
Last edited:
@CaseySJ


3) On the patched GC-Alpine Ridge firmware (DROM and EE_PCIE_PHI pulled from the Gigabyte windows firmware updater via Wine) USB does actually show up but only when in PEG but at the expense of other devices. Otherwise on RPXX the thunderbolt is perfect with an SSDT.

Did you try injecting USB properties? It shows up for me and works with hot plug and all, though it gets funky with sleep. It seems like most cases the USB controller is gone after sleep even if a device is pugged in.
 
Did you try injecting USB properties? It shows up for me and works with hot plug and all, though it gets funky with sleep. It seems like most cases the USB controller is gone after sleep even if a device is pugged in.

Can you show me what you injected? Send a plist.

I'm currently replacing the USB sections with XHC from the Titan Ridge firmware.
 
Last edited:
Can you show me what you injected? Send a plist.

I'm currently replacing the USB sections with XHC from the Titan Ridge firmware. For the hell of it really.

No because you need them to be specific for your system, but I can give you the directions.

Open Hackintool ---> click PCI ---> click the button to export ---> Open the plist ----> you can copy all the devices into the DeviceProperties ----> ADD of your Config.plist or just the:

JHL6540 Thunderbolt 3 USB Controller (C step) [Alpine Ridge 4C 2016] the one that says USB Controller
JHL6540 Thunderbolt 3 NHI (C step) [Alpine Ridge 4C 2016] the one that says system peripheral
 
No because you need them to be specific for your system, but I can give you the directions.

Open Hackintool ---> click PCI ---> click the button to export ---> Open the plist ----> you can copy all the devices into the DeviceProperties ----> ADD of your Config.plist or just the:

JHL6540 Thunderbolt 3 USB Controller (C step) [Alpine Ridge 4C 2016] the one that says USB Controller
JHL6540 Thunderbolt 3 NHI (C step) [Alpine Ridge 4C 2016] the one that says system peripheral
Oh, yes I tried that. Well, I didn't add NHI but I did add the USB Controller. No dice.
 
Oh, yes I tried that. Well, I didn't add NHI but I did add the USB Controller. No dice.

Maybe you need both the NHI and the USB. I added them both at the same time so it could be both of them.

I did do a test where I added the TB header cable that effectively broke Thunderbolt hot swap if that is any consequence to you.
 
Maybe you need both the NHI and the USB I added them both at the same time so it could be both of them.

I did do a test where I added the TB header cable that effectively broke Thunderbolt hot swap if that is any consequence to you.

If you've got the time can you remove NHI and see what from your properties and see how that works for you? I'm away for a few :/
 
If you've got the time can you remove NHI and see what from your properties and see how that works for you? I'm away for a few :/

I removed NHI and sure enough it did not work, put it back and it works. Keep in mind it works till sleep, the controller does not reload after sleep. Does not seem to matter if you unplug before sleep, and plug or not plug while waking the USB controller does not attach to devices after sleep. I also added all the Thunderbolt PCI properties to my config for good measure does not seem to matter. It might even be that you need the NHI and not the USB since the USB is recognized as USB but the NHI is unknown type unless you inject.
 
No because you need them to be specific for your system, but I can give you the directions.

Open Hackintool ---> click PCI ---> click the button to export ---> Open the plist ----> you can copy all the devices into the DeviceProperties ----> ADD of your Config.plist or just the:

JHL6540 Thunderbolt 3 USB Controller (C step) [Alpine Ridge 4C 2016] the one that says USB Controller
JHL6540 Thunderbolt 3 NHI (C step) [Alpine Ridge 4C 2016] the one that says system peripheral

No luck. I tried a new firmware patch where I basically replaced everything from DROM below with the Asus firmware and it still worked. Wuuuhhhh? Anyways, try this link below.


Note: You'll like have to change the address to RP21.DSB2.XHC or whatever is there
 
No luck. I tried a new firmware patch where I basically replaced everything from DROM below with the Asus firmware and it still worked. Wuuuhhhh? Anyways, try this link below.


Note: You'll like have to change the address to RP21.DSB2.XHC or whatever is there

My Screen wakes that is not the issue, that patch is for an issues where the screen does not wake. My issue if you can call it that is the USB on the Alpine ridge stops populating devices after sleep. The path is there up to SS1/SS2 but devices do not connect after sleep. I do not really understand all the back ended stuff, so I am here to test what ever you got or need help with testing. However, outside of testing and maybe minor code edits I am way out of my realm. If you need a custom hillside home hanging off the side of the cliff I am your man; but coding confuses the crap out of me. I will keep following the thread if something comes up that needs further testing LMK.
 
Back
Top