« b-mobile SIM イオン専用プランA SpeedTest | トップページ | 2011年11月11日11時11分 »

2011年11月10日 (木)

SK17iでUSBメモリを読み書きしてみる(実践編)

microA→A変換アダプタが届いたので、早速実験。
Mpaema015bk
まずはUSBマウスを繋いで見ました。

Sk17i_mouse
ちゃんと認識して、マウスカーソル出ました(もちろんちゃんと動きました)。
と言うことで、ケーブルはOK。
続いてUSBメモリを接続すると・・・不明なデバイス・・・・。
しかも/dev/blockにsdaとかsda1とか出てきません。

どうも、USBマウス/キーボード等HIDドライバは2.3.4で組み込まれたっぽいけど、usb-storage.koは組み込まれていないっぽい。
ぐぅ、仕方が無い、今回の目的はUSBストレージの読み書きだから、2.3.3時代にリリースされたusb-storage.koを導入してみよう。

と言うことで手順

1.usb-storage.koをダウンロード。
 http://forum.xda-developers.com/showthread.php?t=1224676
 /sdcardへコピー
2.”usb-storage.ko”を、基本的にはどこでも良いはずですが、同様のカーネル組み込みドライバのある
 /system/lib/modules
 へコピー(勿論用rooted)。
 
 $ su
 # mount -o rw,remount /dev/block/mtdblock0 /system
 # cd /system/lib/modules
 # cp /sdcard/usb-storage.ko .
 
 念のためパーミッション合わせ
 
 # chmod 644 usb-storage.ko

3.カーネルへの組み込み

 # insmod usb-storage.ko

4.ちゃんと組み込まれたか確認(やらなくてもOK)

 # lsmod
 
 ちゃんと「usb_storage」が"Live"になっていればOK

5.USBメモリ接続

 ちゃんと認識しているか確認
 
 # ls -l /dev/block/sd*
 
 すると、sdaとかsda1とかが表示されるはず。
 表示されなければ何か失敗。振出しに戻る。
 因みにドライバ組み込んであっても「不明なデバイス」と出ました。

6.一応USBメモリは認識されている事は5番で確認出来ましたが、mountしないとUSBメモリ内は見られない。
 1で書いたURLでは/sdcard上にmount用のディレクトリを作成しているけど一般的に作法としては/mntにディレクトリを作ってmountなので、

 # mount -o rw,remount -t rootfs rootfs /
 
 で"/"を書き込み可能な状態でremountする。
 その後、/mntに適当なディレクトリ作成
 
 # cd /mnt
 # mkdir usbStorage
 # chmod 777 usbStorage

7.今作ったディレクトにUSBメモリをマウント

 # mount -t vfat /dev/block/sda1 /mnt/usbStorage

これで読み書き出来る、はずです(あ、vfatはFATやFAT32でフォーマットされたUSBメモリの場合です。NTFSとか他のフォーマットしてある場合は・・・知らん(^^;)。

アストロから見たところ。
Sk17i_usbstrageastoro
ちゃんとUSBメモリの内容が見えています(適当に選んだUSBメモリはMemtest86+のUSBブート起動用に作った奴でした)。
「test」と言うディレクトリがありますが、これは別の名前だったのをアストロから名前変更した物です。
Readme.txtもちゃんと読めました。

8.USBメモリの取り外し
 まぁズバッと抜いちゃっても多分大丈夫ですが、念のため、書き込みをしたのであれば、
 
 # sync;sync;sync
 
 でフラッシュ(今は必要無いのかなぁ・・・)。
 その後umount
 
 # umount /dev/block/sda1
 
 ※私の環境では上では上手くいかず(failed.と出た)。
 
 # busybox umount /dev/block/sda1
 
 で上手く行きました。

----------------------------
rebootするとドライバの組み込みもディレクトリも消えてしまうので、上でやったこと(ドライバ組み込んで、ディレクトリ作成して、mountする)を実行するスクリプトやアプリを使えばTerminal Emulatorで毎回打ち込む必要はありませんが、今回は試しなのでここまで。

1.で書いたURLに書いてあるように、
・Module Loader 1.1
・Q5_USB_Memory_Manager
を使えば、少なくともカーネルへの組み込み用スクリプトとmount用スクリプトは作成しなくても済みそうですけど。

|

« b-mobile SIM イオン専用プランA SpeedTest | トップページ | 2011年11月11日11時11分 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/179854/53209690

この記事へのトラックバック一覧です: SK17iでUSBメモリを読み書きしてみる(実践編):

« b-mobile SIM イオン専用プランA SpeedTest | トップページ | 2011年11月11日11時11分 »