MacBook Pro Problème hibernation/mise en veille après changement SSD

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
83 178
25 042
Forêt de Fontainebleau
Je viens de voir le résultat de lecture de la commande default > qui contredit (integer = 1) l'affichage de PlistBuddy (integer = 0).

- passe les commandes de restauration des caches données au message précédent > redémarre une fois > puis passe les 2 commandes de lecture de ton message #119 et poste les résultats => histoire de voir si les violons se sont accordés sur 0. En fonction du résultat => on avisera.​

Note : je me déconnecte maintenant. Je reviendrai aux nouvelles vers les 21H.
 

polonais33

Membre junior
27 Janvier 2021
61
1
37
voila ce que ca donne
Bloc de code:
MacBook-Air-de-Admin:~ admin$ sudo kextcache -system-prelinked-kernel
Password:
Kext with invalid signature (-67054) allowed: <OSKext 0x7f8baabfde40 [0x7fff8d8f7cc0]> { URL = "file:///System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/", ID = "com.apple.driver.X86PlatformPlugin" }
KernelCache ID: 87F1423899452BC04EB06F424B30A348

je peux maintenant redémarrer et voir ce que ca donne ?
 

polonais33

Membre junior
27 Janvier 2021
61
1
37
redémarrage. > puis commandes #119 passées
Bloc de code:
MacBook-Air-de-Admin:~ admin$ sudo /usr/libexec/PlistBuddy -c "print :IOPlatformPowerProfile:DarkWakeServices:DarkWakeBackgroundTasks integer" /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/Mac-E43C1C25D4880AD6.plist
Password:
0
et
Bloc de code:
MacBook-Air-de-Admin:~ admin$ sudo defaults read /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/Mac-937CB26E2E02BB01.plist | head -n 32
Password:
{
    IOPlatformPowerProfile =     {
        AutoPowerOff = 1;
        CPUFloor = 800;
        DarkWakeServices =         {
            DarkWakeBackgroundTasks = 1;
            SleepServices = 7;
            SleepServicesModes =             {
                ModeA =                 {
                    BaseIntervals =                     {
                        AC =                         {
                            BaseSleepInterval = 3600;
                            BaseWakeCapInterval = 86400;
                        };
                        Battery =                         {
                            BaseSleepInterval = 3600;
                            BaseWakeCapInterval = 180;
                        };
                    };
                    BatteryFloor = 0;
                    Expiration = 0;
                };
            };
        };
        Frequencies =         {
            2700 = 0;
            3200 = 1;
        };
        FrequencyVectors =         (
            {length = 7668, bytes = 0x02000000 0d000000 01000000 00000000 ... 00000000 00000000 },
            {length = 7668, bytes = 0x02000000 0d000000 01000000 00000000 ... 00000000 00000000 }
        );
:confused:
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
83 178
25 042
Forêt de Fontainebleau
Tu as redémarré sans ennui = bien. Par contre > je ne saisis pas la raison de cette contradiction des lectures : 0 vs 1. J'aurais tendance à faire davantage confiance à PlistBuddy > mais alors pourquoi default s'obstine-t-il à attester d'une activation ?

- je te propose de faire un test de sommeil du Mac cette nuit > batterie à 100% au départ. Tu n'auras qu'à dire ce qu'il en est demain.​
 

polonais33

Membre junior
27 Janvier 2021
61
1
37
oui carrément on peut faire le test cette nuit. comme ca on serra fixé.

par contre si un jour je veux remettre le SIP il faut que je revienne a l'origine.
quelle commande dois je passé avant de réactiver le SIP ?
jai bien une idée en fonction des commandes precedantes mais je voudrais pas faire de bêtises ...o_O;)
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
83 178
25 042
Forêt de Fontainebleau
Ce serait la séquence de commandes :
Bloc de code:
sudo mount -uw / ; diskutil info /
sudo /usr/libexec/PlistBuddy -c "set :IOPlatformPowerProfile:DarkWakeServices:DarkWakeBackgroundTasks 1" /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/Mac-E43C1C25D4880AD6.plist
sudo touch /System/Library/Extensions
sudo kextcache -system-prelinked-kernel
  • remontage live du volume démarré en lecture et écriture
  • réédition de l'integer à 1
  • restauration du temps d'accès au dossier des Extensions => inductrice d'une restauration des caches de démarrage
  • restauration spécifique du cache de démarrage-Système : prelinkedkernel

Sinon > une alternative serait de supprimer la kext éditée > pour copier à la place la kext native sauvegardée -->
Bloc de code:
sudo mount -uw / ; diskutil info /
sudo rm -rf /System/Library/Extensions/IOPlatformPluginFamily.kext
sudo cp -av /System/Volumes/Data/IOPlatformPluginFamily.kext /System/Volumes/Extensions
sudo touch /System/Library/Extensions
sudo kextcache -system-prelinked-kernel
  • où les commandes de suppression / recopie s'intercalent entre : le remontage en lecture et écriture > et les reconstructions des caches.
Tu pourrais alors passer la commande :
Bloc de code:
csrutil enable
  • dans le terminal de la session de secours => pour réactiver le SIP.
 
Dernière édition:

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
83 178
25 042
Forêt de Fontainebleau
Passe la commande :
Bloc de code:
sudo defaults read /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/Mac-937CB26E2E02BB01.plist | head -n 7
  • qui affiche avec la commande defaults les 7 premières lignes du fichier édité par PlistBuddy

Poste le retour.
 

polonais33

Membre junior
27 Janvier 2021
61
1
37
ce foutu DarkWakeBackgroundTasks est toujours la :p
Bloc de code:
IOPlatformPowerProfile =     {
        AutoPowerOff = 1;
        CPUFloor = 800;
        DarkWakeServices =         {
            DarkWakeBackgroundTasks = 1;
            SleepServices = 7;
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
83 178
25 042
Forêt de Fontainebleau
Je vais te proposer un contre-test : on va copier le fichier sur ton Bureau > éditer l'integer du fichier copié avec PlistBuddy > lire avec les 2 commandes (PlistBuddy & defaults) la valeur résultante. L'idée est de vérifier ce qui se passe avec le fichier extrait du dossier des Extensions > où rien ne dit qu'un service (un daemon) n'interfère pas.

- passe la commande :​
Bloc de code:
sudo cp -av /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/Mac-937CB26E2E02BB01.plist ~/Desktop
  • qui effectue la copie

Vois-tu sur ton Bureau de session => un fichier Mac-937CB26E2E02BB01.plist ?
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
83 178
25 042
Forêt de Fontainebleau
Parfait. Passe la commande :
Bloc de code:
sudo /usr/libexec/PlistBuddy -c "set :IOPlatformPowerProfile:DarkWakeServices:DarkWakeBackgroundTasks 0" ~/Desktop/Mac-937CB26E2E02BB01.plist
  • qui édite avec PlistBuddy l'integer du fichier du Bureau => à 0 (commande muette si elle passe)

Si ça a été le cas > passe derrière les 2 commandes de lecture :
Bloc de code:
sudo /usr/libexec/PlistBuddy -c "print :IOPlatformPowerProfile:DarkWakeServices:DarkWakeBackgroundTasks integer" ~/Desktop/Mac-937CB26E2E02BB01.plist
sudo defaults read ~/Desktop/Mac-937CB26E2E02BB01.plist | head -n 7
  • et poste les retours.
 

polonais33

Membre junior
27 Janvier 2021
61
1
37
Bloc de code:
MacBook-Air-de-Admin:~ admin$ sudo /usr/libexec/PlistBuddy -c "print :IOPlatformPowerProfile:DarkWakeServices:DarkWakeBackgroundTasks integer" ~/Desktop/Mac-937CB26E2E02BB01.plist
0
MacBook-Air-de-Admin:~ admin$ sudo defaults read ~/Desktop/Mac-937CB26E2E02BB01.plist | head -n 7
{
    IOPlatformPowerProfile =     {
        AutoPowerOff = 1;
        CPUFloor = 800;
        DarkWakeServices =         {
            DarkWakeBackgroundTasks = 0;
            SleepServices = 7;
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
83 178
25 042
Forêt de Fontainebleau
Hein ! qu'est-ce que tu en penses ? --> les 2 utilitaires sont d'accord (integer = 0) dès que le fichier est extrait du dossier des Extensions. Il y a manifestement un daemon (le service kextd de surveilance des Extensions peut-être) > qui doit interférer quand le fichier est dans les Extensions.

- voici ce que je te propose : on copie la kext sur le Bureau > on édite l'integer du fichier à 0 > on verrouille la kext copiée par un flag d'immutabilité (on ne peut pas verrouiller un plist élémentaire) > on remplace la kext des Extensions par la kext éditée et verrouillée. Puis on lit la valeur de l'integer avec les 2 commandes dans la kext recopiée dans les Extensions

Qu'est-ce que tu en penses ?
 

polonais33

Membre junior
27 Janvier 2021
61
1
37
je dois me déconnecter et je serais de retour dans l'après midi.
je regarde ta proposition plus prêt et je te dis ca tout a l'heure comme ca je suis dur d’être a 100% sur le mac.
a toute et encore un ENORME MERCI
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
83 178
25 042
Forêt de Fontainebleau
D'accord : à plus tard.

- par-delà la problématique pratique (de court-circuiter les crypto-réveils du Mac pendant l'hibernation) > il y a là une énigme théorique (comment un même fichier peut-il donner lieu à 2 lectures contradictoires dans un espace logique déterminé ?).​
 
  • J’aime
Réactions: izel mor

polonais33

Membre junior
27 Janvier 2021
61
1
37
effectivement je ne comprends pas non plus comment cela est possible.?!?!?

oui je suis carrément partant pour " rentrer plus en profondeur " dans le coeur du problème. var je suis très très curieux !

par contre je souhaiterais quand me pouvoir revenir a 'l'origine afin de pouvoir comparer les differences d'autonomie entre la configuration d'origine et celle qu'on va expérimenter .
c'est bien possible ?

mais je suis curieux de savoir comment on tordre le cou et cette contradiction! :p
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
83 178
25 042
Forêt de Fontainebleau
Passe les commandes :
Bloc de code:
sudo cp -av /System/Library/Extensions/IOPlatformPluginFamily.kext ~/Desktop
sudo defaults read ~/Desktop/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/Mac-937CB26E2E02BB01.plist | head -n 7
  • la 1ère copie l'extension IOPlatformPluginFamily.kext sur ton Bureau
  • la ... utilise directement defaults pour lire l'integer dans le fichier de l'extension copiée du Bureau

Ne poste pas les lignes de copies de l'extension (trop prolixes). Poste seulement le retour de la commande.
 

polonais33

Membre junior
27 Janvier 2021
61
1
37
voila
Bloc de code:
{
    IOPlatformPowerProfile =     {
        AutoPowerOff = 1;
        CPUFloor = 800;
        DarkWakeServices =         {
            DarkWakeBackgroundTasks = 1;
            SleepServices = 7;