背景
私は「SD-C02G JAPAN」とラベルが付けられており、「2GB microSD」ロゴの下にある同じ形状の2GB microSDカード2枚を持っています。
私の問題は、古いデバイス以外のどのデバイスでもこれらのいずれかを読み取ることができないことです。 ノキア5310「エクスプレスミュージック」。携帯電話が死んでいます。つまり、動作しにくいという意味です(キーが正しく動作せず、ディスプレイがおかしい)。しかし、カードを読んで書くことができるという事実を見ると、カードが破損していないと信じられます(それはどういう意味でも)。 。
(私はこのカードが死んだと信じてゴミ箱に捨てたいのですが、それではなぜ古いNokiaがまだそれを読むことができるのですか?
また、以前はNokia携帯電話の一部の技術を使用してカードが暗号化されている可能性があることにも注意する必要があります(同じデバイスではなく、現在は存在しない同じモデルの他の部分)。 (家にはより多くのカードがあり、そのうちの1つが暗号化されており、他のすべてのカードがあちこちで動作しているため、「おそらく」と仮定します。)
方法/出力
今、私はこれら2つのカードを使って別のことを試しました(主に「悪い」カードの動作について説明します)。
(A)2つの異なるAndroid携帯電話、どちらもグラフィックカードがまったく接続されていないため、フォーマットオプションを提供していません。
(B)小型Kingston USBスティックサイズのmicroSDカードリーダーを使用するUbuntu 12.04 LTS(カーネル3.2.0-37-typ、x86_64)を搭載したコンピュータ
Debian Wheezy (カーネル 3.0.0.1-amd64) を使用するノートブック
(C)(B)と同じ方法は次のとおりです。
Bus 001 Device 005: ID 14cd:121c Super Top microSD card reader
(D)内蔵、つまりPCI SDカードリーダー(カードリーダーに十分なスロットがないためmicroSD-SDアダプターを使用)lspciは次のように述べています。
15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
(A)は私に有用な情報を提供せず、私が知っている限り(B)と(C)は同じように振る舞います。それで、(C)と(D)を「良い」カードと「悪い」カードと比較しました。
mkdosfs
方法(C)と「不良」カードの場合、mkdosfsは次のように言います/dev/sdb: No medium
found
。私は方法(D)を試していません。デバイスファイルが存在しないので意味がないことがわかりました。そして、データを失うと思う「良い」カードを使用しようとしませんでしたが…
ディスクドライブ
「不良」カードが装着されると、(C)
sudo fdisk -l /dev/sdb
または(D)はsudo fdisk -l /dev/mmcblk0
何も返しません。後者の場合、/dev/mmcblk0は存在しません。「良い」カードの場合、カードの自動マウント後に両方の出力が期待どおりになります。
カーネルログ
方法(C)と「不良」カード:
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
方法(C)と「良い」カード:
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!
方法(D)と「悪い」カード:
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: ===========================================
このプロセスを4回繰り返します(10秒の遅延を含む)。
方法(D)と「良い」カード:
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!
質問
このカードに何が問題なのか説明できる人はいますか?それとも、少なくともkern.logが示しているものは何ですか?
暗号化するとカードが破損しますか?それでは、単に再フォーマットすることはできませんか? (爆発内容に同意します。)
それとも他のどのデバッグ方法をお勧めしますか?
ベストアンサー1
短い答え
カードはパスワードで保護されています。 (@derobertの推測は正確です。)そしてカーネルモジュールはそれに役立つポインタを提供しません。
簡単に言うと:
疑わしいですが、これがSD専用ハードウェア機能かどうかはわかりません。私の考えでは、Nokiaがパーティションを暗号化しているようですが、そのように問題を解決できると思いますmkdosfs /dev/sdb
。
とてもひどい:
現在、Linuxモジュールはこの機能を広くサポートしていないようです(有用なエラーを与えるほどではありません)。おそらく、これは前述のようにAndroidにも当てはまります。
電話拒否するカードフォーマットそしてパスワードを削除してください。パスワードを削除できますが、既存のパスワードを知っておく必要があります。またはカードをフォーマットしてもパスワードは削除されません。
したがって、他のファームウェアには完全に消去するオプションがありますが、これは他のフォーラムに関する別の質問です。
興味深い背景の説明:
上記のデータを収集している間、私の祖父(携帯電話/カードユーザー、45年生まれ)が昔の方法で「死んだ」携帯電話を布とエタノールで拭いて問題を解決しました!
魔法で封印されたこのコンピュータ駆動装置年齢: 0 私たちのお父さん: 1 ;-D
要点は、パスワードが設定されていることを確認できることです(そしてそれを「良い」カードと比較することができます)。誰がそうしたのか、どうしたのかは謎のままです。