これは エンジニアと愉快な仲間たち Advent Calendar 2023 の 14日目の記事です。
いきなりですが、みなさん、SDカードは使っていますか?
うん、そうだね、プロテインだね。
…という冗談はさておき、SDカードってありとあらゆるメーカーの製品がありますよね。
ゲーム会社が販売しているもの、家電メーカーが販売しているもの、聞いたことのないメーカーのもの、メーカーすら書いていないもの……。
それらをしっかり調べてみようと思ったこと、ありませんか?
…え?調べたことあるって?
でもそれってきっと、読み書きの速度(CrystalDiskMark)とか、全領域の書き込みテスト(H2testw)とか、そういうやつじゃないでしょうか?
今回の内容は違うんです。SDカードの”メモリー部分”ではなく、”コントローラー部分”に記録されている情報…いわゆる”メタ情報”と呼ばれる箇所がターゲットです。
それを(それなりに)簡単な手順で調べてみようというのが今回の記事です。
先に、今回使うものをご紹介しておきます。
- Raspberry Pi 4 (別売ヒートシンク付き)
- SDカードサイズ変更アダプタ
- USB SSD
の3つです。
タイトルにもあるように、今回はRaspberry Piを使います。Raspberry Pi 4です。
どのRaspberry Piでもいいと言いたいところですが、この後の手順でUSBから起動するところがあり、何も小細工せずにUSB起動できるのはRaspberry Pi 4以降とのことなので、おそらくそれ以前のモデルではダメです。
まあでも、みなさんなら床に1つや2つ転がってますよね。
Raspberry PiといえばSDカード起動……ですが、今回はSDカードを調べるためにSDカードスロットを使いたいので、SDカードからは起動させません。
(SDカードスロットを追加する手法もありますが、わりと面倒なので今回は触れません)
先ほども書いたように、Raspberry Pi 4はUSB接続のSSDからの起動に対応しています。USBから起動すればもちろんSDカードは使わないので、SDカードスロットを使えるというわけです。
(初期に近いロットはブートローダーを更新する必要があるらしいです。そのあたりはDuckDuckGo准教授に聞いてみてください)。
SSDから起動する方法ですが、特に難しいことはなく、パソコンにUSB SSDを挿し、みんな大好きRaspberry Pi Imagerで挿したSSDを指定して書き込むだけです。
あとはそのSSDをRaspberry Pi 4に挿して起動するだけで、USB SSDから起動します (SDカードが挿さっているとダメらしいので抜いておく)。
起動したら、インターネットに繋いで sudo apt update と sudo apt upgrade を実行しておき、 sudo apt install mmc-utils で mmc-utils をインストールをすれば準備完了です。
ここまで読んで、「別にわざわざRaspberry Piを使わなくても、そのへんのパソコンにLinuxをインストールしてUSBカードリーダーにSDカードを挿せばいいだけでは?」と思った人もいるかもしれません。
しかし残念ながら、USBのカードリーダーはSDカードを”SDカード”として認識しているわけではなく、カードリーダーに内蔵されているチップが、SDカードをUSBのストレージとして認識するよう変換して認識しています。
そのため、パソコン側からは”メモリー部分”しか見えません。読み取りたいのは”コントローラー部分”なので、それだとダメなのです。
ちなみに、ノートパソコンなどに内蔵されているカードリーダーも、ほぼすべて内部的にUSB変換されているので、同じくダメです。
作業をする前のお約束
この記事の内容は自己責任です。
この記事を参考にして実践したことによってなにかトラブルや故障・破損などが発生した場合でも、当方は責任をとりません。必ず安全に配慮して行い、わからない事があれば中止してください。
壊れてもいいもので実践することを強くお勧めします。
さあ、はじめよう
今回調べるのは、以下のSDカードたちです。
Raspberry Piに通常サイズのSDカードは挿さらないので、先ほどのサイズ変更アダプタを使って無理矢理挿します。
(サイズ変更アダプタはもちろん規格品ではないので、SDカードスロットやSDカードそのものを破損する危険があります。怖い場合は使わないことをお勧めします。)
そして、使うコマンドは以下の3種類です。
1 2 3 |
mmc cid read /sys/block/mmcblk0/device mmc csd read /sys/block/mmcblk0/device mmc scr read /sys/block/mmcblk0/device |
ポイントは cid 、 csd 、 scr の部分ですね。それぞれについて説明しておくと…
cid – Card IDentification
SDカード固有の情報が入っている領域。製造元とかシリアルナンバーとかが保存されています。
本来ならば正しい情報が入っているはずなのですが、どういうことか(部分的に)適当に設定されているSDカードがあるようで、悩むところです。
csd – Card Specific Data
記憶容量などの情報が入っている領域。クラスタ数とかブロック数とかが記録されているらしい。
おそらくコピー品や模造品でたまにある容量詐称品は、この領域に嘘情報が書き込まれているものと思われます。
scr – SD CARD Configuration Register
SDカードのスペックやバージョン、暗号化の有無などが記録されている領域。ちなみに、「SDカード」の”SD”とは”Secure Digital”の略でしたが、暗号化非対応の規格が後に誕生したため、今では何の略でもなくただの”SD”らしいです。一昔前は暗号化非対応の場合は偽物と断定できたんですが、今はそうもいかないらしい…。
さてさて、それでは調べていきましょう!
っとその前に、これから貼る結果の見方を書いておきます。
空行区切りで3つのフィールドに分かれています。上から順にCID、CSD、SCRの順に並べています。
まずはCIDから。
- type: デバイスのタイプ。mmc-utilsなので、MMC(マルチメディアカード)(eMMCを含む)とSDカードに対応しているためで、今回はSDカードしか調べていないので、固定で”SD”です。
- manufacturer: 製造元。手前側がmmc-utilsに載っている製造元情報(MID)で、後ろ側がOEM IDの値です。
- product: 内部的な製品名。といってもOEMが当たり前の世界なので、適当にセットされているケースが多いようです。
- serial: シリアルナンバー
- manufacturing date: 製造年月
つぎにCSDです。
- type: 同上
- card classes: よくわからない。カードの特性を表すものかな?
- capacity: 使用可能な容量 (実際のメモリー容量ではなく、コントローラー側が持っている容量の情報です。容量詐称カードはここを偽装してる?)
最後にSCRです。
- type: 同上
- version: SDカードのバージョン。今のところ4まであるらしい
- bus widths: バス幅。ネタバレしますが全部同じなので、固定なのかもしれません。
うん、簡単ですね!
ちなみにmanufactureが”Unlisted”になるものは、mmc-utilsにデータのないメーカーというだけで、「ここに載っていないから偽物だ」と断定することはできません。
全メーカーのデータが載っていてほしいんですが、SDアソシエーションがメーカーの一覧を公開していないので、有志がデータを持ち寄って手探りでデータを集めているそうです。
おことわり
本記事で読み取るデータは、必ずしも正しいとは限りません。
これは、メーカーによってはチップなどを移植するなどして”貼り替え”を行うことがあるからです。
ちゃんとしたメーカーのちゃんとした製品を買う分には問題ないとは思いますが、ノーブランド品なんかは特にお気をつけください。
➀ Vodafone 8MB (SD)
たしかVodafone (日本) で発売されていた東芝のガラケーを買ったらおまけで付いてきたSDカードだった気がします。
8″メガバイト“ですからね。”ギガ”でも”テラ”でもないですよ。
Panasonic製ですね。20年前製造…。
かなり初期だからか、バージョン1.0/1.1です。化石ですね…
② PQI 128MB (SD)
日本で安価なmp3プレイヤーが流行し始めた頃に購入したSDカード。
これも”メガバイト“ですからね。
manufacturerがUnlistedになっていますが、別のサイトで公開されているリストと照らし合わせると、「Power Quotient International」であるとわかりました。略してPQIですから、自社製造の製品ですね。
③ Transcend 512MB (SD)
②の2年後くらいに買った気がします。当時の安価なmp3プレイヤーって1GBのSDカードが読めないことがあると聞いて512MBを買ったような覚えがあります。
製造月がinvalidになってますが、たぶんバグじゃないかな…。
自社製造、自社製品のようです。
④ 東芝 2GB (SD)
東芝(現キオクシア)のSDカードです。なにかに付属してたような気がするんですが覚えてません。
これも自社製造・自社製品ですね。
2011年からすでにバージョンが3.0になっているので、10年経ってもバージョンはあまり進化していないようです。
⑤ PQI Air Card (SD)
Wi-Fiで中のデータを転送できるという画期的な製品です。SDカードのコントローラーにはCPUがあるとのことなので、こういうことも可能なんですね。
Eye-Fiというカードもありましたが、こちらはそのパクリにあたる製品で、Eye-Fiとは違って内蔵メモリがなく、好きなmicroSDカードを挿すことができます。今回は、⑧のmicroSDカードを挿した上で実験します。
当時使ってた一眼レフの写真をスマホに転送したくて買ったんですよね。相性問題でちっとも安定しませんでしたが……
なにかしらAir Cardを示す数値が出るかと思ったんですが、挿した⑦のSDカードとほぼ同じ数値です。パソコン等からは単純なSDカードに見えていそうな気がします。
⑥ Transcend 1GB (miniSD)
今回唯一のminiSDカード。もっと持ってた気がするんですがどこにいったのか……。
“m”の部分が塗りつぶされているのは、全く同じカードを2枚持っていたので、見分けるために塗りつぶしてました。テプラ貼ると厚くなっちゃうし…。
自社製造の自社製品。特筆すべき所はなさそうです。
⑦ ノーブランド 2GB (microSD)
中古で買ったポータブルナビに刺さっていたもの。メーカーの記載も無く、まあまあ不審な感じです。昔ってこういうどこのメーカーかわからないSDカードってよくありましたよね。
ノーブランドでしたが、中身はSanDiskでした。たぶん当たりの部類ですね。
書いてあることが本当なら、ですが。
⑧ 東芝 4GB (microSDHC)
⑦と同じくらいの時期にゲーム機で使っていたものです。たしか変換アダプタを介して 威力棒 Wiiで使っていたような……
これも自社製造の自社製品。特筆すべき所はないです。
⑨ 東芝 32GB (microSDHC)
こちらも東芝(現キオクシア)のSDカード。一時期、東芝のカードって安かったですよね。
使い古したスマホをドラレコにするために用意したものです。
これも自社製造の自社製品。特筆すべき所はないです。
⑩ HIDISC 32GB (microSDHC)
一時期話題になった、ダイソーで500円で売られているSDカードのうちのひとつです。スピード等のレビューはネットによく転がっているので、その辺りが気になる人は拾ってみるといいです。
外側はHIDISC (磁気研究所) ですが、中身はDelkin/Phisonのようです。Phisonは大手メーカーのOEMをよくやっていると聞くので、よくわからないメーカーじゃなくて一安心といったところです。
⑪ SmartBuy 64GB (microSDXC)
こちらはダイソーで700円で売られているSDカードです。500円カードに比べてこちらはあまり話題にならなかったような…?
OEM IDは”TI”とのことですが、調べてみてもこれといった情報を見つけられず…。
略称から推測ですが、おそらくTexas Instruments製ですね。半導体よりも電子部品でよく名前を聞く気がします。
⑫ HIDISC 128GB (microSDXC)
2023年秋、トライアルというスーパーセンターで1,000円という破格で販売されていたことで話題になったSDカードです。価格のわりにスピードが速いという噂も…。
調べたけれど東京にはないんですね。神奈川にも1件のみ。埼玉県民でよかったー。
STMicroelectronics製のようです。OEMIDに何も入ってないけどいいのかな……。
同じブランドでも⑩と違うメーカーですね。OEMあるある。
⑬ SanDisk Extreme PRO 128GB (microSDXC)
この中では唯一ブランド名が書かれたSDカードです。スマホに挿して使っていました。Class 10でUHS-IでU3でV30でA2という呪文が書かれていますが、つまりまあそれだけ速度と安定性に自信があるってことですね。
ちゃんとSanDiskの製品。仮に偽物だったとしても、manufacturerはちゃんとしてますね。
⑭ KODAK 128GB (microSDXC)
コダックコダック写真のコダック♪(違
海外通販で安く買ったSDカード。ちゃんと正規品ですよ。日本国内ではあまり見かけない気がします。
ミラーレスのカメラに挿して使ってました。写真と言えばKODAKですもんね。
KODAKは半導体メーカーではないのでOEMのようです。でもmmc-utils的にはUnlisted…。
OEM IDが”SO”なので「SONYでは?」という意見があるようですが真偽は不明。だってSONYのSDカード、Phisonで作ってるケースが多いらしいので。
ちなみに最初に例に出した画面はSONYの子会社が分離したNextorageというブランドのSDカードなのですが、やはりPhisonでしたね…。
⑮ ノーブランド 256GB (microSDXC)
ジャンクで買ったNinten某 Switchに刺さってたもの。今の時代にノーブランドのSDカードってあるんだ…!?ってびっくりした。普通に使えるし大容量なので、今でもそれとは違うSwitchで使っています。
これもUnlisted。OEM IDが”42″……42ってなによ!!略語とかじゃないの!?
というわけで謎。どうしようゲーム機で使うのやめようかな……
…という結果になりました!
さてさて、ここまで読んでみてどうでした?試してみたくなりました?
microSDカードならアダプタ無しで調べられるので、気になるものは調べてみるといいですね。
たまに偽物のSDカードがどうこうという話を聞きますが、みなさんもSecureでDigitalな毎日をお過ごしください。
Amazonなどに出店しているぁゃιぃショップでは偽物が多いらしいので、特にセールの日なんかはお気をつけください……。最低でもAmazon販売、Amazon発送のものを買いましょうね。