In theory this process is doable, but timing is mission critical. I bricked my Thunderbolt controller because of a timing problem, but fortunately (after 2 hours) I managed to recover by using an external flasher.
This procedure is actually
quite amazing because it does not require an external flasher. The only issue is timing. Let me explain -- because I totally attempted this a few hours ago and totally messed it up at the final step!
- First we have replace the standard Thunderbolt SSDT with an extensively modified SSDT that (partially) enables Thunderbolt Bus without the need for flashing BIOS.
- We need to boot with a Thunderbolt device connected in order for Thunderbolt Bus to appear.
- Thunderbolt devices will stop functioning after about 20 seconds.
- The Osy86 tbpatchtool will magically work for those first 20 seconds.
- This is what we mean by timing is mission critical.
- To make full use of those 20 seconds, we can open Terminal and type sudo tbpatch list <ENTER>. An error will appear, but we can ignore it.
- Then we quit all applications, but we keep Terminal running.
- Now we shutdown. And flip power switch on PSU to OFF for 5-10 seconds. Then reboot.
- Make sure that you choose to reopen application/Finder windows on reboot.
- When system boots up, go ahead and login.
- Now you have less than 20 seconds to go to the Terminal window, press up-arrow to retrieve the last command, and press ENTER to run it. Type your admin password and press ENTER.
- Now sudo tbpatch list should return valid output.
After this we repeat Steps 5-10, but with a different
tbpatch command that modifies less than 10 bytes in firmware. This must also be done within 20 seconds, but if you are even 1 second late,
you will brick your Thunderbolt chip.
This happened to me 2 hours earlier.
It took a lot of experimentation to flash a working image back to the Designare's Thunderbolt chip. The Raspberry Pi was the only tool that could do it, but after a lot of fiddling. The CH341a did not work. The Reveltronics REVELPROG-IS did not work.
So unless we can enlarge the time window from 20 seconds to about 45-60 seconds, then I cannot recommend this procedure.
The procedure is truly amazing. I was shocked to see that it works! But timing is so very critical that failure rates are going to be very high.
This is what happens when you get the timing off by even 1 second. After this, the Titan Ridge controller was dead.
View attachment 454575
Titan Ridge controller is dead:
View attachment 454576