maio 06 2011

Problema e Solução: Cartão de memória só é lido quando inserido antes do início do Windows (ou antes de inserir o leitor de cartões)

Este é mais um artigo da série sobre problemas que me fizeram perder horas buscando uma solução, que gosto de registrar para ajudar outras pessoas com o mesmo problema, e também para ajudar eu mesmo caso encontre o problema no futuro e não me lembre mais da solução. E já aconteceu de eu estar procurando uma solução no Google e encontrar um artigo do Skooter Blog, que eu mesmo havia escrito, de um problema que eu nem lembrava mais que já tivera. Se não lembrava nem do problema, obviamente também não lembrava da solução, então o artigo acabou sendo útil.

O problema do artigo de hoje é exatamente este que o título descreve. Ao colocar um cartão de memória (SD) em um leitor de cartões, ele é identificado pelo Windows, mas aparece como se não estivesse formatado, e não é possível fazer a leitura, a não ser que o Windows seja iniciado já com o cartão de memória inserido. O Windows em questão é o Windows 7 de 64 bits, mas é possível que o problema ocorra em outras versões.

Notei este problema pela primeira vez com o leitor de cartão embutido no meu monitor Dell U2410. Até então eu lia cartões SD em um leitor de cartões USB adquirido na DealExtreme, que não apresentava o problema, provavelmente por ser conectado na porta USB já com o cartão inserido na grande maioria dos casos. Com o leitor do monitor Dell, a solução paliativa que encontrei foi desligá-lo e ligá-lo novamente já com o cartão SD inserido, o que reinicia o leitor de cartões e aí a leitura é possível. Tal solução não me agradou, mas quebrou o galho por um certo tempo, enquanto não encontrava tempo para fazer um diagnóstico decente.

Ontem recebi um Leitor de Cartões Interno + Hub USB 2.0 de 4 portas para baia de 3.5″ (da DealExtreme, review em breve). Comprei-o para substituir o meu drive de disquetes de 3.5″, visto que minha nova placa-mãe não tem mais controladora para drives de disquete. Para minha surpresa, ocorreu o mesmo problema que ocorria com o leitor do monitor. A diferença é que o Leitor de Cartões Interno não tem como ser reiniciado sem reiniciar o próprio Windows, visto que a conexão é interna. Assim, a única forma de ler cartões nesse leitor era iniciar o Windows já com o cartão inserido. Remover e reinserir o mesmo cartão (ou outro cartão) levava ao problema do cartão ser identificado como se não estivesse formatado, impossibilitando a leitura.

Dois leitores de cartões completamente diferentes apresentando o mesmo problema me levaram a crer que era algo no Windows. Tentei em vão algumas possíveis soluções, algumas encontradas na rede, dentre elas:

  • Apagar tudo relacionado a USB do gerenciador de dispositivos e deixar o Windows reinstalar tudo. Essa solução não só não resolveu, como quase me deixou com um computador inutilizável visto que o teclado e o mouse também são USB e param de responder ao excluir a controladora USB em que eles estão. Nessas horas é bom ter um velho teclado PS/2 guardado para essas ocasiões, foi ele que me salvou. No futuro esse tipo de solução não poderá mais ser empregada: minha placa-mãe atual ainda preservou uma única porta PS/2 para um teclado ou mouse, mas no futuro portas PS/2 tendem a sumir.
  • Reinstalar o pacote de drivers do chipset da Intel, o que também reinstalaria as controladoras USB 2.0
  • Reinstalar os drivers das controladoras USB 3.0
  • Fazer uma reinstalação do Windows (utilizando a opção de atualização)

Depois de todas essas tentativas frustradas resolvi tentar o que deveria ter feito desde o início, utilizei o utilitário msconfig (Iniciar -> Executar -> msconfig) para fazer uma “inicialização de diagnóstico” que carrega apenas os serviços essenciais e isso resolveu o problema. O passo seguinte foi verificar se o problema seria causado por algum programa da inicialização ou por algum serviço, e descobri que o problema era em algum serviço. A partir daí o jeito foi ir desligando serviço por serviço até encontrar o responsável, e eis que o responsável acabou sendo um serviço chamado “Marvell Storage Management Service”. Não sei se este serviço já estava no meu sistema ainda por causa da placa-mãe antiga, ou se foi algo que instalei com a placa-mãe nova, que também utiliza chips da Marvell para controlar duas portas portas SATA 6Gbps (SATA 3) e duas portas eSATA 6 Gbps. O fato é que desabilitando-o, o problema foi resolvido e não notei nenhum efeito colateral.

Com o serviço desabilitado, posso inserir e remover cartões de memória tanto no Leitor de Cartões Interno quanto no leitor do Dell U2410, que ambos fazem a leitura a qualquer momento, sem qualquer problema.

Em resumo: solucionei o problema desabilitando o serviço chamado “Marvell Storage Management Service”. Não sabe como fazer isso? Painel de Controle -> Ferramentas Administrativas -> Serviços.

Link permanente para este artigo: https://www.skooterblog.com/2011/05/06/problema-e-solucao-cartao-de-memoria-so-e-lido-quando-inserido-antes-do-inicio-do-windows-ou-antes-de-inserir-o-leitor-de-cartoes/

Deixe um comentário

Seja o Primeiro a Comentar!

Notificar sobre
avatar
wpDiscuz