Introdução
Se você é como eu, usando um modelo antigo de MacBook, talvez tenha feito upgrade do SSD da sua máquina. Era tudo maravilhoso. Eu vinha usando um MacBook Air 2015 com SSD NVMe de 1TB e o Ventura instalado via OpenCore Legacy Patcher; confira este artigo se quiser saber como.
Era imbatível, mas de repente as coisas mudaram.
O problema
Depois de alguns bons meses funcionando, o MacBook começou a ter congelamentos e travamentos aleatórios. Ficou tão ruim que minha máquina travava logo após o login. Cliquei no botão de relatório para ler o relatório de falha, e ele dizia algo como:
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:6053Lendo esse relatório, percebi que o problema estava relacionado ao controlador NVMe.
Em busca de uma solução
“Talvez seja a atualização que instalei nas configurações do sistema?”, disse a mim mesmo. Enfim, tentei atualizar e reaplicar os patches do meu OpenCore, para ver se era um problema dos drivers, mas sem sucesso. Então, recorri ao Google.
Várias pessoas têm exatamente o mesmo problema, e o ponto em comum é que todos nós instalamos um SSD NVMe/M.2 de terceiros no MacBook. Para isso, usamos um adaptador, de preferência Sintech, ou usamos um modelo específico de SSD, etc. É o que as pessoas dizem, seguimos tudo à risca e mesmo assim nada.
Verifiquei o fórum de suporte da Apple e também outros sites. Até reinstalei meu MacBook usando a recuperação pela internet para voltar à configuração de fábrica do Monterey, mas ele continuava travando, pelo mesmo motivo exato. Então, posso concluir que não é um problema de software.
O que funcionou para os outros
Atualizar o firmware do SSD
Algumas pessoas disseram que resolveram atualizando o firmware do SSD. Foi o que fiz. Você pode descobrir seu modelo pelo relatório de falha; como dá para ver acima, o modelo que eu uso é Kingston, com o número de firmware S5Z42105. Encontrei no site oficial da Kingston a informação de que o firmware mais recente do meu SSD A2000 é o S5Z42109.
A parte difícil é que eles só fornecem um instalador para Windows. Faz sentido, porque não acho que SSDs de terceiros tenham sido feitos para serem instalados no macOS. Então, se o seu drive não permite atualizar o driver no macOS, para quem não é muito técnico, o que você pode fazer é o seguinte:
- Instalar o Windows no seu MacBook, baixar e executar a atualização do driver dentro do Windows. Depois, usar a ferramenta de recuperação pela internet ou um USB do macOS para instalar o disco ou o backup (Time Machine) que você tem e recuperar seu macOS. Isso consome tempo, porque você precisa baixar e instalar o Windows, e o processo todo leva pelo menos algumas horas. Sem falar que a recuperação pela internet da Apple demora um absurdo, tipo um dia inteiro para concluir a recuperação.
- Criar um Linux live bootable da sua preferência e inicializá-lo em modo live. Depois, instalá-lo usando o comando
nvmecomo no exemplo a seguir.
Créditos: encontrei as instruções neste repositório do GitHub, um agradecimento ao autor. Mas lembre-se: use apenas as instruções, não o arquivo. Porque você e eu usamos drives diferentes, de marcas diferentes.
Quando terminar, você pode reiniciar no seu macOS como se nada tivesse acontecido. Mas isso exige saber criar um USB Linux live bootable. Não é tão difícil, consome menos tempo e você não precisa apagar seu macOS. Você pode seguir um tutorial como este.
Então o procedimento será:
Criar um USB Linux live > Inicializar o Linux em modo live > Encontrar e baixar o driver mais recente do seu SSD > Seguir as instruções acima > Desligar, remover o USB Linux > Reiniciar no seu macOS.
Abrir o chassi
- Reencaixar o SSD — Um comentarista que encontrei disse que reencaixar o SSD (desmontá-lo fisicamente e reconectá-lo com firmeza) resolveu o problema. Mas você precisa ter aquela chave de fenda esquisita exclusiva de MacBook para abrir o chassi.
- Limpar o SSD e a placa-mãe — Outro comentarista no fórum de suporte da Apple disse que havia uma coisa gelatinosa perto de onde fica o SSD, e a pessoa resolveu o travamento apenas removendo aquilo.
Comprar um novo SSD e adaptador
Isso é só o último recurso; quem gastaria mais tempo comprando outro SSD só para este MacBook antigo?
Além disso, um comentarista disse que, ao voltar para o SSD original, o problema foi resolvido, mas quando ele/ela recolocou o novo SSD, o problema reapareceu.
As pessoas estavam usando seus SSDs numa boa, mas depois de alguns meses ou um ano, estamos enfrentando esse problema. E se você comprar um novo e enfrentar o mesmo problema de novo alguns meses depois?
O que corrigiu o meu
OK, aqui está o motivo de você estar aqui. Isso vale um milhão de dólares.
O que eu descobri
Depois de tentar exaustivamente tudo o que era possível sem abrir o chassi — tipo, eu também tentei simplesmente usar Linux, desistindo do macOS, mas caramba, o Linux congelava do mesmo jeito! Também tentei redefinir o SMC e a NVRAM. Então, sei que é algo relacionado ao hardware.
NÃO É SOFTWARE, SÉRIO!
Isso é bem controverso em relação ao que as pessoas na internet me dizem.
As pessoas disseram que reencaixar resolveu o problema, algumas voltaram dizendo que o problema aconteceu depois de um dia de uso. Então, na verdade, isso resolveu o problema, mas temporariamente. O que significa que algo foi feito certo, só não tudo.
Aqui está como:
Desliguei o MacBook.
Fechei a mão direita em punho, segurando o MacBook fechado de cabeça para baixo com a mão esquerda.
Então, dei um soco uniforme na parte de trás do meu MacBook. Não como se estivesse tentando quebrá-lo, mas com a força de quem quer consertá-lo, se você for esperto o suficiente para entender o que quero dizer.
Liguei, e voilà.
Nenhum travamento por dois dias seguidos.
Consertei meu problema técnico no MacBook do jeito antigo de “dar um tapa na TV para melhorar o sinal”.
Adoro a sabedoria dos mais velhos.
Não estou louco
Para explicar, o que fiz foi simples: algumas conexões dentro do MacBook estavam instáveis.
Não sei onde, por que nem como, mas era isso.
Então, para algumas pessoas, era reencaixar o SSD, enquanto para outras, pode ter sido causado por uma geleia ou um farelo, não tem como saber. E eu também não tinha aquela chave de fenda.
Ao bater nele — se houver um farelo, ele vai sair do lugar; se for um problema menor de conexão, ela pode voltar ao lugar (como um reset).
A receita final
Então, por desespero, sem ter a chave de fenda adequada, pensando que a vibração pode ajudar a eliminar pequenos detritos, combinando a velha sabedoria que eu carregava com uma raiva impaciente.
Tenho orgulho de dizer que consertei esse irritante problema do “3rd freaking party NVMe controller”, com certeza! Finalmente posso voltar ao trabalho.
Na época, eu estava procurando um novo MacBook no meu iPhone pouco antes de dar o soco na parte de trás; pensei comigo: “Se não ajudar, compro um novo. Se funcionar, ótimo.”.
Não tinha nada a perder.
Comentários são bem-vindos.
(Se você não vê a seção de comentários, desative o AdBlock e atualize a página)
Se isto resolveu o seu problema, por favor deixe uma mensagem abaixo e compartilhe.
Para que as pessoas saibam que é legítimo, funciona mesmo!
Divirta-se dando socos no seu MacBook!
Referência no fórum da Apple:
-
Qualquer coisa na busca do Google com “3rd party NVMe controller”.