エントリー

カテゴリー「EPIA」の検索結果は以下のとおりです。

EPIAのmicroSDで原因不明のエラー

  • 2012/12/08 21:35
  • カテゴリー:EPIAPC

何故一度起動すると次はエラーになるのか?

microSDカードがおかしくなったのかと思い、ようやく空けることが出来た2GのUSBメモリを使って同じことをやってみた
(実はmicroSDを諦めてUSBメモリでやってみるかと新しいUSBメモリを購入して使用中だったUSBメモリと交換した)

 D001W001

BUFFALO RUF2-E 2GM(アクセスランプが付いているので助かる)
FAT32で「CrystalDiskMark 3.0.1」にて計測

結果はmicroSDカードと同じように初回の起動は問題なしで次に起動するとエラーが出る
syslogを取り出し見てみると起動時に二箇所でエラーが発生している

初回

(略)
Dec  8 11:17:57 epia-m kernel: [   14.713169] EXT3-fs: mounted filesystem with ordered data mode.
Dec  8 11:17:57 epia-m kernel: [   15.720902] eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
Dec  8 11:17:58 epia-m acpid: starting up with netlink and the input layer
(略)

二回目

(略)
Dec  8 11:23:53 epia-m kernel: [   12.538736] EXT3-fs: mounted filesystem with ordered data mode.
Dec  8 11:23:53 epia-m kernel: [   12.738553] grep[485]: segfault at 0 ip 0804c8d0 sp bfb6815c error 6 in grep[8048000+19000]
Dec  8 11:23:53 epia-m kernel: [   13.399775] grep[574]: segfault at 0 ip 0804c8d0 sp bfe7c80c error 6 in grep[8048000+19000]
Dec  8 11:23:53 epia-m kernel: [   13.457722] grep[581]: segfault at 0 ip 0804c8d0 sp bfa79a1c error 6 in grep[8048000+19000]
Dec  8 11:23:53 epia-m kernel: [   13.664769] grep[607]: segfault at 0 ip 0804c8d0 sp bfa4e9cc error 6 in grep[8048000+19000]
Dec  8 11:23:53 epia-m acpid: cannot open input layer
Dec  8 11:19:47 epia-m shutdown[1261]: shutting down for system reboot
(略)

LANの初期化の部分である
grepがsegmentation faultを起こしている

初回

(略)
Dec  8 11:17:58 epia-m /usr/sbin/cron[925]: (CRON) INFO (Running @reboot jobs)
Dec  8 11:17:59 epia-m dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
Dec  8 11:17:59 epia-m dhclient: DHCPOFFER from 192.168.24.1
Dec  8 11:17:59 epia-m dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
Dec  8 11:17:59 epia-m dhclient: DHCPACK from 192.168.24.1
Dec  8 11:18:01 epia-m dhclient: bound to 192.168.24.54 -- renewal in 1532 seconds.
Dec  8 11:19:47 epia-m shutdown[1261]: shutting down for system reboot
(略)

二回目

(略)
Dec  8 11:23:54 epia-m /usr/sbin/cron[737]: (CRON) INFO (Running @reboot jobs)
Dec  8 11:23:54 epia-m kernel: [   15.100264] grep[757]: segfault at 0 ip 0804c8d0 sp bf96de7c error 6 in grep[8048000+19000]
Dec  8 11:23:54 epia-m kernel: [   15.127965] grep[769]: segfault at 0 ip 0804c8d0 sp bfafd96c error 6 in grep[8048000+19000]
Dec  8 11:23:54 epia-m kernel: [   15.322719] grep[788]: segfault at 0 ip 0804c8d0 sp bfba31bc error 6 in grep[8048000+19000]
Dec  8 11:23:54 epia-m kernel: [   15.331010] grep[790]: segfault at 0 ip 0804c8d0 sp bff4fa4c error 6 in grep[8048000+19000]
Dec  8 11:23:54 epia-m kernel: [   15.339241] grep[792]: segfault at 0 ip 0804c8d0 sp bfea7dac error 6 in grep[8048000+19000]
Dec  8 11:25:35 epia-m shutdown[1023]: shutting down for system halt
(略)

