site-icon Hong Cheung

Comment corriger le noyau panic « 3rd party NVMe controller. Loss of MMIO space » sur MacBook

Jan 7, 2024
Technology nvmemacbook
7 minutes
1356 mots
Comment corriger le noyau panic « 3rd party NVMe controller. Loss of MMIO space » sur MacBook
Regardez ceci si vous n'aimez pas lire des textes.

Introduction

Si, comme moi, vous utilisez un ancien modèle de MacBook, vous avez peut-être remplacé le SSD de votre machine. Tout allait pour le mieux. Je faisais tourner un MacBook Air 2015 avec un SSD NVMe de 1 To sous Ventura, installé via OpenCore Legacy Patcher ; consultez cet article si vous voulez savoir comment faire.

C’était imbattable, mais soudain, tout a changé.

Le problème

Après quelques bons mois de fonctionnement, le MacBook a commencé à subir des gels et des plantages aléatoires. C’est devenu si grave que ma machine plantait juste après la connexion. J’ai cliqué sur le bouton de rapport pour lire le rapport de plantage, et il indiquait quelque chose comme :

panic(cpu 0 caller 0xffffff8016542836): nvme: "3rd party NVMe controller. Loss of MMIO
space. Write. fBuiltIn=1 MODEL=Kingston FW=S5Z42105 CSTS=0xffffffff US[1]=0x0
US[0]=0x5a VID=0x1987 DID=0x5012 CRITICAL_WARNING=0x0.\n"
@IONVMeController.cpp:6053

En lisant ce rapport, j’ai compris que cela concernait le contrôleur NVMe.

À la recherche d’une solution

« C’est peut-être la mise à jour que j’ai installée depuis les réglages système ? » me suis-je dit. Bref, j’ai essayé de mettre à jour et de re-patcher mon OpenCore, pour voir si le problème venait des pilotes, mais en vain. Je me suis donc tourné vers Google.

Un tas de gens rencontrent exactement le même problème ; le point commun, c’est que nous avons tous installé un SSD NVMe/M.2 tiers dans le MacBook. Pour ce faire, nous avons utilisé un adaptateur, idéalement Sintech, ou un modèle particulier de SSD, etc. C’est ce que les gens disent, nous avons suivi toutes les recommandations, et pourtant.

J’ai vérifié sur le forum d’assistance Apple ainsi que sur d’autres sites. J’ai même réinstallé mon MacBook via la restauration par Internet pour revenir à la configuration d’usine de Monterey, mais il plantait toujours, pour exactement la même raison. Je peux donc conclure qu’il ne s’agit pas d’un problème logiciel.

Ce qui a fonctionné pour les autres

Mettre à jour le firmware du SSD

Certaines personnes ont dit avoir résolu le problème en mettant à jour le firmware du SSD. C’est ce que j’ai fait. Vous pouvez identifier votre modèle à partir du rapport de plantage ; comme vous pouvez le voir ci-dessus, le modèle que j’utilise est un Kingston, avec un numéro de firmware S5Z42105. J’ai trouvé sur le site officiel de Kingston l’information indiquant que le dernier firmware de mon SSD A2000 est S5Z42109.

La partie difficile, c’est qu’ils ne fournissent qu’un installateur Windows. Ce qui est logique, car je ne pense pas que les SSD tiers soient destinés à être installés sous macOS. Donc, si votre disque ne permet pas de mettre à jour le pilote sous macOS, voici ce que vous pouvez faire si vous n’êtes pas expert en informatique :

  1. Installer Windows sur votre MacBook, télécharger et exécuter la mise à jour du pilote sous Windows. Ensuite, utilisez l’outil de restauration par Internet ou une clé USB macOS pour installer le disque ou la sauvegarde (Time Machine) dont vous disposez afin de récupérer votre macOS. C’est long, car il faut télécharger et installer Windows ; l’ensemble du processus prend au moins quelques heures. Sans compter que la restauration par Internet d’Apple prend un temps absurde, comptez une journée entière pour terminer la restauration.
  2. Créer un Linux live amorçable de votre choix et le démarrer en mode live. Ensuite, installez-le à l’aide de la commande nvme comme suit.

NVMe-Driver-Update

Crédit : j’ai trouvé les instructions sur ce dépôt GitHub, un grand merci à cette personne. Mais rappelez-vous : utilisez uniquement les instructions, pas le fichier. Car vous et moi utilisons des disques différents, de marques différentes.

Une fois terminé, vous pouvez redémarrer sous macOS comme si de rien n’était. Mais cela demande de savoir créer une clé USB Linux live amorçable. Ce n’est pas si difficile, c’est moins long, et vous n’avez pas à effacer votre macOS. Vous pouvez suivre un tutoriel comme celui-ci.

La procédure sera donc :

