2011年11月16日

Android ← USB → FreeBSD

Android 携帯 IS03 の SD カードを取り外さずに、ケーブル経由で FreeBSD 8.2-STABLE のマシンからマウントすることができた。

前に kernel をコンパイルし直して、umass が使えるようにはしていた。だがそれだけだと /var/log/messages の表示は以下のようであり、マウントにエラーが出る

Nov 16 13:35:25 bouon-an kernel: ugen7.2: <SHARP Corporation> at usbus7
Nov 16 13:35:25 bouon-an kernel: umass0: <au IS03 SD Storage> on usbus7
Nov 16 13:35:25 bouon-an kernel: (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 
Nov 16 13:35:25 bouon-an kernel: (probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
Nov 16 13:35:25 bouon-an kernel: (probe0:umass-sim0:0:0:0): SCSI status: Check Condition
Nov 16 13:35:25 bouon-an kernel: (probe0:umass-sim0:0:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present)
Nov 16 13:35:25 bouon-an kernel: da0 at umass-sim0 bus 0 scbus2 target 0 lun 0
Nov 16 13:35:25 bouon-an kernel: da0: <SHARP au IS03 microSD 2.31> Removable Direct Access SCSI-0 device 
Nov 16 13:35:25 bouon-an kernel: da0: 40.000MB/s transfers
Nov 16 13:35:25 bouon-an kernel: da0: Attempt to query device size failed: NOT READY, Medium not present
-------------------------
Nov 16 13:36:53 bouon-an sudo:   yaemon : TTY=pts/2 ; PWD=/home/yaemon/music/chanson ; USER=root ; COMMAND=/sbin/mount /dev/da0 /mnt/note/
Nov 16 13:36:53 bouon-an kernel: GEOM: da0: partition 1 does not start on a track boundary.
Nov 16 13:36:53 bouon-an kernel: GEOM: da0: partition 1 does not end on a track boundary.

au IS03 てトライした初期のころに FreeBSD のカーネル・ソースいじって書き足したような…… 記憶はあるのだが。どこに足したのだったか。最新ソースに同期してパッチは充てていないから、いまは本家でも入れているのかもしれない。

私のデスクトップの名前は、bouon-an.nakagawa.local


man umass をみて、次のようにして成功した。

Nov 16 13:38:39 bouon-an sudo:   yaemon : TTY=pts/3 ; PWD=/home/yaemon ; USER=root ; COMMAND=/sbin/camcontrol rescan 0:0:0
Nov 16 13:39:44 bouon-an sudo:   yaemon : TTY=pts/3 ; PWD=/home/yaemon ; USER=root ; COMMAND=/sbin/mount -t msdosfs /dev/da0s1 /mnt/note

日本語ファイル名

バックアップをとろうとすると、ls でも cp でも、そのほか何をやってもコマンドが受け付けないファイルが存在する。

まずは $> sudo kldload msdosfs_iconv あかん。

2枚ある SD カードの、使っていないほうを ufs , ext2 , ext3 でそれぞれフォーマットしてみたが電話機から mount できない。

MSDOS FS ならばということで、この検索結果 から 昔のメールアーカイヴ を発見して、/etc/fstab に以下の行を追加して妥協。

/dev/da0s1  /mnt/phone msdosfs rw,noauto,-u=yaemon,-g=wheel,-L=ja_JP.eucJP,-D=CP932 0 0

ls | nkf -w とか面倒くさいし、PC から日本語ファイル名のまま cp できないのも鬱陶しいが。それ以上の手間をかけるのも不合理というものだ。

3 コメント:

匿名 さんのコメント...

MTP使おうよ。(ports)

あとカーネルの再ビルドするくらいだったらlibiconvをgnu版にすればいいじゃない。
それとmountオプション使わないでfstab書き換えとか
バツドノーハウはいい加減捨てた方が良いです。

AOSPのadbdくらいはソース集めてビルドするくらい出来るだろうからそれでデバッグモードでつなぐのが向いていると思います。

理解も出来ずキレるだけなのは重々承知してますが
ちゃんと理解して一皮向けて欲しいです。

Unknown さんのコメント...

友人のタメ口なのだろうなと思ってタメ口で返答

> それとmountオプション使わないでfstab書き換えとか

mount オプションの結果を最後に fstab に反映したって経緯までいちいち書かないのがふつうと思う

> バツドノーハウはいい加減捨てた方が良いです。

Good Know-how がそこらでふつうに検索に引っかかるならば、書かない。引っかからないから、まぁこれでも誰かの足しになるかと書くスタンスは昔から変わっていない。

> 理解も出来ずキレるだけなのは重々承知してますが

反応から察するに、たぶん文体とかキレているように読まれがちなのだろうとは思う。
人間関係などの怒りを吐き出した記事がこの blog に少ないとは言わないけれど。
べつに技術面についてはキレてかいているつもりはないけれどなぁ。

Unknown さんのコメント...

コメントを発見して返してからまる一日半が過ぎて、相変わらず不可解だな、と思ったりしています。

「キレているようにしか見えない」て表現を私は 7月の「掛け算の順序で燃えているひとがいる」て記事で使いました。

「キレる」て言葉は、それをもって誰かを批難したり、改善 (本当に善いかどうかは別として、自分の思い通りに相手が行動なり思想なりを改めること) を求めているときに使う言葉だと私は認識していて。

この記事本文で、私はなにかの改善を誰かに求めたわけでなく、ただ「こうやったらできたよ」と書いただけなのが「キレている」と評されたことに違和感が止まらないようですね。


技術的にどうか。
私が「これは書かなくともわかるだろう」とか「これはやったけれどダメだったよ」とイチイチ書かなかった部分をもって「これが書いていないから貴様は技術的に劣っている」と評されるのは、まぁいいや。

わかるひとにはわかる。わからないならば、匿名じゃなくきちんと自分の名前書いて、アクセスしてこい。

コメントを投稿