DHCPの初期化の部分である
LANが初期化されていないのでDHCPも駄目だろうが、こちらもgrepがsegmentation faultを起こしている

二箇所ともLANに係わる部分である
なんらかのファイルが更新されて異常が起こっているのかと思い更新されたファイルを確認した

とりあえず/etcあたりが怪しい

$ sudo mount /dev/sdd2 /mnt
$ cd /mnt/etc
$ ls -ltr
(略)
drwxr-xr-x 2 root root    4096 12月  4 22:08 default
-rw-r--r-- 1 root root      24 12月  8 11:17 resolv.conf
-rw-r--r-- 1 root root     546 12月  8 11:25 mtab
-rw-r--r-- 1 root root      45 12月  8 11:25 adjtime

resolv.confの中身は問題なし
mtabってunixでいう昔のmnttabですな(問題なし)
adjtimeも問題なし

更新したファイル全部調べてみることにする

$ touch -t 201212080000 /tmp/file
$ sudo find . -newer /tmp/file -print
./tmp
./tmp/.ICE-unix
./tmp/.X11-unix
./etc
./etc/mtab
find: `./etc/host.con': そのようなファイルやディレクトリはありません
./etc/resolv.conf
./etc/adjtime
./etc/network/run
./var/lock
./var/run
./var/run/utmp
./var/run/portmap.pid
./var/run/crond.reboot
./var/run/sm-notify.pid
./var/run/rpc.statd.pid
./var/run/acpid.socket
./var/run/portmap_mapping
./var/run/exim4
./var/run/crond.pid
./var/run/motd
./var/run/portmap.state
./var/log
./var/log/fsck/checkfs
./var/log/fsck/checkroot
./var/log/messages
./var/log/user.log
./var/log/wtmp
./var/log/syslog
./var/log/debug
./var/log/exim4/mainlog
./var/log/auth.log
./var/log/kern.log
./var/log/daemon.log
./var/log/lastlog
./var/log/dmesg.0
./var/log/dmesg
./var/lib/urandom
./var/lib/urandom/random-seed
./var/lib/exim4
./var/lib/exim4/config.autogenerated
./var/lib/dhcp/dhclient.eth0.leases
./root/.bash_history
$

特に問題のありそうな更新ファイルはない

一体何が起きているのだろう?

EPIAにHDDをUSB接続してdebianを試す2

  • 2012/12/06 23:13
  • カテゴリー:EPIAPC

256MBのbootパーティションでは起動できなかった
前にmicroSDカードでは192MBで「out of disk」を回避できた
探っていけば読み込める範囲は判るかと思うが、時間の無駄なので最低必要になるサイズでどうかやってみることにする

インストールでbootパーティションに必要なサイズは17MB位なので32MBで起動するかどうか
これで起動しないなら使えないことになる(起動に必要なkernelなどを小さくすればできるけど)

Disk /dev/sdd: 20.0 GB, 20003880960 bytes
ヘッド 64, セクタ 32, シリンダ 19077, 合計 39070080 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0xcc4204ba

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdd1            2048       63487       30720   83  Linux
/dev/sdd2           63488     3188735     1562624   83  Linux

結果USB接続で正常に起動した
これをmicroSDにコピーして試す

ところで起動時間だがmicroSDカード程遅いということはないがHDDでも遅いことが判った
HDDのUSBアダプタにUSB1.1かUSB2.0か接続判断できるLEDが付いていたためUSB1.1での接続になっていた
この時代のマザーならしかたないところかな、BIOS経由でのアクセスの場合のみUSB1.1のはずなので起動後については後で考えることにする

HDDからパーティションを取り出し

$ sudo dd if=/dev/sdd1 of=boot32M.dat bs=1M
30+0 レコード入力
30+0 レコード出力
31457280 バイト (31 MB) コピーされました、 1.39959 秒、 22.5 MB/秒
$ sudo dd if=/dev/sdd2 of=sys1.6G.dat bs=1M
1526+0 レコード入力
1526+0 レコード出力
1600126976 バイト (1.6 GB) コピーされました、 56.6959 秒、 28.2 MB/秒
$

microSD 2GB に挿し替えてコピー

$ sudo fdisk -l /dev/sdd

(パーティションを構成)

$ sudo fdisk -l /dev/sdd

ディスク /dev/sdd: 1917 MB, 1917845504 バイト
ヘッド 2, セクタ 1, シリンダ 1872896, 合計 3745792 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x00000000

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdd1            2048       63487       30720   83  Linux
/dev/sdd2           63488     3188735     1562624   83  Linux
$
$ sudo dd if=boot32M.dat of=/dev/sdd1 bs=1M
30+0 レコード入力
30+0 レコード出力
31457280 バイト (31 MB) コピーされました、 0.535508 秒、 58.7 MB/秒
$ sudo dd if=sys1.6G.dat of=/dev/sdd2 bs=1M
1526+0 レコード入力
1526+0 レコード出力
1600126976 バイト (1.6 GB) コピーされました、 203.093 秒、 7.9 MB/秒

$ sudo mount /dev/sdd2 /mnt
$ sudo mount /dev/sdd1 /mnt/boot
$ sudo mount --bind /dev /mnt/dev
$ sudo chroot /mnt
# grub-install --root-directory=/ /dev/sdd
Installation finished. No error reported.
# exit

$ sudo umount /mnt/dev
$ sudo umount /mnt/boot
$ sudo umount /mnt

結果ようやくmicroSDで正常起動した

が、一度だけで二度目からは起動時にsegment errorが続出

どうして?

EPIAにHDDをUSB接続してdebianを試す

  • 2012/12/05 22:32
  • カテゴリー:EPIAPC

microSDカード単体の性能ではあるが読み込みだけに限ればHDDと大差ないことが判明
しかしmicroSDカードで起動確認していると非常に時間がかかるため、HDDをUSB接続して正常に起動するようにしてmiscroSDカードを試すことにした

既にIDEでインストールしたHDDをUSB接続で起動するとmicroSDカードと同じ「out of disk」で起動しない
BIOSではIDEのLBA設定もあるしCDからのbootも可能なので拡張INT13Hであるはずなのだが・・・
USB接続の(FD, CDを除く)デバイスの場合、BIOSで読み込める範囲が限られている

しかたがないのでbootパーティションを分けて作りインストールすることにした

ここで悩んだのがbootパーティションのサイズである
読み込める範囲は何に依存しているのか、debianのドライバー経由になるので正確ではないがfdiskでそれぞれのCHSの値をみる(EPIAでCDレスキューでfdisk)

IDE接続
Disk /dev/sda: 20.0 GB, 20003880960 bytes
255 heads, 63 sectors/track, 2432 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
USB接続
Disk /dev/sda: 20.0 GB, 20003880960 bytes
64 heads, 32 sectors/track, 19077 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

IDE接続とUSB接続ではCHS数が異なる
またIDE(ATA規格)ではCylinder:16bit、Head:4bit・Sector:8bitなので上記の値はジオメトリ変換されているのか?
これをIDEとBIOSのCylinder:10bit、Head:8bit、Sector:6bitでマスクしてみると、Cylinder値MAX1024、Head値MAX16なので、1024*16*32*512=268,435,456(256MB)となる

とりあえず256MBでbootパーティションを作りインストール

結果は「out of disk」で起動せず

256MBで駄目か・・・CHSからは算出できそうにない

ちなみにmicroSDカードは以下の値である

Disk /dev/sdb: 1917 MB, 1917845504 bytes
2 heads, 1 sectors/track, 1872896 cylinders
Units = cylinders of 2 * 512 = 1024 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

EPIAで使用したmicroSDカードのRW性能

  • 2012/12/02 17:32
  • カテゴリー:EPIA

EPIAでmicroSDの読み込みが遅いという現象が起きているのでメディアとして実際どうなのか性能を計測してみることにした

計測はWindowsXPにUSB2.0接続して「CrystalDiskMark 3.0.1」で実施
対象のファイルシステムは全てFAT32にした

2.5inch HDDの性能

まずは参考で比較するためにIDE 2.5inch 20GB HDD(HITACHI IC25N020ATMR04)をUBSアダプタ経由で計測

ws001

100エンショップのUSBアダプタは問題ないか?

EPIAで使用したKINGMAX microSD 4GB class4を、(左)100エンショップのUSBアダプタと、(右)ELECOMのUSBアダプタ(MR-A 39HSV)で計測

ws101ws102

意外にも100エンショップのUSBアダプタのほうが性能が良かった(Seqと512Kリードは上、他はほぼ同じ)

SDカード別の違いは?

持っていたmicroSDカードを100エンショップのUSBアダプタで計測

(左)KINGMAX 2GB(中)BUFFALO 4GB class4(右)SanDisk 8GB class2

WS201WS202WS203

ここでHDDと比較してみると
・SeqリードはHDDに敵わないが酷く差があるわけではない
・512Kランダムリードは遜色なく4KになるとmicroSDの方が早い
 HDDはseekのオーバーヘッドがありリードサイズが少ないと不利になることが判る
 ただしSanDiskの4Kリード性能は良くない(class2とclass4の差なのか?)
・ライトは全体的にHDDと比較にならないぐらい遅い
 Seqライトはまだ良い方でランダムになると4Kでは最高で200倍近もの差がある
 その中でSanDiskのランダムライトは優秀で他のmicroSDと比較しても2~90倍早い

メーカ3種のうちKINGMAXとBUFFALOは同じような傾向でSanDiskは傾向が異なる(class2とclass4の違いのせいなのか?)

classによる違いは?

手持ちがないので情報を求めて探してみると、こちらにTranscendの8GB SDカード(microSDではない)の結果があった
美味い具合にclass2,4,6,10を「CrystalDiskMark 3.0.1 x64」で計測している(SDカードであるがさほど変わらないだろう)

結果からTranscendの傾向はKINGMAXやBUFFALOと同じ様である
そしてclassが上がると性能は上がっているものの4Kランダムライトだけは大幅に下がっている
class2と4、class6と10は同じに思えるので、2つのclassとして比較すると性能が向上している分は2倍、4Kランダムライトは約40倍も低下しているわけだ(原因はキャッシュサイズの違いかと推測、もしくはSLCとMLCの違いでキャッシュサイズが異なるのか)

classは現在主流の利用用途に合わせた性能向上を優先させているように思える
R/Wで連続性を持つデジタルカメラや、外部媒体として利用されるだけの携帯やスマートフォンでは問題ないだろう
しかしタブレットや1ボードマイコンなどでPC的な使い方もする場合はカードを選んだほうが良いかもしれない
尚、他のメーカのSDカードも同様かどうかは不明である

余談だがclass6と10はまったく同じものと思われる、class10は後から追加された規格なので既にclass6がclass10の性能を満足してたからラベルを追加した、もしくはclass10を見据えてclass6を設計していたのではないだろうか

EPIA ME6000ではどうなのか?

microSDカードのR/W特性は判ったが、実機のEPIAではどうなのか気になりWindowsXPをインストールして「CrystalDiskMark 3.0.1」で計測してみた

(左)KINGMAX 2GB(中)USB HDD20GB(右)IDE HDD20GB

WS301WS302WS303

数値的には先に計測したデータと変わらないためUSBのハード的な問題も無いようだ

結論

HDDよりは下回るがアダプタを含めmicroSDカードの読み込み性能が悪いという事は無い

ページ移動

  • ページ
  • 1
  • 2
  • 3
  • 4
  • 5

ユーティリティ

検索

エントリー検索フォーム
キーワード

過去ログ

Feed