Introducción
Si eres como yo y usas un modelo antiguo de MacBook, es posible que hayas actualizado el SSD de tu equipo. Todo iba de maravilla. He estado usando un MacBook Air 2015 con un SSD NVMe de 1TB y Ventura instalado mediante OpenCore Legacy Patcher; echa un vistazo a este artículo si quieres saber cómo.
Era insuperable, pero de repente las cosas cambiaron.
El problema
Tras unos cuantos meses funcionando sin problemas, el MacBook empezó a sufrir congelaciones y fallos aleatorios. La cosa empeoró tanto que mi equipo se bloqueaba justo después de iniciar sesión. Hice clic en el botón de informe para leer el reporte del fallo, y decía algo así:
panic(cpu 0 caller 0xffffff8016542836): nvme: "3rd party NVMe controller. Loss of MMIOspace. Write. fBuiltIn=1 MODEL=Kingston FW=S5Z42105 CSTS=0xffffffff US[1]=0x0US[0]=0x5a VID=0x1987 DID=0x5012 CRITICAL_WARNING=0x0.\n"@IONVMeController.cpp:6053Al leer ese informe, supe que estaba relacionado con el controlador NVMe.
Buscando una solución
«¿Será la actualización que instalé desde los ajustes del sistema?», me dije. En fin, intenté actualizar y volver a aplicar los parches de OpenCore, para ver si era un problema de los controladores, pero no sirvió de nada. Así que recurrí a Google.
Mucha gente tiene exactamente el mismo problema, y lo común es que todos actualizamos un SSD/M.2 NVMe de terceros en el MacBook. Para hacerlo, usamos un adaptador, preferiblemente Sintech, o usamos un modelo concreto de SSD, etc. Eso es lo que dice la gente, seguimos todo al pie de la letra y aun así nada.
Revisé el foro de soporte de Apple y otros sitios web. Incluso reinstalé mi MacBook usando la recuperación por internet a la configuración de fábrica de Monterey, pero seguía fallando por exactamente la misma razón. Así que puedo concluir que no es un problema de software.
Lo que les funcionó a otros
Actualizar el firmware del SSD
Algunas personas dijeron que lo solucionaron actualizando el firmware del SSD. Eso fue lo que hice. Puedes averiguar tu modelo a partir del informe del fallo; como puedes ver arriba, el modelo que uso es Kingston, con un número de firmware S5Z42105. Encontré la información en el sitio web oficial de Kingston, que indicaba que el firmware más reciente de mi SSD A2000 es S5Z42109.
La parte difícil es que solo ofrecen un instalador para Windows. Tiene sentido, porque no creo que los SSD de terceros estén pensados para instalarse en macOS. Así que, si tu unidad no permite actualizar el controlador desde macOS, para quienes no son expertos en tecnología, lo que puedes hacer es lo siguiente:
- Instalar Windows en tu MacBook, descargar y ejecutar la actualización del controlador dentro de Windows. Después, usa la herramienta de recuperación por internet o un USB de macOS para instalar el disco o la copia de seguridad (Time Machine) que tengas y recuperar tu macOS. Esto consume mucho tiempo porque tienes que descargar e instalar Windows; todo el proceso tarda como mínimo unas horas. Y ni hablar de la recuperación por internet de Apple, que tarda una cantidad absurda de tiempo: piensa en un día entero para completar la recuperación.
- Crear un Linux live arrancable del que prefieras y arrancarlo en modo live. Luego, instálalo usando el comando
nvmecomo se muestra a continuación.
Crédito: encontré las instrucciones en este repositorio de GitHub, un saludo a ese tipo. Pero recuerda: usa solo las instrucciones, no el archivo. Porque tú y yo usamos unidades diferentes de marcas diferentes.
Cuando termines, puedes reiniciar en tu macOS como si nada hubiera pasado. Pero esto requiere saber crear un USB de Linux live arrancable. No es tan difícil, consume menos tiempo y no tienes que borrar tu macOS. Puedes seguir un tutorial como este.
Así que el procedimiento sería:
Crear un USB de Linux live > Arrancar Linux en modo live > Buscar y descargar el controlador más reciente de tu SSD > Seguir las instrucciones anteriores > Apagar, desconectar el USB de Linux > Volver a arrancar en tu macOS.
Abrir el chasis
- Volver a asentar el SSD: un comentarista que encontré dijo que volver a asentar el SSD (desmontarlo físicamente y volver a conectarlo con firmeza) solucionó el problema. Pero tienes que tener ese destornillador raro exclusivo de MacBook para abrir el chasis.
- Limpiar el SSD y la placa base: otro comentarista en el foro de soporte de Apple dijo que había algo gelatinoso cerca de donde está el SSD, y la persona solucionó el fallo simplemente quitándolo.
Comprar un SSD y un adaptador nuevos
Esto es solo el último recurso, ¿quién iba a gastar más tiempo comprando otro SSD solo por este MacBook viejo?
Además, un comentarista dijo que al volver al SSD original el problema se resolvió, pero cuando volvió a poner el SSD nuevo, el problema reapareció.
La gente usaba sus SSD sin problemas, pero después de unos meses o un año nos enfrentamos a este problema. ¿Y si compras uno nuevo y te enfrentas al mismo problema unos meses después?
Lo que arregló el mío
Vale, aquí está la razón por la que estás aquí. Esto vale un millón de dólares.
Lo que descubrí
Después de intentar a fondo todo lo posible sin abrir el chasis —o sea, también intenté simplemente usar Linux, renunciando a macOS, ¡pero maldita sea, Linux también se congelaba igual!— también probé a restablecer el SMC y la NVRAM. Así que sé que es algo relacionado con el hardware.
NO ES UN PROBLEMA DE SOFTWARE, ¡DE VERDAD!
Es bastante controvertido según lo que me dice la gente de internet.
La gente decía que volver a asentar el SSD solucionaba el problema, y algunos volvieron diciendo que el problema reaparecía tras un día de uso. Así que en realidad sí soluciona el problema, pero de forma temporal. Lo que significa que algo se hizo bien, pero no todo.
Así es como:
Apagué el MacBook.
Hice un puño con la mano derecha, sosteniendo el MacBook cerrado boca abajo con la mano izquierda.
Luego, golpeé mi MacBook de manera uniforme por la parte trasera. No como si intentara romperlo, sino con la fuerza justa para arreglarlo, si eres lo bastante listo para saber a qué me refiero.
Lo encendí, y voilà.
Sin fallos durante dos días seguidos.
Arreglé el problema técnico de mi MacBook con el método de la vieja escuela de «darle una palmada al televisor para que se vea mejor la señal».
Me encanta la sabiduría de los mayores.
No estoy loco
Para explicarlo, lo que hice fue simple: algunas conexiones bajo la carcasa del MacBook estaban inestables.
No sé dónde, por qué ni cómo, pero ahí estaban.
Así que para algunas personas era volver a asentar el SSD, mientras que para otras podría deberse a algo gelatinoso o a una miga; no hay forma de saberlo. Y yo tampoco tenía ese destornillador.
Al golpearlo, si hay una miga se moverá; si es un problema menor de conexión, puede que vuelva a su sitio (como un reinicio).
La receta final
Así que, por desesperación, al no tener un destornillador adecuado, pensando que la vibración puede ayudar a deshacerse de pequeños residuos, combinando la vieja sabiduría que llevaba conmigo con una rabia impaciente.
Estoy orgulloso de decir que arreglé este molesto problema del «3rd freaking party NVMe controller», ¡claro que sí! Por fin puedo volver a trabajar.
En ese momento, estaba buscando un MacBook nuevo en mi iPhone justo antes de golpearlo por la parte trasera, y pensé: «Si no ayuda, me compraré uno nuevo. Si funciona, genial».
No tenía nada que perder.
Los comentarios son bienvenidos.
(Si no ves la sección de comentarios, desactiva tu AdBlock y actualiza la página)
Si esto ha solucionado tu problema, por favor deja un mensaje abajo y compártelo.
¡Para que la gente sepa que es legítimo, que realmente funciona!
¡Diviértete golpeando tu MacBook!
Referencia en el foro de Apple:
-
Cualquier cosa en la búsqueda de Google con «3rd party NVMe controller».