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

Est-ce que tu as toujours l'extension : IOPlatformPluginFamily.kext sur ton Bureau de session ou pas ?
 
Passe la série de commandes du message #149 :
Bloc de code:
sudo rm -rf /System/Library/Extensions/IOPlatformPluginFamily.kext
sudo cp -av ~/Desktop/IOPlatformPluginFamily.kext /System/Library/Extensions
sudo touch /System/Library/Extensions
sudo kextcache -system-prelinked-kernel
  • la 1ère supprime la kext : IOPlatformPluginFamily.kext dans le dossier des Extensions
  • la copie la kext édité / verrouillée : IOPlatformPluginFamily.kext du Bureau => dans les Extensions
  • la restaure le sceau temporel d'accès sur le dossier des Extensions => pour déclencher la mise-à-jour des caches-Système
  • la met-à-jour spécifiquement le cache de démarrage-Système : prelinkedkernel > chargé par le lanceur boot.efi au démarrage

Quand c'est fait > passe la commande de lecture :
Bloc de code:
sudo defaults read /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/Mac-937CB26E2E02BB01.plist | head -n 7
  • et poste le retour.
 
ah la on est bon
Bloc de code:
{
    IOPlatformPowerProfile =     {
        AutoPowerOff = 1;
        CPUFloor = 800;
        DarkWakeServices =         {
            DarkWakeBackgroundTasks = 0;
            SleepServices = 7;
 
Ah ! enfin .... C'était le remontage du volume-Système lecture seule qui déjouait la manipulation du dossier des Extensions.

- redémarre une fois pour que la kext soit injectée dans le kernel > puis fais le test cette nuit.​
 
Bloc de code:
2021-01-30 23:49:52 +0100 Sleep                   Entering Sleep state due to 'Clamshell Sleep': Using Batt (Charge:100%) 35173 secs
2021-01-31 09:36:05 +0100 Wake                    Wake from Standby [CDNVA] : due to EC.LidOpen/Lid Open Using BATT (Charge:100%)

C'est qui le patron !!! c'est Macomanic!!!!

donc si j'ai bien suivi ont a extrait le Kext pour le mettre sur le bureau, on l'a ensuite modifié, puis verrouillé et enfin réinjecter a sa place; et tout ceci avec le SIP désactiver sinon impossible de modifier le Kext .
j'ai juste prof? ;)
 
  • J’aime
Réactions: lasperule
Ah ! quand même... (à la Fin des fins comme eût dit Aristote). Problème réglé.

- on a quand même pas mal ramé pour cela. La kext éditée et verrouillée de ton Bureau => a été recopiée sans le verrou dans les Extensions après suppression de l'originale. Mais comme la lecture de l'integer par defaults avérait toujours 0 => ça ne valait pas la peine donc de déplacer la kext verrouillée (avec son verrou) dans les Extensions.​
- un truc très bizarre est que dans un autre cas (OS El Capitan) => l'édition directe de la kext correspondant à la plate-forme du Mac via PlistBuddy => donnait en retour 2 lectures concordantes de l'integer = 0 par PlistBuddy et defaults. Pas chez toi > où defaults s'obstinait à ressortir un 1 contre le 0 de PlistBuddy. Le même coup est intervenu avec la kext copiée sur le Bureau > éditée en tant que kext. C'est seulement le fichier extrait isolément sur le Bureau qui était édité avec un retour concordant (= 0). On l'a donc copié en remplacement du fichier original dans la kext du Bureau > et celle-ci a été recopiée dans les Extensions. Je ne saisis pas la raison de ce paradoxe. Pourquoi ne pas utiliser defaults alors au lieu de PlistBuddy pour l'édition ? Réponse simple : defaults est une version sommaire de PlistBuddy > incapable dans ton cas de figure d'éditer l'integer d'une sous-clé de clé d'un domaine de préférences de fichier plist.​
- pourquoi dans un OS comme Catalina l'argument tcpkeepalive est-il absent de la commande pmset (présent avec Mojave > absent avec El Capitan) ? - je ne conçois pas ces éclipses désinvoltes qui obligent à des éditions de plist assez laborieuses.​
- à la 1ère MÀJ de ton OS > la kext modifiée dans les Extensions sera remise au défaut. Mais on connaît la musique (et tu connais la musique) : si tu gardes bien sur ton Bureau la kext verrouillée > appliquer le tableau des commandes du message #165 remettra une copie de la kext du Bureau => dans les Extensions avant reconstruction des caches de démarrage.​
 
  • J’aime
Réactions: lasperule
yes, sacrée aventure pour moi qui n'avait, jusqu'a present, que très rarement touché au terminal.
En tout cas merci pour tout; pour la resolution du problème ainsi que pour m'avoir transmis une partie de tes connaissances avec une pédagogie au top! :up:
Du coup comme j'ai compris ce que j'ai fais je pourrais refaire la manip. ;)

Par contre petites questions:
  • l'or de la mise a jour, le Kext remonte en version origine et le SIP se reverouille ?
  • si je veux faire des tests de comparaison de consommation d' énergie en veille avec le Kext d'origine
je fais toujours ce qui est inscrit ici #126
- tu me confirmes que on ne doit surtout pas réactiver le SIP si on a modifier le Kext d'origine, sinon crash au démarrage si j'ai bien compris?
- est ce que le fait d'annuler ces Krypto-reveils prévient d'une usure inutile du ssd en sommeil ? c'est bénéfique pour le disque donc .
 
Dernière édition:
Si tu veux te poiler un coup > jette un œil à ce fil "concurrent" du tien : ☞MacBook Pro qui se décharge en veille☜ (message #551) l'option tcpkeepalive est présente pour le pmset de Big Sur !

----------

Aucune mise-à-jour d'OS ne peut réactiver le SIP si tu l'as désactivé. Et finalement : la désactivation du SIP ne fait que faire revenir à cette ère de liberté des anciennes version d'OS X > quand un délire de sécurité ne faisait pas encore dériver les versions récentes de macOS dans des multiplications risibles de volumes logiques.

----------

La kext d'origine se trouve copiée actuellement dans l'espace-racine du volume-Données > monté à la localisation : /System/Volumes/Data (identique au volume-Données en conditions de démarrage) du volume-Système démarré. Donc voici comment tu peux remplacer la kext éditée par le kext originale dans les Extensions :
Bloc de code:
sudo rm -rf /System/Library/Extensions/IOPlatformPluginFamily.kext
sudo cp -av /System/Volumes/Data/IOPlatformPluginFamily.kext /System/Library/Extensions
sudo touch /System/Library/Extensions
sudo kextcache -system-prelinked-kernel
  • suppression de la kext des Extensions > copie de l'originale du volume-Données > reconstruction des caches.

Et si tu veux remettre la kext éditée dans les Extensions :
Bloc de code:
sudo rm -rf /System/Library/Extensions/IOPlatformPluginFamily.kext
sudo cp -av ~/Desktop/IOPlatformPluginFamily.kext /System/Library/Extensions
sudo touch /System/Library/Extensions
sudo kextcache -system-prelinked-kernel
  • suppression de la kext des Extensions > copie de la kext éditée du Bureau > reconstruction des caches

Redémarrage obligatoire ensuite > pour que la kext (originale ou éditée) soit injectée dans le kernel. Car au démarrage > l'EFI (programme interne de boot du Mac résidant dans une puce de la carte-mère) > lit la NVRAM pour charger ses instructions (actuellement : pas de SIP) > exécute l'application lanceuse boot.efi > lequel adresse le cache de démarrage-Système : prelinkedkernel contenant un clone du code de kernel + le tableau des extensions à injecter en bloc. Donc le boot.efi charge en RAM le kernel sous forme de processus kernel_task > et injecte le bloc validé de extensions au kernel_task. Cela fait > le kernel monte en kernel le volume de démarrage comme / (point de montage en RAM) > adresse les ressources de ce volume pour charger le Système BSD > puis passe la main au processus launchd (le processus parent des processus extra_kernel ou Serveur des services) => lequel initialise l'OS.

----------

Je ne ferais pas confiance au SIP (dont le domaine d'intervention de cesse de s'étendre d'une version de macOS à l'autre en mode clandestin = absolument plus documenté par Apple) => pour laisser passer une extension Apple modifiée sans planter le démarrage du Mac. Donc laisse-le désactivé.

L'usure du SSD : tu t'en fous carrément. Tu auras remplacé ton Mac avant que les cellules du SSD soient HS.
 
Dernière édition par un modérateur:
tada !

c'est revenu.... comment est ce possible ? j'ai verifier le DarkWakeBackgroundTasks = 0
ce matin surprise ... je comprends plus
Bloc de code:
2021-02-01 00:02:51 +0100 Sleep                   Entering Sleep state due to 'Clamshell Sleep': Using Batt (Charge:80%) 6196 secs
2021-02-01 01:46:07 +0100 Wake                    Wake from Standby [CDNVA] : due to RTC/Alarm Using BATT (Charge:80%) 30 secs   
2021-02-01 01:46:37 +0100 Sleep                   Entering Sleep state due to 'Clamshell Sleep': Using Batt (Charge:80%) 4562 secs
2021-02-01 03:02:39 +0100 DarkWake                DarkWake from Standby [CDN] : due to RTC/Maintenance Using BATT (Charge:80%) 5 secs   
2021-02-01 03:02:44 +0100 Sleep                   Entering Sleep state due to 'Maintenance Sleep': Using Batt (Charge:80%) 897 secs 
2021-02-01 03:17:41 +0100 DarkWake                DarkWake from Standby [CDN] : due to RTC/Maintenance Using BATT (Charge:80%) 5 secs   
2021-02-01 03:17:46 +0100 Sleep                   Entering Sleep state due to 'Maintenance Sleep': Using Batt (Charge:80%) 897 secs 
2021-02-01 03:32:43 +0100 DarkWake                DarkWake from Standby [CDN] : due to RTC/Maintenance Using BATT (Charge:80%) 5 secs
 
Est-ce que tu as des appareils externes branchés en filaire (DDE > hub) > ou en bluetoooth (clavier) ?
 
Je pensais que la RTC/Maintenance dépendait d'une connexion à internet pendant le sommeil.

- mais si elle se lance malgré cette connexion coupée (par notre édition du fichier de préférences de l'extension de ta plate-forme) => je ne vois pas comment intervenir encore.​
 
De toutes façon en « connection » a proprement dit il peut y avoir le wifi (internet) ou le Bluetooth?
Je peux essayé en mettant en off le Bluetooth et voir ce que cela donne
 
En effet : va à Menu  > Préférences Système > Bluetooth. Si tu n'utilises aucun appareil Bluetooth > tu peux presser le bouton : "Désactiver Bluetooth". Mais aussi presser le bouton "Avancé" > et décocher la case de l'option cachée : "Autoriser les appareils Bluetooth à réactiver l'ordinateur".

- tu n'auras qu'à dire si ça porte effet à l'issue du sommeil de la nuit prochaine.​

Question : tu n'as pas de port USB qui serait abîmé (même sans aucun appareil USB branché) ?