IPB

Bienvenue invité ( Connexion | Inscription )

> Firmware Thunderbolt sur MBP 13" début 2011 [Résolu], Comment forcer la mise à jour du Firmware Thunderbolt
Options
jeanjd63
posté 1 Jan 2021, 23:31
Message #1


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 11 698
Inscrit : 15 Nov 2007
Lieu : Auvergne-Rhône-Alpe.
Membre no 99 922



Bonjour à toutes et tous.
Et meilleurs vœux. smile.gif

J'ai récupéré cet été un MacbookPro 13" début 2011 HS et l'ai fait réparé.
Doté de 16 Go de Ram et d'un SSD, c'est (presque) un petit bolide.

Bref, ayant un DDE Lacie Thunderbolt dans lequel j'ai installé un SSD, j'ai tout de suite vu l'intérêt de son utilisation sur le MBP qui n'a que des connecteurs USB2. Malheureusement lorsque je l'ai connecté sur le MBP ..... rien.
Petite recherche sur le net et je suis rapidement tombé là-dessus : https://fr.ifixit.com/Réponses/Afficher/48...rking+correctly!

Super me dis-je et je télécharge le firmware "MÀJ du programme interne Thunderbolt v1.0" qui se cache ici : https://support.apple.com/kb/DL1407?locale=...iewlocale=fr_FR

Mais, lorsque je l'exécute la réponse est : “Cette mise à jour n'est pas nécessaire pour le port Thunderbolt de votre ordinateur.”

Alors que les infos Thunderbolt dans le rapport système montrent bien que j'ai l'ancienne version qui pose problème d'utilisation d'un disque Thunderbolt :

Citation
Bus Thunderbolt :

Nom du fournisseur : Apple Inc.
Nom du périphérique : MacBook Pro
UID : 0x0001000A156383E0
Chaîne de routage : 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


À l'époque mon MBP était sous High Sierra (depuis je l'ai passé sous Catalina "Patch Dosdude1"). En suivant les différents conseil du lien "iFixit" ci-dessus, j'ai installé sur ce Mac tous les systèmes depuis Snow Leopard jusqu'à High Sierra et à chaque fois les tentatives de mise à jour du Firmware se sont soldées par la même réponse :
“Cette mise à jour n'est pas nécessaire pour le port Thunderbolt de votre ordinateur.”

J'en ai conclu que ce Firmware avait été "loupé" par le précédent propriétaire et que la version actuelle du Firmware n'acceptait plus cette maj particulière qui était considérée comme obsolète.

Dommage.

Il faut dire que j'avais "tripoté" le pkg d'installation sans trouver grand chose et je m'étais fait une raison.

Dernièrement j'ai potassé un peu le cas des utilisateurs qui n'ont qu'un Mac, et ont effacé leur disque sans avoir au préalable créé une clé d'installation, et ils sont nombreux smile.gif

Cela pose un problème, car parfois, même en démarrant en mode Recovery Internet il est impossible de récupérer Mac Os X (Pas D'apple ID ou autre).
Par contre il est simple depuis une machine Windows ou Linux de récupérer un installateur El Capitan ou Yosemite qui se présentent sous la forme d'un dmg contenant un pkg.
Apple les fournit ici : https://support.apple.com/fr-fr/HT211683

J'ai gratté un peu et trouvé comment depuis le mode Recovery, avec ce dmg on peut créer un média d'installation sans trop d'efforts biggrin.gif
Si certains sont intéressés par la méthode de création d'un support d'installation Mac Os X depuis le mode Recovery, je ferai un petit tuto là dessus.

Et c'est là qu'une loupiote s'est éclairé dans mon cerveau (ça faisait longtemps laugh.gif ) : cette méthode pour un pkg d'installation m'a permit d'explorer le pkg du firmware et de trouver comment éviter les contrôles du système qui empêchaient à tort cette mise à jour.

Voici comment j'ai pu, avec succès forcer l'installation du Firmware Thunderbolt.

excl.gif Attention tout de même : j'étais sûr que ce Firmware était adapté à mon MBP et qu'il n'allait pas tout casser du moins pour cause de matériel incompatible, car il y a un gros risque si on ne sait pas trop ce que l'on fait de transformer le Mac en brique.

Bref voici le déroulé des opérations :

J'ai ouvert l'image ThunderboltFirmwareUpdate.dmg et collé sur le Bureau le paquet ThunderboltFirmwareUpdate.pkg

Ensuite, depuis le terminal, j'ai extrait le contenu du pkg dans un répertoire toujours sur le Bureau

Code
pkgutil --expand ~/Desktop/ThunderboltFirmwareUpdate.pkg ~/Desktop/Firm_Thunderbolt


Ce qui produit la structure suivante dans le répertoire Firm_Thunderbolt sur le Bureau :

Citation
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

Le paquet/répertoire qui m'intéresse ici est ThunderboltFirmwareUpdate.pkg
Les autres sont soit pour l'iMac, soit ne servent pas dans mon cas.

Donc je me positionne dans le répertoire ThunderboltFirmwareUpdate.pkg

Code
cd ~/Desktop/Firm_Thunderbolt/ThunderboltFirmwareUpdate.pkg


Et là voici la structure :

Citation
-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


Et la commande qui change tout :

Code
tar -xvf Payload

Qui décompacte l'archive Payload et renvoie

Citation
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


Et maintenant voici la nouvelle structure du répertoire :

Citation
-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


Un répertoire System avec l'arborescence qui va bien a été créé par la commande tar et contient les bons firmwares.

Il ne reste plus qu'à coller le répertoire MacBookProTBUpdate10 dans la structure existante du Mac : /System/Library/CoreServices/Firmware Updates

Petit problème sur Catalina le système est monté en lecture seule..

Qu'à cela ne tienne :

Il faut déjà désactiver le SIP depuis le terminal du mode Recovery :
Code
csrutil disable


Petit aparté ne pas oublier après l'opération de "flashage", quand tout sera ok, de réactiver le SIP toujours depuis le mode Recovery avec la commande
Code
csrutil enable


Ensuite redémarrer normalement et passer la commande :
Code
sudo mount -rw /


Si on a redémarré le Mac, il convient de se repositionner dans la structure "Firmware" (Merci à ProfesseurBernie pour sa remarque jap.gif) :

Code
cd ~/Desktop/Firm_Thunderbolt/ThunderboltFirmwareUpdate.pkg


puis on colle le répertoire MacBookProTBUpdate10 qui contient le nécessaire pour l'installation du Firmware sur le Système.

Code
sudo cp -a  System/Library/CoreServices/"Firmware Updates"/MacBookProTBUpdate10 /System/Library/CoreServices/"Firmware Updates"


Ensuite il faut aller pécher la commande qui va permettre la mise à jour du Firmware.

Le script flashTBFirmware qui se trouve dans le répertoire Scripts/postinstall_actions/ va nous donner tout cela.
Il faut l'ouvrir avec un éditeur quelconque (textedit par exemple) et voici son contenu :

Code
#!/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 );
}


