crwdns2934243:0crwdne2934243:0 Jean JD
crwdns2934249:0crwdne2934249:0:
Hello Wolfgang. | |
Thirst thing : thank you very much. | |
I’ve install Sierra and the response of Firmware Thunderbolt 1.0 is the same : | |
“This update is not necessary for the Thunderbolt port of your computer” | |
I think it’s dead for my computer. | |
It’s too bad . | |
Have a good day. | |
John. | |
+ | |
+ | '''REVISION from 01/01/2021''' |
Hello everyone ! | |
Here is a good news to start the new year. | |
Lately I worked on the case of creating a Mac OS installation key in Recovery mode with an El Capitan or Yosemite installer which comes with a dmg containing a pkg that we can find here for El Capitan. | |
I have been looking around for a while and found how from Recovery mode, with this dmg we can create an installation media without too much effort: D | |
And this is the method that allowed me to explore the firmware pkg and figure out how to force the system to take it into account. | |
Here is how I was able to successfully force the installation of Thunderbolt Firmware. | |
'''Be careful though''': I was sure that this Firm was suitable for my MBP and that it was not going to break everything. | |
However it is highly risky if you do not really know what you are doing. | |
In short, I had the pkg from the dmg downloaded that I copy and extract in the directory '''Firm_Thunderbolt''' on the '''Desktop''' of the Mac : | |
``pkgutil --expand ~/Desktop/ThunderboltFirmwareUpdate.pkg ~/Desktop/Firm_Thunderbolt`` | |
Which gives the following structure: | |
drwxr-xr-x@ 7 jean staff 224 1 jan 09:28 21.5-inchiMacThunderboltFirmwareUpdate.pkg | |
drwxr-xr-x@ 7 jean staff 224 1 jan 09:27 27-inchiMacThunderboltFirmwareUpdate.pkg | |
-rwxr-xr-x@ 1 jean staff 28896 4 avr 2012 Distribution | |
drwxr-xr-x 24 jean staff 768 31 déc 07:38 Resources | |
drwxr-xr-x@ 7 jean staff 224 31 déc 07:39 '''ThunderboltFirmwareUpdate.pkg''' | |
The directory I'm interested in here is ThunderboltFirmwareUpdate.pkg. | |
The others are either for the iMac or not used here. So I work in the ThunderboltFirmwareUpdate.pkg directory | |
cd ~/Desktop/Firm_Thunderbolt/ThunderboltFirmwareUpdate.pkg | |
And here is its structure: | |
-rw-r--r--@ 1 jean staff 87688 4 avr 2012 Bom | |
-rw-r--r--@ 1 jean staff 500 4 avr 2012 PackageInfo | |
-rw-r--r-- 1 jean staff 84153 4 avr 2012 Payload | |
drwxr-xr-x 6 jean staff 192 31 déc 07:38 Scripts | |
And here is the command that changes everything: | |
``tar -xvf Payload`` | |
x . | |
x ./System | |
x ./System/Library | |
x ./System/Library/CoreServices | |
x ./System/Library/CoreServices/Firmware Updates | |
x ./System/Library/CoreServices/Firmware Updates/MacBookProTBUpdate10 | |
x ./System/Library/CoreServices/Firmware Updates/MacBookProTBUpdate10/HPM-em-00020007.bin | |
x ./System/Library/CoreServices/Firmware Updates/MacBookProTBUpdate10/MBP-22-01.bin | |
x ./System/Library/CoreServices/Firmware Updates/MacBookProTBUpdate10/ThorUtil.efi | |
And now here is the new directory structure: | |
-rw-r--r--@ 1 jean staff 87688 4 avr 2012 Bom | |
-rw-r--r--@ 1 jean staff 500 4 avr 2012 PackageInfo | |
-rw-r--r-- 1 jean staff 84153 4 avr 2012 Payload | |
drwxr-xr-x 6 jean staff 192 31 déc 07:38 Scripts | |
drwxr-xr-x 3 jean staff 96 4 avr 2012 '''System''' | |
A System directory with the correct tree structure has been created by the tar command with the correct firmware. All you have to do is copy the '''MacBookProTBUpdate10''' directory from ~/Desktop/Firm_Thunderbolt/ThunderboltFirmwareUpdate.pkg/System/Library/CoreServices/Firmware Updates into the native system structure of the Mac : /System/Library/CoreServices/Firmware Updates | |
There is however a little problem with Catalina, as the system is mounted in read only. Never mind. To go ahead you must first deactivate SIP from the Recovery mode terminal: | |
``csrutil disable`` | |
Then restart and type the following command: | |
``sudo mount -rw /`` | |
Then we copy the MacBookProTBUpdate10 directory which contains all necessary information for the installation of the Firmware on the System. | |
First we go to the install directory : | |
``cd ~/Desktop/Firm_Thunderbolt/ThunderboltFirmwareUpdate.pkg``[br] | |
then | |
``sudo cp -a System/Library/CoreServices/"Firmware Updates"/MacBookProTBUpdate10 /System/Library/CoreServices/”Firmware Updates”`` | |
Then you have to enter the command that allows the firmware to be updated. | |
The '''flashTBFirmware''' script which is in the '''Scripts / postinstall_actions''' directory gives us all we need. You have to open it with any editor (textedit for example) and here is its content: | |
#!/usr/bin/perl | |
#################################### | |
my $targetVolume = $ARGV[2]; | |
my $FirmwareDirectory = "/System/Library/CoreServices/Firmware Updates/MacBookProTBUpdate10/"; | |
my $firmwareTool = "ThorUtil.efi"; | |
# yes this is secure | |
my $debug = (-e "/tmp/com.apple.pkg.testing"); | |
##################################################################### | |
#set NVRAM for tbft (<rdar://problem/9282793> Use Safe Mode for T29 updates (EPROM, Micros) to prevent PCIe unplug during update) | |
system("/usr/sbin/nvram tbt-options=%04"); | |
'''# bless the firmware''' | |
'''my $retVal = system("/usr/sbin/bless", "-mount", "/",''' | |
'''"-firmware", $FirmwareDirectory . "ThorUtil.efi",''' | |
'''"-payload", $FirmwareDirectory ."MBP-22-01.bin",''' | |
'''"-payload", $FirmwareDirectory ."HPM-em-00020007.bin",''' | |
'''"-options", "-o -ee -f efi-apple-payload0-data -em efi-apple-payload1-data");''' | |
debuglog("blessFirmware the result of the bless command is: $retVal"); | |
######################################################## | |
# always exit 0 | |
exit 0; | |
######################################################## | |
sub debuglog | |
{ | |
# $_[0] is the argument to debuglog | |
system("logger -p install.info '$_[0]'") if ( $debug ); | |
} | |
The part that is interesting us is here: | |
'''# bless the firmware''' | |
'''my $retVal = system("/usr/sbin/bless", "-mount", "/",''' | |
'''"-firmware", $FirmwareDirectory . "ThorUtil.efi",''' | |
'''"-payload", $FirmwareDirectory ."MBP-22-01.bin",''' | |
'''"-payload", $FirmwareDirectory ."HPM-em-00020007.bin",''' | |
'''"-options", "-o -ee -f efi-apple-payload0-data -em efi-apple-payload1-data");''' | |
This is the bless command which will start the Firmware installer during the next boot. You just have to adapt it to create the terminal command which match with your system and which can be found below: | |
``sudo bless -mount / -firmware /System/Library/CoreServices/Firmware\ Updates/MacBookProTBUpdate10/ThorUtil.efi -payload /System/Library/CoreServices/Firmware\ Updates/MacBookProTBUpdate10/MBP-22-01.bin -payload /System/Library/CoreServices/Firmware\ Updates/MacBookProTBUpdate10/HPM-em-00020007.bin -options "-o -ee -f efi-apple-payload0-data -em efi-apple-payload1-data"`` | |
I admit that I was a bit anxious when I restarted the Mac, but I quickly saw the famous Firmware update bar progressing and then the Mac restarted and there I plugged in the Thunderbolt DDE which was recognised without any concern. | |
And now here's the Thunderbolt info: | |
Bus Thunderbolt : | |
Vendor ID: : Apple Inc. | |
Nom du périphérique : MacBook Pro | |
UID : 0x0001000A156383E0 | |
Logical Unit: 0 | |
'''Version du programme interne : 22,1''' | |
UUID du domaine : B6969003-5485-245E-8FED-2538703498FC | |
Port : | |
État : Aucun périphérique connecté | |
État du lien : 0x101 | |
Vitesse : Jusqu’à 10 Gbit/s x2 | |
Réceptacle : 1 | |
'''Version du programme interne de Port Micro : 2.0.7''' | |
to compare with the old ones. | |
Bus Thunderbolt : | |
Vendor ID:: Apple Inc. | |
Nom du périphérique : MacBook Pro | |
UID : 0x0001000A156383E0 | |
Logical Unit: 0 | |
'''Version du programme interne : d.0''' | |
UUID du domaine : B6969003-5485-245E-8FED-2538703498FC | |
Port : | |
État : Aucun périphérique connecté | |
État du lien : 0x101 | |
Vitesse : Jusqu’à 10 Gbit/s x2 | |
Réceptacle : 1 | |
'''Version du programme interne de Port Micro : 1.2.1''' | |
End of the adventure, thank you for staying all along this journey. : D | |
'''Many many thanks to my friend Dominique for the translation in English.''' | |
You can find the French version here : https://forum.macbidouille.com/index.php?showtopic=419342&hl= | |
Bye |
crwdns2915684:0crwdne2915684:0:
open
crwdns2934245:0crwdne2934245:0 Jean JD
crwdns2934249:0crwdne2934249:0:
Hello Wolfgang. | |
Thirst thing : thank you very much. | |
I’ve install Sierra and the response of Firmware Thunderbolt 1.0 is the same : | |
“This update is not necessary for the Thunderbolt port of your computer” | |
I think it’s dead for my computer. | |
It’s too bad . | |
Have a good day. | |
John. | |
+ | |
+ | |
+ | |
+ | |
+ | |
+ | Hello everyone ! |
+ | |
+ | Here is a good news to start the new year. |
+ | |
+ | Lately I worked on the case of creating a Mac OS installation key in Recovery mode with an El Capitan or Yosemite installer which comes with a dmg containing a pkg that we can find here for El Capitan. |
+ | |
+ | I have been looking around for a while and found how from Recovery mode, with this dmg we can create an installation media without too much effort: D |
+ | |
+ | And this is the method that allowed me to explore the firmware pkg and figure out how to force the system to take it into account. |
+ | |
+ | Here is how I was able to successfully force the installation of Thunderbolt Firmware. |
+ | |
+ | '''Be careful though''': I was sure that this Firm was suitable for my MBP and that it was not going to break everything. |
+ | |
+ | However it is highly risky if you do not really know what you are doing. |
+ | |
+ | In short, I had the pkg from the dmg downloaded that I copy and extract in the directory '''Firm_Thunderbolt''' on the '''Desktop''' of the Mac : |
+ | |
+ | ``pkgutil --expand ~/Desktop/ThunderboltFirmwareUpdate.pkg ~/Desktop/Firm_Thunderbolt`` |
+ | |
+ | Which gives the following structure: |
+ | |
+ | drwxr-xr-x@ 7 jean staff 224 1 jan 09:28 21.5-inchiMacThunderboltFirmwareUpdate.pkg |
+ | |
+ | drwxr-xr-x@ 7 jean staff 224 1 jan 09:27 27-inchiMacThunderboltFirmwareUpdate.pkg |
+ | |
+ | -rwxr-xr-x@ 1 jean staff 28896 4 avr 2012 Distribution |
+ | |
+ | drwxr-xr-x 24 jean staff 768 31 déc 07:38 Resources |
+ | |
+ | drwxr-xr-x@ 7 jean staff 224 31 déc 07:39 '''ThunderboltFirmwareUpdate.pkg''' |
+ | |
+ | The directory I'm interested in here is ThunderboltFirmwareUpdate.pkg. |
+ | |
+ | The others are either for the iMac or not used here. So I work in the ThunderboltFirmwareUpdate.pkg directory |
+ | |
+ | cd ~/Desktop/Firm_Thunderbolt/ThunderboltFirmwareUpdate.pkg |
+ | |
+ | And here is its structure: |
+ | |
+ | -rw-r--r--@ 1 jean staff 87688 4 avr 2012 Bom |
+ | |
+ | -rw-r--r--@ 1 jean staff 500 4 avr 2012 PackageInfo |
+ | |
+ | -rw-r--r-- 1 jean staff 84153 4 avr 2012 Payload |
+ | |
+ | drwxr-xr-x 6 jean staff 192 31 déc 07:38 Scripts |
+ | |
+ | And here is the command that changes everything: |
+ | |
+ | ``tar -xvf Payload`` |
+ | |
+ | x . |
+ | |
+ | x ./System |
+ | |
+ | x ./System/Library |
+ | |
+ | x ./System/Library/CoreServices |
+ | |
+ | x ./System/Library/CoreServices/Firmware Updates |
+ | |
+ | x ./System/Library/CoreServices/Firmware Updates/MacBookProTBUpdate10 |
+ | |
+ | x ./System/Library/CoreServices/Firmware Updates/MacBookProTBUpdate10/HPM-em-00020007.bin |
+ | |
+ | x ./System/Library/CoreServices/Firmware Updates/MacBookProTBUpdate10/MBP-22-01.bin |
+ | |
+ | x ./System/Library/CoreServices/Firmware Updates/MacBookProTBUpdate10/ThorUtil.efi |
+ | |
+ | And now here is the new directory structure: |
+ | |
+ | -rw-r--r--@ 1 jean staff 87688 4 avr 2012 Bom |
+ | |
+ | -rw-r--r--@ 1 jean staff 500 4 avr 2012 PackageInfo |
+ | |
+ | -rw-r--r-- 1 jean staff 84153 4 avr 2012 Payload |
+ | |
+ | drwxr-xr-x 6 jean staff 192 31 déc 07:38 Scripts |
+ | |
+ | drwxr-xr-x 3 jean staff 96 4 avr 2012 '''System''' |
+ | |
+ | A System directory with the correct tree structure has been created by the tar command with the correct firmware. All you have to do is copy the '''MacBookProTBUpdate10''' directory from ~/Desktop/Firm_Thunderbolt/ThunderboltFirmwareUpdate.pkg/System/Library/CoreServices/Firmware Updates into the native system structure of the Mac : /System/Library/CoreServices/Firmware Updates |
+ | |
+ | There is however a little problem with Catalina, as the system is mounted in read only. Never mind. To go ahead you must first deactivate SIP from the Recovery mode terminal: |
+ | |
+ | ``csrutil disable`` |
+ | |
+ | Then restart and type the following command: |
+ | |
+ | ``sudo mount -rw /`` |
+ | |
+ | Then we copy the MacBookProTBUpdate10 directory which contains all necessary information for the installation of the Firmware on the System. |
+ | |
+ | First we go to the install directory : |
+ | |
+ | ``cd ~/Desktop/Firm_Thunderbolt/ThunderboltFirmwareUpdate.pkg``[br] |
+ | |
+ | |
+ | then |
+ | |
+ | ``sudo cp -a System/Library/CoreServices/"Firmware Updates"/MacBookProTBUpdate10 /System/Library/CoreServices/”Firmware Updates”`` |
+ | |
+ | Then you have to enter the command that allows the firmware to be updated. |
+ | |
+ | The '''flashTBFirmware''' script which is in the '''Scripts / postinstall_actions''' directory gives us all we need. You have to open it with any editor (textedit for example) and here is its content: |
+ | |
+ | #!/usr/bin/perl |
+ | |
+ | #################################### |
+ | |
+ | my $targetVolume = $ARGV[2]; |
+ | |
+ | my $FirmwareDirectory = "/System/Library/CoreServices/Firmware Updates/MacBookProTBUpdate10/"; |
+ | |
+ | my $firmwareTool = "ThorUtil.efi"; |
+ | |
+ | # yes this is secure |
+ | my $debug = (-e "/tmp/com.apple.pkg.testing"); |
+ | |
+ | ##################################################################### |
+ | |
+ | #set NVRAM for tbft (<rdar://problem/9282793> Use Safe Mode for T29 updates (EPROM, Micros) to prevent PCIe unplug during update) |
+ | |
+ | system("/usr/sbin/nvram tbt-options=%04"); |
+ | |
+ | '''# bless the firmware''' |
+ | |
+ | '''my $retVal = system("/usr/sbin/bless", "-mount", "/",''' |
+ | |
+ | '''"-firmware", $FirmwareDirectory . "ThorUtil.efi",''' |
+ | |
+ | '''"-payload", $FirmwareDirectory ."MBP-22-01.bin",''' |
+ | |
+ | '''"-payload", $FirmwareDirectory ."HPM-em-00020007.bin",''' |
+ | |
+ | '''"-options", "-o -ee -f efi-apple-payload0-data -em efi-apple-payload1-data");''' |
+ | |
+ | debuglog("blessFirmware the result of the bless command is: $retVal"); |
+ | |
+ | ######################################################## |
+ | |
+ | # always exit 0 |
+ | exit 0; |
+ | |
+ | ######################################################## |
+ | |
+ | sub debuglog |
+ | |
+ | { |
+ | |
+ | # $_[0] is the argument to debuglog |
+ | system("logger -p install.info '$_[0]'") if ( $debug ); |
+ | |
+ | } |
+ | |
+ | The part that is interesting us is here: |
+ | |
+ | '''# bless the firmware''' |
+ | |
+ | '''my $retVal = system("/usr/sbin/bless", "-mount", "/",''' |
+ | |
+ | '''"-firmware", $FirmwareDirectory . "ThorUtil.efi",''' |
+ | |
+ | '''"-payload", $FirmwareDirectory ."MBP-22-01.bin",''' |
+ | |
+ | '''"-payload", $FirmwareDirectory ."HPM-em-00020007.bin",''' |
+ | |
+ | '''"-options", "-o -ee -f efi-apple-payload0-data -em efi-apple-payload1-data");''' |
+ | |
+ | This is the bless command which will start the Firmware installer during the next boot. You just have to adapt it to create the terminal command which match with your system and which can be found below: |
+ | |
+ | ``sudo bless -mount / -firmware /System/Library/CoreServices/Firmware\ Updates/MacBookProTBUpdate10/ThorUtil.efi -payload /System/Library/CoreServices/Firmware\ Updates/MacBookProTBUpdate10/MBP-22-01.bin -payload /System/Library/CoreServices/Firmware\ Updates/MacBookProTBUpdate10/HPM-em-00020007.bin -options "-o -ee -f efi-apple-payload0-data -em efi-apple-payload1-data"`` |
+ | |
+ | I admit that I was a bit anxious when I restarted the Mac, but I quickly saw the famous Firmware update bar progressing and then the Mac restarted and there I plugged in the Thunderbolt DDE which was recognised without any concern. |
+ | |
+ | And now here's the Thunderbolt info: |
+ | |
+ | Bus Thunderbolt : |
+ | |
+ | Vendor ID: : Apple Inc. |
+ | |
+ | Nom du périphérique : MacBook Pro |
+ | |
+ | UID : 0x0001000A156383E0 |
+ | |
+ | Logical Unit: 0 |
+ | |
+ | '''Version du programme interne : 22,1''' |
+ | |
+ | UUID du domaine : B6969003-5485-245E-8FED-2538703498FC |
+ | |
+ | Port : |
+ | |
+ | État : Aucun périphérique connecté |
+ | |
+ | État du lien : 0x101 |
+ | |
+ | Vitesse : Jusqu’à 10 Gbit/s x2 |
+ | |
+ | Réceptacle : 1 |
+ | |
+ | '''Version du programme interne de Port Micro : 2.0.7''' |
+ | |
+ | to compare with the old ones. |
+ | |
+ | Bus Thunderbolt : |
+ | |
+ | Vendor ID:: Apple Inc. |
+ | |
+ | Nom du périphérique : MacBook Pro |
+ | |
+ | UID : 0x0001000A156383E0 |
+ | |
+ | Logical Unit: 0 |
+ | |
+ | '''Version du programme interne : d.0''' |
+ | |
+ | UUID du domaine : B6969003-5485-245E-8FED-2538703498FC |
+ | |
+ | Port : |
+ | |
+ | État : Aucun périphérique connecté |
+ | |
+ | État du lien : 0x101 |
+ | |
+ | Vitesse : Jusqu’à 10 Gbit/s x2 |
+ | |
+ | Réceptacle : 1 |
+ | |
+ | '''Version du programme interne de Port Micro : 1.2.1''' |
+ | |
+ | End of the adventure, thank you for staying all along this journey. : D |
+ | |
+ | '''Many many thanks to my friend Dominique for the translation in English.''' |
+ | |
+ | You can find the French version here : https://forum.macbidouille.com/index.php?showtopic=419342&hl= |
+ | |
+ | Bye |
crwdns2915684:0crwdne2915684:0:
open
crwdns2934241:0crwdne2934241:0 Jean JD
crwdns2934249:0crwdne2934249:0:
Hello Wolfgang. Thirst thing : thank you very much. I’ve install Sierra and the response of Firmware Thunderbolt 1.0 is the same : “This update is not necessary for the Thunderbolt port of your computer” I think it’s dead for my computer. It’s too bad . Have a good day. John.
crwdns2915684:0crwdne2915684:0:
open