SDカードリーダが壊れた

Raspberry PiでLinuxのブート周りをいろいろといじっているうちに、
MicroSDのパーティション情報が認識されなくなりました。
何かの拍子にMicorSDのデータを壊したかなと思い、Raspberry Pi OSのイメージを再度書き直してみるも状況は変わらず。
いくつか調べてみると、USB接続のSDカードリーダに問題があったようでした。

2つSDカードリーダを用意して、同じMicroSDを読んだ結果が以下です。

■ 壊れたSDカードリーダ

 1$ sudo hexdump -C /dev/sdb | head
 200000000  ba b8 00 10 8a 90 b8 00  b0 b8 00 00 8a 98 8a 80  |................|
 300000010  bb ba 00 38 bb 00 02 b9  00 02 b3 a0 aa 21 02 00  |...8.........!..|
 400000020  00 ba ba 03 38 00 31 0b  83 82 10 81 ba ba 03 31  |....8.1........1|
 500000030  b3 ab 12 b0 02 b0 01 bb  00 38 b2 80 8a 30 01 8b  |.........8...0..|
 600000040  08 02 89 13 aa 00 38 00  00 ab ba 00 00 00 00 00  |......8.........|
 700000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
 8*
 9000001b0  00 00 00 00 00 00 00 00  39 a0 91 29 00 00 00 00  |........9..)....|
10000001c0  01 00 08 03 a0 bb 00 20  00 00 00 00 08 00 00 03  |....... ........|
11000001d0  a0 bb 83 3b a0 bb 00 20  08 00 00 20 83 01 00 00  |...;... ... ....|

■ 正常なSDカードリーダ

 1$ sudo hexdump -C /dev/sdc | head
 200000000  fa b8 00 10 8e d0 bc 00  b0 b8 00 00 8e d8 8e c0  |................|
 300000010  fb be 00 7c bf 00 06 b9  00 02 f3 a4 ea 21 06 00  |...|.........!..|
 400000020  00 be be 07 38 04 75 0b  83 c6 10 81 fe fe 07 75  |....8.u........u|
 500000030  f3 eb 16 b4 02 b0 01 bb  00 7c b2 80 8a 74 01 8b  |.........|...t..|
 600000040  4c 02 cd 13 ea 00 7c 00  00 eb fe 00 00 00 00 00  |L.....|.........|
 700000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
 8*
 9000001b0  00 00 00 00 00 00 00 00  3d e4 95 29 00 00 00 00  |........=..)....|
10000001c0  01 40 0c 03 e0 ff 00 20  00 00 00 00 08 00 00 03  |.@..... ........|
11000001d0  e0 ff 83 3f e0 ff 00 20  08 00 00 60 c7 01 00 00  |...?... ...`....|

SDカードのデータ線は4bitなので、4bit単位で化けている部分を探すと以下の規則性です。

10 -> 4
21 -> 5
32 -> 6
459 -> d
6a -> e
7b -> f

つまり、3bit目が化けているので、DATA2の信号線に何らかの問題が出ていると考えられます。
前後のデータに依存性があるわけではなく、ランダムにDATA2がHighになっているようです。

化けるときは常にHighになる方向なので、どこかで短絡している可能性があるのかなとは思います。
MicorSDの端子ではDATA2の近くにVCCは見当たらないので、基板上かコントローラの中で何らかの問題が発生しているのでしょうか。

かなり古いもので、十分役に立ってくれたので、これは捨てようと思います。
再現性の低い問題ではなく、わりとわかりやすい壊れ方してくれたのはありがたいことでした。

Posted at : 2022-02-06 22:13:49 / Category : none