La partie qui nous intéresse est ici :


Code
# 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");


Il s'agit de la commande bless qui va lors du prochain boot démarrer l'installateur du Firmware.

Il suffit de l'adapter pour créer la commande terminal qui va bien et qui se trouve ci-dessous :


Code
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"



J'avoue que je n'étais pas trop fier lorsque j'ai redémarré le Mac, mais j'ai rapidement vu la barre particulière de la mise à jour Firmware avancer et ensuite le Mac redémarrer et là j'ai branché le DDE Thunderbolt qui a été reconnu sans soucis.

Et voici maintenant les infos Thunderbolt :

Citation
Bus Thunderbolt :

Nom du fournisseur : Apple Inc.
Nom du périphérique : MacBook Pro
UID : 0x0001000A156383E0
Chaîne de routage : 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


à comparer avec les anciennes.

Citation
Bus Thunderbolt :

Nom du fournisseur : Apple Inc.
Nom du périphérique : MacBook Pro
UID : 0x0001000A156383E0
Chaîne de routage : 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


Fin de l'aventure, merci d'être resté jusqu'à l'éclairage de la salle. biggrin.gif

Ce message a été modifié par jeanjd63 - 3 Jan 2021, 18:03.
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
Mac Arthur
posté 2 Jan 2021, 07:41
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 468
Inscrit : 9 Feb 2002
Lieu : Cambodge
Membre no 2 013



La cuvée Jenajd63 2021 n'a plus besoin du fameux:

Code
diskutil list


Là moi je dis tout simplement jap.gif jap.gif jap.gif jap.gif
On va gagner du temps sur le forum biggrin.gif


--------------------
Hackintosh Gigabyte X670 Gaming X AX - Ryzen™ 7 7700X - G-Skill GAMING TRIDEN Z5 RGB DDR5 5600MHz 2*16GB - Gigabyte RX 5700 XT - 2 Lexar NM710 M.2 PCIe 4.0 NVMe 1TB (Win 11 et macOS) SSD Samsung 860 500Go (CCC Sonoma), 2 SATAs 4To Boîtier LIAN LI Lancool 216RX
Hackintosh Asus Z790 ProArt Creator WIFI - Intel™ i9 14900K - G-Skill GAMING TRIDEN Z5 RGB DDR5 6000MHz 4*32GB - Gigabyte RX 6900 XT - 4 SSDs Adata Legend M.2 PCIe 4.0 NVMe 2TB - Boîtier LIAN LI O11 Dynamic EVO

3 Ecrans Mi Xiaomi 34" 3440*1440
Switch 4K KVM CMSTEDCD (3 écrans 2 PC) OpenCore 1.0.4 Sequoia 15.5 (24F74) Sonoma 14.7.6 Ventura 13.7.6 Monterey 12.7.6 Big Sur 11.7.10, Parallels Desktop Leopard Server > Sequoia (Sur Asus 790)
MacbookPro 14" 2021 Sequoia 15.5 Tahoe 26.0 beta 25A5279m - MacBook M3 15" 2024 Sequoia 15.5 - Synology DS1522+ - Raspberry PI 4

Retour d'expérience Installations d'OS X/macOS depuis OS X 10.5 Leopard jusqu'à macOS 12 Monterey

Durex King Size XXL (boites de 12) - Lave Linge LG F1222QD5 - Aspirateur Honiture Q6 Pro - Machine Espresso DeLonghi Magnifica Evo - Réfrigérateur Samsung RT38FFAK

. Macbook Pro early 2015 Power Mac G4, Power Mac G5, iMac 27, MacBook Air 13" Early 2014, , Mac Mini Intel Core 2 Duo Mid 2010 Apple MacBook Pro 2007 Hackintosh Gigabyte Z370 Aorus Ultra Gaming WIFI, Hackintosh Gigabyte Z490 VISION D
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 25th June 2025 - 09:01