先日100円ショップのダイソーに数カ月ぶりに行ったところ550円で32GのmicroSDとUSBメモリが売られていました.
秋葉原や通信販売であれば著名メーカーの同等以上のものが変える値段ですが,今日必要と行った場合には家電量販店やコンビニエンスストアでもっと高い値段で売られています.(未だにclass 4なんかも売っていたり……)
メーカーは磁気研究所で謎メーカーよりは良さそうだし保証期間も1年あるので普通に使えるようなら急に必要になったときに便利かもとmicroSD を1枚買って少し試してみました.
タグ: microSD
Raspberry Pi が起動しなくて困る(未解決・microSD不良?)
先日AmazonでmicroSD cardを購入しました.Samsung ドライブレコーダー向け microSDカード32GB 正規代理店保証品 MB-MJ32GA/ECというものです.
これにRaspberry Pi向けのイメージを書き込んで起動しようとすると,RaspberryPiでLEDがピカッピカー.って感じで2回光って消えます.そしてSerialには以下のメッセージが表示され起動しません.
Error: invalid dtb and unrecognized/unsupported machine ID r1=0x00000c42, r2=0x00000000 Available machine support: ID (hex) NAME ffffffff Generic DT based system ffffffff BCM2835 Please check your kernel config and/or bootloader.
はじめに試したイメージは自作のものだったのでそのせいかと思ったのですが,Raspbian Buster Lite 2019-09-26 でも同様の動きになります.
ボード側をRaspberry Pi Zero/ZeroW/A+と試しましたがどれでも同じ動作です.
でもmicroSDを交換すると起動します.microSDが怪しそうです.
f3で速度や容量を確認してみました.
容量は問題無さそうなのですが,
最大読み出し速度100MB/s、最大書き込み速度30MB/s
とのことですが実際は読み込み20MB/s前後,書き込み速度は10MB/s前後くらいなので遅すぎる感じがします.
ということでmicroSDが怪しいのでとりあえず返品しようかと思います…….
microSD cardが壊れたので高耐久モデルのmicroSD cardを入手
Raspbery Pi に使っていた 4GB の microSD が壊れてしまいました.wipefsでパーティション情報を消すのに数分.OSイメージを書き込みしようとしても1日動かしても終わりません.
とりあえずデジタルカメラに使っていた SD card を microSD アダプタ経由でと思いましたがどうもアダプタの制度がいまいちなのかすぐ SD を見失ってしまいちょっとつらい感じです.ということで数年ぶりに microSD を購入しました.
容量としては4GBあればok,しかしそのへんの容量はもう殆ど無いし割高.山の奥とかSanDiskとかも考えましたが,TranscendのMLC高耐久モデルが高耐久の割には安い感じです.ECCも付いています.とりあえずAmazonのカートに入れておいたら100円引きクーポンが現れたのでそのタイミングで購入しました.
1,780円から100円引きで1,680円でした.
カタログスペックはこんな感じ(気になるところの抜粋)
容量 16 GB/32 GB/64 GB/128 GB フラッシュ種類 MLC NANDフラッシュ 動作環境温度 -25°C (-13°F) ~ 85°C (185°F) 動作電圧 2.7V ~ 3.6V スピードクラス UHS-I U1 Class 10 読出し(最大) 90 MB/s 書込み(最大) 50 MB/s 耐久性(最大) 16 GB: 3,000時間 保証 2年保証
耐久性の 3,000時間というのは 製品情報シート(pdf) によると26 Mbpsのときの時間のようです.
26 Mbps を 3000 時間 → ( 26 / 8 ) * ( 3000 * 60 * 60 ) = 35100000 MB → 35.1 TB かな?
全領域を使うドライブレコーダーならこれに近い数字が出そうですが OS 領域として使うならもっとずっと少ない書き込みで壊れそう.
(圧縮すると数倍伸びそう?Btrfs?JFFS2?FuseCompress??ウェアレベリング…据え置きならSSDのほうがいいか)
Transcendの他のMLCモデルのほうが少し安いが,説明では書込み頻度の高い使用環境では高耐久モデルを勧めている.
|
04日に注文して07日にコンビニに届いたので受け取ってきました.金色!
念の為製品照合システムで本物か確認しておきます.
シリアル番号を確認してこのページのフォームに入力することで照合できます.
シリアル番号はパッケージには見当たらず本体の裏面にありました.肉眼では見にくい.
本物でした :)
安心したところでPCに挿してとりあえず簡易テストを.
$ dmesg -Tw : [水 11月 7 21:33:42 2018] mmc0: new high speed SDHC card at address 59b4 [水 11月 7 21:33:42 2018] mmcblk0: mmc0:59b4 USDU1 14.6 GiB [水 11月 7 21:33:43 2018] mmcblk0: p1 ^c $ sudo wipefs -a /dev/mmcblk0 $ sudo hdparm -vtT /dev/mmcblk0 /dev/mmcblk0: HDIO_DRIVE_CMD(identify) failed: Invalid argument readonly = 0 (off) readahead = 256 (on) HDIO_DRIVE_CMD(identify) failed: Invalid argument geometry = 478432/4/16, sectors = 30619648, start = 0 Timing cached reads: 6072 MB in 2.00 seconds = 3039.10 MB/sec HDIO_DRIVE_CMD(identify) failed: Invalid argument Timing buffered disk reads: 62 MB in 3.07 seconds = 20.20 MB/sec $ zcat ./2018-10-09-raspbian-stretch-lite.zip | pv | sudo dd of=/dev/mmcblk0 bs=4M ;sync 1.74GiB 0:00:14 [ 120MiB/s] [ <=> ] 0+53380 レコード入力 0+53380 レコード出力 1866465280 bytes (1.9 GB, 1.7 GiB) copied, 271.655 s, 6.9 MB/s $ uname -a Linux raspberrypi 4.14.71+ #1145 Fri Sep 21 15:06:38 BST 2018 armv6l GNU/Linux
EDIT: eLinux.orgの簡易テストを追記( RPi SD cards – eLinux.org )
$ sync; dd if=/dev/zero of=~/test.tmp bs=500K count=1024 1024+0 records in 1024+0 records out 524288000 bytes (524 MB, 500 MiB) copied, 74.6846 s, 7.0 MB/s $ sync; echo 3 | sudo tee /proc/sys/vm/drop_caches 3 $ sync; time dd if=~/test.tmp of=/dev/null bs=500K count=1024 1024+0 records in 1024+0 records out 524288000 bytes (524 MB, 500 MiB) copied, 22.9698 s, 22.8 MB/s real 0m22.989s user 0m0.002s sys 0m2.790s
#ランダムもfioで少し試した → https://gist.github.com/matoken/6e3a4d07e36698470bac6ec75bb2c1d1
大体シーケンシャルリードで 20MB/s.シーケンシャルライトで 6.9MB/sくらいのよう.
カタログの 読出し(最大) 90 MB/s 書込み(最大) 50 MB/s
からすると大分遅く感じますね.
といってもこれまで使っていたものの倍以上の速度は出ています.
てことでしばらくはこの card で Raspberry Pi を運用してみようと思います.
#こういう安いやつを買って壊れたら買い換えるほうがいいような気がしなくもない
microSDスロットの固定機構の壊れたRaspberry Pi 2 Bのバネを取り外して普通に使えるようにする
Raspberry Pi 2 Bを使っているのですが,以前からmicroSDソケットの固定機構が壊れてしまっています.セロハンテープで留めて更にケースに入れて動きにくくしているのですがたまにずれるようで起動中にストレージを見失ってしまうことがあります.(そして数回に一回は要fsckに)
ちょっと面倒なので対処したいなと思いながら放置していたのですが,また今日も起こったので調べてみることに.多分microSDを押し返すピンかバネを無くしてしまえたら解決しそうな気がします.でも内部が見えないのでどこにピンやバネがあるのかよくわからないです.
きっと先駆者が居るだろうと検索するといくつかそれらしいページを見つけました.
ソケットを交換するアプローチ
ソケットの中のスプリングを取り出してしまうアプローチ
- hardware – Micro SD card slot on Pi 2 – Raspberry Pi Stack Exchange
- Fixing A Faulty MicroSD Latch on Raspberry Pi Model B+ | Life, The Universe and … Everything!
後者のスプリングを取り出すのが簡単そうだし,最悪失敗しても前者のソケットを交換すればいいかなと試してみました.スプリングの場所が分かったのですが現物を見てもよくわからないです.光を当てながら少し斜めから見るとバネが見えました.バネの横の部分を一旦開けて中を確認する人も居るようです.
ここで安全ピンのピン先でこじるようにと思いましたがちょっと安全ピンが大きいせいかソケットが膨らむのでジャンパワイヤのオスを使いました.
ソケットのスプリングの上側からこじるとプラスチックのラッチが外れました.一旦ラッチを取り出して更にその奥をこじるとスプリングの反応がありました.スプリングを内側に倒してから引っ張り上げるようにして取り外せました.
この状態でmicroSDを差し込むとmicroSDは押し返されなくなりました!これで最近のRaspberry Pi Zero(多分3B/3B+も)と同じような使い勝手になったと思います.
今回はRaspberry Pi 2 Bでしたが,Raspberry Pi B+/Raspbery Pi A+もロック機構が壊れたら同様の機構なので同じように解決できると思います.
今だと最新のRaspberry Pi 3 B+を買う人が多いでしょうが.