bucchiさんが改造されたZaurus3桁機用SDHC対応のドライバーをテストしてみました - その2
【続報】前回の報告に引き続き、bucchi さんが SHARP オリジナルのドライバーを改造された3桁機用(SL-C750、SL-C760、SL-C860)の SDHC 対応(4GB 限定)ドライバーのテスト結果について報告いたします。
今回は、前回の報告で予告しました通り、手元の12種類の SD/SDHC メモリーカードについて、認識状況と容量表示に絞ってテストした結果についてご報告します。
まず、今回のテストの総合的な結果ですが、全く問題は発生しておらず、極めて安定して動作していることをご報告しておきます。
なお、報告の詳細は、以下をご覧ください。
また、次回のご報告では読み書きと簡単なベンチマークに絞ってテストした結果について、ご報告する予定です。
今までの報告と今後の報告予定について
書き始めたら一回でご報告するには、長くなりすぎると判断しましたので、以下の4つの記事に分けてご報告する予定です。
- (1) 既報ですが、ドライバーのインストール/アンイストールとインストールパッケージの動作の詳細についてご報告しました。
- (2) 今回の報告です、手元の12種類の SD/SDHC メモリーカードについて、認識状況と容量表示に絞ってテストしてみた結果について報告します。
- (3) 読み書きと簡単なベンチマークに絞ってテストした結果について、ご報告する予定です。読み込みのテストについては、動画再生を利用をします。
- (4) 今回のドライバーを生かすという意味で、4GB SDHC メモリーカードに絞って、SDHC メモリーカードへのアプリケーションのインストール、ベンチマークテスト結果ほかについて報告する予定です。
テストしたドライバーについて
まず、今回テストしたドライバーですが、表1の通り、buuchi さんが SHARP オリジナルのドライバーを改造された、3桁機用(SL-C750、SL-C760、SL-C860)の SDHC 対応(4GB 限定)ドライバー Ver1.0 です。
表1 テストしたドライバー
バージョン | 1.0 SDHC 対応(4GB 限定) |
---|---|
インストールパッケージ名 | zaurus-sd-driver-update_1.0-for-Cxx0_arm.ipk |
テスト環境について
今回のテストに使用した環境は以下の通りです。普段、Ruby・Ruby/Qte のプログラミングに使用している専用端末を使用しました。
表5 テスト環境
機種名 | SL-C860 |
---|---|
ROM Version | 1.40 JP |
Kernel Version | Normal Kernel 2.4.18-rmk7-pxa3-embedix-021129 |
bash-2.05$ cat /proc/deviceinfo/product SL-C860 bash-2.05$ cat /proc/deviceinfo/revision 1.40 bash-2.05$ cat /proc/version Linux version 2.4.18-rmk7-pxa3-embedix-021129 (zaurus@sharplinux) (gcc version 2.95.2 19991024 (release)) #1 Thu, 6 Nov 2003 09:29:23 +0900 bash-2.05$ uname -a Linux zaurus 2.4.18-rmk7-pxa3-embedix #1 Thu, 6 Nov 2003 09:29:23 +0900 armv5tel unknown
スクリーンショット [設定] - [システム情報] |
---|
スクリーンショット コマンドラインによる情報 |
テスト対象の SD/SDHC メモリーカードについて
今回は、手元にあった表6の12種類の SD/SDHC メモリーカードについてテストを実施しました。
表6 テスト対象の SD/SDHC メモリーカード一覧
No. | 写真 | メーカー | 容量 | 種別 | 型名・仕様 | テスト時の 初期化状況 |
---|---|---|---|---|---|---|
1 | 東芝 | 128MB | SD | SD-M1283M | Panasonic SD フォーマッター Ver2.0 (2.0.0.3)で初期化 | |
2 | Panasonic | 256MB | SD | RP-SDH256N1A | Panasonic SD フォーマッター Ver2.0 (2.0.0.3)で初期化 | |
3 | Panasonic | 256MB | mini SD | RP-SS256BJ1K | 工場出荷時のまま | |
4 | Panasonic | 512MB | SD | RP-SDH512N1A | 工場出荷時のまま | |
5 | Panasonic | 1GB | SD | RP-SDQ01GJ1A | 工場出荷時のまま | |
6 | Panasonic | 1GB | SD | RP-SDP01GJ1K | 工場出荷時のまま | |
7 | A-DATA | 1GB | SD | 型名不明 | たぶん工場出荷時のまま | |
8 | Transcend | 1GB | SD | TS1GSDC | 工場出荷時のまま | |
9 | Transcend | 2GB | SD | TS2GSDC | 工場出荷時のまま | |
10 | Transcend | 4GB | SD | TS4GSD150 150x | SANYO Xacti DMX-HD1 ハイビジョンムービーカメラで初期化 | |
11 | Panasonic | 4GB | SDHC | RP-SDM04GL1K CLASS 4 |
工場出荷時のまま | |
12 | Lexar | 4GB | SDHC | LSD4GBDRBJP133 Professional 133x Speed |
工場出荷時のまま |
テスト対象の12種類の SD/SDHC メモリーカードの写真 |
---|
テスト項目について
認識状況と容量表示の確認のため、つぎの6項目のテストを実施しました。
タスクバーの SD メモリーカードアイコン表示の確認 |
---|
-
- (2) で取得したログの mount コマンドの結果を確認する
- (2) ログの取得(下記のテスト専用シェルスクリプトによる)
- (3) 容量が正しく認識されていることを確認する
- [設定] - [システム情報]により容量を確認する
- ログで取得した、df /dev/mmcda1 コマンドの結果を確認する
- (4) ログで取得した dmesg コマンドの "block_count" と "total_size"の値を確認する
- (5) サスペンド → レジューム時の認識状況の確認する
- (6) タスクトレイの SD メモリーカードアイコンタップによる取り外し(アンマウント)を確認する
タスクトレイの SD メモリーカード アイコンタップによる取り外し |
---|
テスト方法について
テスト結果について
冒頭でも述べましたが、今回のテストの総合的な結果ですが、全く問題は発生しておらず、極めて安定して動作していることをご報告しておきます。
□メモリーカードの認識状況について
- メモリーカードの認識については、表7のいずれの動作条件でもすべての SD/SDHC メモリーカードで正常に認識され、問題ありませんでした。
- また、タスクトレイの SD メモリーカードアイコンタップによる取り外し(アンマウント)の動作についても、すべての SD/SDHC メモリーカードで問題ありませんでした。
表7 各動作条件によるメモリーカードの認識状況
SD/SDHC メモリーカード名 | メモリー カード 挿入時の 認識 (SDアイコン の確認) |
メモリー カード 挿入時の 認識 (mount コマンド による 確認) |
サスペンド ↓ レジューム 時の認識 |
SDアイコン タップによる 取り外し |
---|---|---|---|---|
東芝 128MB SD SD-M1283M | ○ | ○ | ○ | ○ |
Panasonic 256MB SD RP-SDH256N1A | ○ | ○ | ○ | ○ |
Panasonic 256MB mini SD RP-SS256BJ1K | ○ | ○ | ○ | ○ |
Panasonic 512MB SD RP-SDH512N1A | ○ | ○ | ○ | ○ |
Panasonic 1GB SD RP-SDQ01GJ1A | ○ | ○ | ○ | ○ |
Panasonic 1GB SD RP-SDP01GJ1K | ○ | ○ | ○ | ○ |
A-DATA 1GB SD 型名不明 | ○ | ○ | ○ | ○ |
Transcend 1GB SD TS1GSDC | ○ | ○ | ○ | ○ |
Transcend 2GB SD TS2GSDC | ○ | ○ | ○ | ○ |
Transcend 4GB SD 150x TS4GSD150 | ○ | ○ | ○ | ○ |
Panasonic 4GB SDHC RP-SDM04GL1K | ○ | ○ | ○ | ○ |
Lexar 4GB SDHC LSD4GBDRBJP133 | ○ | ○ | ○ | ○ |
□容量が正しく認識されていることを確認する
[設定] - [システム情報] による認識されている容量の確認
- [システム情報] から得られる SD メモリーカードの容量の情報(「SDカード合計」の容量)とテスト対象の SD/SDHC メモリーカードの公称容量が同じことをすべての SD/SDHC メモリーカードで確認し、容量の認識に問題ないことを確認しました。この結果、表8にまとめました。
- なお、スクリーンショット中の「使用」と「空き」の容量は気にしないでください。使用中のメモリーカードをテストに使用したため統一されていません。
スクリーンショット [システム情報] の説明 |
---|
表8 [設定] - [システム情報] による認識されている容量の確認結果
認識 容量 確認 結果 |
SD/SDHC メモリーカード名 |
公称 容量 |
スクリーンショット [システム情報] | |
---|---|---|---|---|
○ | 東芝 SD SD-M1283M | 128MB | ||
○ | Panasonic SD RP-SDH256N1A | 256MB | ||
○ | Panasonic mini SD RP-SS256BJ1K | 256MB | ||
○ | Panasonic SD RP-SDH512N1A | 512MB | ||
○ | Panasonic SD RP-SDQ01GJ1A | 1GB | ||
○ | Panasonic SD RP-SDP01GJ1K | 1GB | ||
○ | A-DATA SD 型名不明 | 1GB | ||
○ | Transcend SD TS1GSDC | 1GB | ||
○ | Transcend SD TS2GSDC | 2GB | ||
○ | Transcend SD 150x TS4GSD150 | 4GB | ||
○ | Panasonic SDHC RP-SDM04GL1K | 4GB | ||
○ | Lexar SDHC LSD4GBDRBJP133 | 4GB |
df コマンドによる認識容量の確認結果
コマンド書式 | df /dev/mmcda1 |
---|
表9 df コマンドによる認識容量の確認結果
認識容量 確認結果 |
SD/SDHC メモリーカード名 | 公称 容量 |
dfコマンド による 認識容量 [kB] |
dfコマンド による 認識容量 (計算値) [MB/GB] |
|
---|---|---|---|---|---|
○ | 東芝 SD SD-M1283M | 128MB | 125,344 | 122.4MB | |
○ | Panasonic SD RP-SDH256N1A | 256MB | 249,728 | 243.9MB | |
○ | Panasonic mini SD RP-SS256BJ1K | 256MB | 244,096 | 238.4MB | |
○ | Panasonic SD RP-SDH512N1A | 512MB | 502,736 | 490.9MB | |
○ | Panasonic SD RP-SDQ01GJ1A | 1GB | 967,360 | 944.7MB | |
○ | Panasonic SD RP-SDP01GJ1K | 1GB | 967,360 | 944.7MB | |
○ | A-DATA SD 型名不明 | 1GB | 1,003,136 | 979.6MB | |
○ | Transcend SD TS1GSDC | 1GB | 997,504 | 974.1MB | |
○ | Transcend SD TS2GSDC | 2GB | 1,981,056 | 1.89GB | |
○ | Transcend SD 150x TS4GSD150 | 4GB | 4,044,800 | 3.86GB | |
○ | Panasonic SDHC RP-SDM04GL1K | 4GB | 3,862,528 | 3.68GB | |
○ | Lexar SDHC LSD4GBDRBJP133 | 4GB | 4,020,736 | 3.83GB |
□取得したログ
表10 テスト専用シェルスクリプトで取得したログの一覧
【参考】テスト用シェルスクリプトについて
私が考えつく以下の情報を取得しました。なお、テスト作業を簡単にするために、下記の専用のシェルスクリプト(sd_info_v005.sh)を作成しました。
表11 テスト用シェルスクリプトによる取得データ
取得項目 | 取得コマンド |
---|---|
ドライバーの情報 | シェルスクリプトで判定して表示 |
SD メモリーカードの情報 /proc/driver/mmcsd/00/* |
cat /proc/driver/mmcsd/00/detect cat /proc/driver/mmcsd/00/manufacture cat /proc/driver/mmcsd/00/product cat /proc/driver/mmcsd/00/type |
システムログ dmesg | dmesg |
パーティション情報 | fdisk -l または fdisk -l -u |
マウント状況 | mount|grep /dev/mmcda1 |
容量の情報 | df /dev/mmcda1 |
□SD メモリーカードテスト専用のシェルスクリプト - sd_info_v005.sh
#!/bin/sh # # get SD/SDHC memory card information. # # file name : sd_info_v005.sh # version : 0.0.5 # create : Jan. 30th, 2010 # update : Feb. 6th, 2010 # author : Fumiyoshi Sasaki # # Update history # Ver0.0.1 1st. Version. # Ver0.0.2 Add SD/SDHC driver information. # Ver0.0.3 Update for bucchi SD/SDHC memory card driver Ver1.1 # Ver0.0.4 Update for bucchi SD/SDHC memory card driver Ver1.2 # Ver0.0.5 Change for bucchi SL-C750/SL-C760/SL-C860 SD/SDHC # memory card driver Ver1.0 # SD_DRIVER_FILE_NAME="/lib/modules/2.4.18-rmk7-pxa3-embedix/kernel/drivers/block/sharp_mmcsd_m.o" echo "SL-C750/SL-C760/SL-C860 SD/SDHC driver and memory card information" echo "==================================================================" echo -n "PRODUCT : " cat /proc/deviceinfo/product echo SD_DRIVER_FILE_SIZE=`ls -l "$SD_DRIVER_FILE_NAME" | tr -s ' ' | cut -d ' ' -f 5` if [ -L "$SD_DRIVER_FILE_NAME" ]; then echo "SD memory card driver : use SHARP pure driver" elif [ ! -e "$SD_DRIVER_FILE_NAME" ]; then echo "SD memory card driver : use unknown SD memory card driver" elif [ "$SD_DRIVER_FILE_SIZE" -eq 48185 ]; then echo "SD memory card driver : use bucchi SL-C750/SL-C760/SL-C860 SD/SDHC memory card driver Ver1.0" fi echo "SD memory card driver file size : $SD_DRIVER_FILE_SIZE" echo echo "ls -l /lib/modules/2.4.18-rmk7-pxa3-embedix/kernel/drivers/block/sharp_mmcsd_m.o" echo "------------------------------------------------------------------" ls -l /lib/modules/2.4.18-rmk7-pxa3-embedix/kernel/drivers/block/sharp_mmcsd_m.o echo echo "cat /proc/driver/mmcsd/00/* result" echo "------------------------------------------------------------------" echo -n " detect : " cat /proc/driver/mmcsd/00/detect echo -n " manufacture : " cat /proc/driver/mmcsd/00/manufacture echo -n " product : " cat /proc/driver/mmcsd/00/product echo -n " type : " cat /proc/driver/mmcsd/00/type echo echo "mount | grep /dev/mmcda1 result" echo "------------------------------------------------------------------" mount | grep /dev/mmcda1 echo echo "df /dev/mmcda1 result" echo "------------------------------------------------------------------" df /dev/mmcda1 echo echo "fdisk -l result" echo "------------------------------------------------------------------" fdisk -l echo echo "dmesg result" echo "------------------------------------------------------------------" dmesg
□SDメモリーカードテスト専用のシェルスクリプトの実行例
Transcend 1GB SD メモリーカード [:title=TS1GSDC])の例
SL-C750/SL-C760/SL-C860 SD/SDHC driver and memory card information ================================================================== PRODUCT : SL-C860 SD memory card driver : use bucchi SL-C750/SL-C760/SL-C860 SD/SDHC memory card driver Ver1.0 SD memory card driver file size : 48185 ls -l /lib/modules/2.4.18-rmk7-pxa3-embedix/kernel/drivers/block/sharp_mmcsd_m.o ------------------------------------------------------------------ -rw-r--r-- 1 root qpe 48185 Feb 6 04:03 /lib/modules/2.4.18-rmk7-pxa3-embedix/kernel/drivers/block/sharp_mmcsd_m.o cat /proc/driver/mmcsd/00/* result ------------------------------------------------------------------ detect : 1 manufacture : 27 product : 00000 type : SD mount | grep /dev/mmcda1 result ------------------------------------------------------------------ /dev/mmcda1 on /usr/mnt.rom/card type vfat (rw) df /dev/mmcda1 result ------------------------------------------------------------------ Filesystem 1k-blocks Used Available Use% Mounted on /dev/mmcda1 997504 12864 984640 1% /usr/mnt.rom/card fdisk -l result ------------------------------------------------------------------ Disk /dev/mmcda: 32 heads, 63 sectors, 989 cylinders Units = cylinders of 2016 * 512 bytes Device Boot Start End Blocks Id System /dev/mmcda1 1 990 997764+ 6 FAT16 Partition 1 does not end on cylinder boundary: phys=(989, 30, 62) should be (989, 31, 63) dmesg result ------------------------------------------------------------------ Linux version 2.4.18-rmk7-pxa3-embedix-021129 (zaurus@sharplinux) (gcc version 2.95.2 19991024 (release)) #1 Thu, 6 Nov 2003 09:29:23 +0900 CPU: Intel XScale-PXA255 revision 6 Machine: SHARP Shepherd Converting old-style param struct to taglist Memory clock: 99.53MHz (*27) Run Mode clock: 199.07MHz (*2) Turbo Mode clock: 398.13MHz (*2.0, active) : 途中省略 : pxa_sd_wait_response: card removed (cmd=00) pxa_sd_wait_response: card removed (cmd=00) pxa_sd_wait_id_response: card removed (cmd=00) pxa_sd_wait_id_response: card removed (cmd=00) SD Driver Initialized. sharp_mmcsd 0.21 27 Sep 2002 : 途中省略 : monitor_modinit: finished block_size: 512 write_block_size: 512 block_count: 1995776 total_size: 1021837312 SDHC=0 [SD]-clustsize = 4000 VFS: Disk change detected on device mmcd(60,1) Partition check: mmcda: mmcda1 VFS: Disk change detected on device mmcd(60,1) mmcda: mmcda1 EXT2-fs: Unrecognized mount option noatimei VFS: Disk change detected on device mmcd(60,1) mmcda: mmcda1 VFS: Disk change detected on device mmcd(60,1) mmcda: mmcda1 cramfs: wrong magic VFS: Disk change detected on device mmcd(60,1) mmcda: mmcda1 VFS: Disk change detected on device mmcd(60,1) mmcda: mmcda1 VFS: Can't find a Minix or Minix V2 filesystem on device 3c:01. VFS: Disk change detected on device mmcd(60,1) mmcda: mmcda1 VFS: Disk change detected on device mmcd(60,1) mmcda: mmcda1 MSDOS FS: IO charset utf8 VFS: Disk change detected on device mmcd(60,1) VFS: busy inodes on changed media. mmcda: mmcda1 VFS: Disk change detected on device mmcd(60,1) VFS: busy inodes on changed media. mmcda: mmcda1 VFS: Disk change detected on device mmcd(60,1) VFS: busy inodes on changed media. mmcda: mmcda1 VFS: Disk change detected on device mmcd(60,1) VFS: busy inodes on changed media. mmcda: mmcda1 VFS: Disk change detected on device mmcd(60,1) VFS: busy inodes on changed media. mmcda: mmcda1