Cartão SD não acessível (funciona em um Nokia antigo embora)

5

Antecedentes

Eu tenho dois cartões microSD de 2GB visualmente iguais, ambos rotulados "SD-C02G JAPAN", sob o logotipo "2GB microSD".

Meu problema é que não consigo ler um deles em nenhum dispositivo, exceto um antigo Nokia 5310 "XpressMusic" . O telefone está morrendo, o que significa que é muito difícil de operar (teclas disfuncionais, exibição maluca), mas o fato de que pode ler / escrever o cartão leva-me a acreditar que o cartão não é quebrado (o que quer que isso signifique).

(Eu gostaria de acreditar que o cartão está morto e apenas jogá-lo no lixo, mas então eu teria que viver com perguntas como: por que o velho Nokia ainda poderia lê-lo?)

Eu também devo mencionar que o cartão provavelmente já foi criptografado por alguma tecnologia no telefone Nokia (não é o mesmo máquina, mas outro pedaço do mesmo modelo, que está morto agora como bem.). ("Provavelmente", porque há mais cartas na casa e Eu sei que um deles foi criptografado, e desde todos os outros trabalhos em todos os lugares, presumo que tenha sido esse aqui.

Métodos / Saídas

Agora, outros métodos que eu tentei com os dois cartões (eu vou principalmente descrever o comportamento da "má placa"):

  • (A) dois telefones Android diferentes, ambos informando o cartão não é inserido, portanto, não oferecendo opção para formatar

  • (B) Um PC com o Ubuntu 12.04 LTS (kernel 3.2.0-37-genérico, x86_64) usando um pequeno leitor de cartões microSD do tamanho de uma pen USB da Kingston

  • um laptop com o Debian Wheezy (kernel 3.0.0.1-amd64), usando

    • (C) mesmo modo que (B); lsusb me diz:

      Bus 001 Device 005: ID 14cd:121c Super Top microSD card reader
      
    • (D) um built-in, ou seja, leitor PCI SD (com ajuda de microSD para adaptador SD desde o leitor não tem um slot pequeno o suficiente); lspci me diz:

      15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
      

(A) não me dá nenhuma informação útil, e tanto quanto eu posso ver (B) e (C) se comportam da mesma maneira. Portanto, vou comparar (C) e (D) com o "bom" e o cartão "ruim":

mkdosfs

Com o método (C) e o cartão "ruim", mkdosfs diz /dev/sdb: No medium found . Eu não tentei com o método (D); Eu acho inútil desde o arquivo de dispositivo não existe de todo. E eu não tentei com o "bom" cartão desde que eu não quero perder os dados ...

fdisk

  • Quando a placa "ruim" é montada, (C) sudo fdisk -l /dev/sdb ou (D) sudo fdisk -l /dev/mmcblk0 não retorna nada; no último caso / dev / mmcblk0 não existe.

  • Para o cartão "bom", ambas as saídas são as esperadas, afinal o cartão é montado automaticamente.

kern.log

  • método (C) e o cartão "ruim":

    usb 1-1: new high speed USB device number 7 using ehci_hcd
    usb 1-1: New USB device found, idVendor=14cd, idProduct=121c
    usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=2
    usb 1-1: Product: Mass Storage Device
    usb 1-1: Manufacturer: Generic
    usb 1-1: SerialNumber: 812320090519
    scsi9 : usb-storage 1-1:1.0
    scsi 9:0:0:0: Direct-Access     USB Mass Storage Device        PQ: 0 ANSI: 0 CCS
    sd 9:0:0:0: Attached scsi generic sg2 type 0
    sd 9:0:0:0: [sdb] Attached SCSI removable disk
    
  • método (C) e o cartão "bom":

    usb 1-1: new high speed USB device number 8 using ehci_hcd
    usb 1-1: New USB device found, idVendor=14cd, idProduct=121c
    usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=2
    usb 1-1: Product: Mass Storage Device
    usb 1-1: Manufacturer: Generic
    usb 1-1: SerialNumber: 812320090519
    scsi10 : usb-storage 1-1:1.0
    scsi 10:0:0:0: Direct-Access     USB Mass Storage Device        PQ: 0 ANSI: 0 CCS
    sd 10:0:0:0: Attached scsi generic sg2 type 0
    sd 10:0:0:0: [sdb] 3842048 512-byte logical blocks: (1.96 GB/1.83 GiB)
    sd 10:0:0:0: [sdb] Write Protect is off
    sd 10:0:0:0: [sdb] Mode Sense: 03 00 00 00
    sd 10:0:0:0: [sdb] No Caching mode page present
    sd 10:0:0:0: [sdb] Assuming drive cache: write through
    sd 10:0:0:0: [sdb] No Caching mode page present
    sd 10:0:0:0: [sdb] Assuming drive cache: write through
     sdb:
    sd 10:0:0:0: [sdb] No Caching mode page present
    sd 10:0:0:0: [sdb] Assuming drive cache: write through
    sd 10:0:0:0: [sdb] Attached SCSI removable disk
    FAT-fs (sdb): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
    
  • método (D) e o cartão "ruim":

    mmc0: error -110 whilst initialising SD card
    [...10 secs later...]
    mmc0: Timeout waiting for hardware interrupt.
    sdhci: =========== REGISTER DUMP (mmc0)===========
    sdhci: Sys addr: 0x00000000 | Version:  0x00000400
    sdhci: Blk size: 0x00000000 | Blk cnt:  0x00000000
    sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
    sdhci: Present:  0x01ff0001 | Host ctl: 0x00000001
    sdhci: Power:    0x00000000 | Blk gap:  0x00000000
    sdhci: Wake-up:  0x00000000 | Clock:    0x00000000
    sdhci: Timeout:  0x00000009 | Int stat: 0x00000000
    sdhci: Int enab: 0x00ff00c3 | Sig enab: 0x00ff00c3
    sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
    sdhci: Caps:     0x01e021a1 | Caps_1:   0x00000000
    sdhci: Cmd:      0x00000102 | Max curr: 0x00000040
    sdhci: Host ctl2: 0x00000000
    sdhci: ===========================================
    mmc0: Got command interrupt 0x00030000 even though no command operation was in progress.
    sdhci: =========== REGISTER DUMP (mmc0)===========
    sdhci: Sys addr: 0x00000000 | Version:  0x00000400
    sdhci: Blk size: 0x00000000 | Blk cnt:  0x00000000
    sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
    sdhci: Present:  0x01ff0000 | Host ctl: 0x00000001
    sdhci: Power:    0x00000000 | Blk gap:  0x00000000
    sdhci: Wake-up:  0x00000000 | Clock:    0x00000000
    sdhci: Timeout:  0x00000009 | Int stat: 0x00000000
    sdhci: Int enab: 0x00ff00c3 | Sig enab: 0x00ff00c3
    sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
    sdhci: Caps:     0x01e021a1 | Caps_1:   0x00000000
    sdhci: Cmd:      0x00000102 | Max curr: 0x00000040
    sdhci: Host ctl2: 0x00000000
    sdhci: ===========================================
    

    Isso é repetido 4 vezes (incluindo o atraso de 10 segundos).

  • método (D) e o cartão "bom":

    mmc0: new high speed SD card at address ef87
    mmcblk0: mmc0:ef87 SD02G 1.83 GiB 
     mmcblk0:
    FAT-fs (mmcblk0): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
    

Pergunta

Alguém pode explicar o que está errado com este cartão? Ou pelo menos o que kern.log está aparecendo?

A criptografia pode corromper o cartão? Se sim, porque não posso simplesmente reformate-o? (Eu estou bem em explodir o conteúdo.)

Ou quais outros métodos de depuração você sugeriria?

    
por Alois Mahdal 07.02.2013 / 21:48

2 respostas

3

Resposta curta

O cartão é protegido por senha. (@ Derobert's guess está certo.) E módulos do kernel não fornecem ponteiros úteis para isso.

TL; DR:

Eu suspeitava disso, mas não sabia que era um recurso de hardware específico para SD; Eu pensei que a Nokia simplesmente criptografa a partição que eu seria capaz de resolver por ação como mkdosfs /dev/sdb ou algo assim.

Pena que:

  • parece que esta função não é suportada pelos módulos atuais do Linux (nem mesmo ao ponto de dar um erro útil). Presumivelmente, isso se aplica aos Androids mencionados bem

  • o telefone recusa a formatação do cartão e remove a senha. Você também pode remover a senha, mas você precisa conhecer a antiga, ou formatar a placa, mas não irá remover a senha

Então, talvez outro firmware tenha a opção de apagá-lo completamente, mas essa é outra questão para outro fórum.

Nota de fundo engraçada:

Enquanto eu estava participando da coleta dos dados acima, meu pai (usuário do telefone / cartões, nascido em 45), adotou a abordagem da velha guarda e consertou o telefone "moribundo" limpando-o com um pedaço de pano e etanol!

Esta era de gadgets com dispositivos mágicos e selados: 0 Meu pai: 1 ;-D

O ponto é que agora posso verificar se a senha foi definida (e comparar com a placa "boa"). Quem e como foi, permanecerá um mistério.

    
por 07.02.2013 / 23:57
2

Tenho muita experiência ruim com cartões MicroSD. Eles parecem ser muito sensíveis. Eu tenho alguns que são legíveis em um dispositivo de roteamento Navigon. Mas não no meu leitor de cartões interno Thinkpad X40 (com cartão SD para adaptador microSD).

Eu nunca tentei isso, mas devo limpar os contatos do cartão. Talvez isso ajude. Eu acho que pelo menos um dos contatos tem conexão ruim. O cartão é reconhecido ( [sdb] Attached SCSI removable disk ) pelo menos de uma maneira genérica. Eu suponho que você não tenha mais entradas em /proc/partitions , não é?

Se você pesquisar por mmc error 110 , terá muitas discussões sobre isso. Não foi possível encontrar a solução. Mas talvez você possa pesquisar novamente nessa direção e postar seus resultados aqui.

    
por 07.02.2013 / 22:49