@genzai @S1lla
I think it is in fact a good idea to read the firmware using Linux, and to grab the ACPI tables using MaciASL. We can compare actual contents versus content in firmware files. In the past there have been differences.
...
dd if=/sys/bus/thunderbolt/devices/0-0/nvm_active0/nvmem of=~/Documents/TB3-Controller-0-Fw.bin bs=4096 count=256
[/code]
We would replace "0-0" with "1-0" for controller 1, "2-0" for controller 2, etc.
OK! finally was ab,e to get an ubuntu live disk booting on the mac pro and extract all the firmwares. it was quite a process actually just even getting linux to boot. The good news is it saw all 4 controllers and extracting seems to have worked well. i hope this can lead to something cool.
Because i have no idea how linux enumerated the thunderbolt buses i have no idea which firmware is for which controller, but perhaps they are the same or perhaps that info is somehow embedded in the firmware.
g\
PS- i extracted bus0 teiwce as a sanity check that there is no variation between reads, the second time is labeled 0r2.
EDIT:
This looks promising- the bus 0 extracts both have the same checksum but the other buses are not the same, so there is something different on each one. maybe its just cosmetic naming but there could be useful clues here?
5a5c90f34b1ee47dd0f5d5bc0537ed91337374c5 ~/MP71TB3-Controller-/MP71TB3-Controller-0-Fw.bin
5a5c90f34b1ee47dd0f5d5bc0537ed91337374c5 ~/MP71TB3-Controller-/MP71TB3-Controller-0r2-Fw.bin
3c15c4e3b8cb2e4b8e94fc82df1d295d63d3ab1c ~/MP71TB3-Controller-/MP71TB3-Controller-1-Fw.bin
ccb455447086ab8e36a6e401b6245cb0854f3f53 ~/MP71TB3-Controller-/MP71TB3-Controller-2-Fw.bin
f57fa8444e15d25326822341ed681d0b72da0e53 ~/MP71TB3-Controller-/MP71TB3-Controller-3-Fw.bin
EDIT2: ok i mapped which firmware goes with which ports. attaching a new zip with all the info.