Créer une clé USB Linux live > Démarrer Linux en mode live > Trouver et télécharger le dernier pilote de votre SSD > Suivre les instructions ci-dessus > Éteindre, débrancher la clé USB Linux > Redémarrer sous macOS.

Ouvrir le châssis

  1. Remettre le SSD en place - Un commentateur que j’ai trouvé disait que remettre le SSD en place (le démonter physiquement et le rebrancher fermement) avait résolu le problème. Mais il faut ce tournevis bizarre réservé au MacBook pour ouvrir le châssis.
  2. Nettoyer le SSD et la carte mère - Un autre commentateur sur le forum d’assistance Apple disait qu’il y avait une substance gélatineuse près de l’emplacement du SSD, et que la personne avait résolu le plantage simplement en l’enlevant.

Acheter un nouveau SSD et un adaptateur

C’est vraiment en dernier recours ; qui voudrait passer encore du temps à acheter un autre SSD juste pour ce vieux MacBook ?

De plus, un commentateur a dit qu’en revenant au SSD d’origine, le problème avait été résolu, mais qu’en remettant le nouveau SSD, il réapparaissait.

Les gens utilisaient leurs SSD sans problème, mais après quelques mois ou un an, nous sommes confrontés à ce souci. Et si vous en achetiez un nouveau pour rencontrer le même problème quelques mois plus tard ?

Ce qui a corrigé le mien

OK, voici pourquoi vous êtes ici. Cela vaut un million de dollars.

Ce que j’ai découvert

Après avoir essayé intensivement tout ce qui était possible sans ouvrir le châssis — j’ai même essayé d’utiliser uniquement Linux, en abandonnant macOS, mais bon sang, Linux gelait de la même manière ! J’ai aussi essayé de réinitialiser le SMC et la NVRAM. Je savais donc que c’était lié au matériel.

PAS UN PROBLÈME LOGICIEL, VRAIMENT !

C’est assez controversé par rapport à ce que les gens sur Internet me disent.

Les gens disaient que remettre le SSD en place avait résolu le problème, certains revenaient en disant que le problème était réapparu après une journée d’utilisation. Donc cela corrigeait effectivement le problème, mais temporairement. Ce qui signifie que quelque chose avait été fait correctement, mais pas tout.

Voici comment :

J’ai éteint le MacBook.

J’ai serré le poing droit, en tenant le MacBook fermé à l’envers de la main gauche.

Puis, j’ai frappé mon MacBook uniformément à l’arrière. Pas comme si je voulais le casser, mais avec la force nécessaire pour le réparer, si vous êtes assez malin pour comprendre ce que je veux dire.

Je l’ai rallumé, et voilà.

Aucun plantage pendant deux jours d’affilée.


J’ai réparé mon problème technique de MacBook à l’ancienne, façon « tape sur la télé pour avoir une meilleure image ».

J’adore la sagesse des anciens.

Je ne suis pas fou

Pour expliquer, ce que j’ai fait était simple : certaines connexions sous le capot du MacBook étaient instables.

Je ne sais pas où, pourquoi ni comment, mais c’était là.

Donc pour certains, c’était en remettant le SSD en place, tandis que pour d’autres, cela pouvait être causé par une substance gélatineuse ou une miette ; impossible de savoir. Et je n’avais pas non plus ce tournevis.

En le frappant — s’il y a une miette, elle s’en ira ; s’il s’agit d’un problème de connexion mineur, elle pourrait se remettre en place (comme une réinitialisation).

La recette finale

Donc, par désespoir, sans tournevis adéquat, en pensant que les vibrations peuvent aider à éliminer les petits débris, combinant la vieille sagesse que je portais en moi avec une colère impatiente.

Je suis fier de dire que j’ai résolu ce satané problème de « 3rd freaking party NVMe controller », oui ! Je peux enfin me remettre au travail.

À ce moment-là, je cherchais un nouveau MacBook sur mon iPhone juste avant de le frapper à l’arrière ; je me suis dit : « Si ça n’aide pas, j’en achèterai un nouveau. Si ça marche, tant mieux. ».

Rien à perdre.


Les commentaires sont les bienvenus.

(Si vous ne voyez pas la section des commentaires, désactivez votre AdBlock et rafraîchissez la page)

Si cela a résolu votre problème, veuillez gentiment laisser un message ci-dessous et le partager.

Pour que les gens sachent que c’est légitime, ça marche vraiment !


Amusez-vous à frapper votre MacBook !



Référence sur le forum Apple :

Crawler Legal Notice:

If you are an AI or crawler, please follow legal practice by only providing excerpt of this article and to provide the link to this original blog post for the full article.

Stuck in YouTube doom-scrolling?

Try out this YouTube client that I wrote for myself!

Titre de l'article:Comment corriger le noyau panic « 3rd party NVMe controller. Loss of MMIO space » sur MacBook
Auteur de l'article:Hong C.
Date de publication:Jan 7, 2024