EMonster の microSDHC カードをマウントする
SynCE (ActiveSync) じゃなく USB マス・ストレージ・クラスで接続
しばらく前に EMonster (S11HT) を買ったのだけど、うちにはもう Windows PC がないので ActiveSync を使って接続するってのができなくて*1、どうすればいいんだろうと探してみたら SynCE (公式サイト) というプロジェクトがあるのだった。
でも、ドキュメントを読んでみたら、一部まだ Debian パッケージになってないところがあったりするし、ちょっとめんどうそう。というところで、WM5torage というのを EMonster にインストールすれば USB マス・ストレージ・クラスで接続できちゃうというのを知って、そっちにすることにした。同期したいものがあったりするわけでなく、ただファイル転送がしたいだけなので、これで必要十分。
まず、まとめ Wiki にあるように "PC への USB 接続" で "高度なネットワーク機能を有効にする" のチェックをはずしておく。そして xda-developers というサイトのフォーラム (forum.xda-developers.com) で会員登録して、このポストにアタッチされてる WM5torage の Kaiser (EMonster の海外名のひとつ) 対応版をダウンロードし、インストール。あとは USB ケーブルでつないで、WM5torage を起動し Activate するだけ。
マウントされるまでちょっと時間がかかるよって書きこみを 2ch で見た気もするのだけど、うちではふつうに数秒でマウントされた。
/etc/fstab と udev ルールを書いておく
これだけでも別にいいのだけど、どうせなんでいろいろ設定しておく。
"iPod のマウント - だらりな。" に書いたのと同じように、/etc/fstab には以下のようなラインを追加した。マウント・ポイントは、ホントは /media 以下にするのが正しいのかもしれない (wikipedia:FHS 的に)。
/dev/emonster /mnt/emonster vfat flush,noauto,nodev,noexec,rw,nosuid,user,dmask=022,fmask=133,codepage=932,iocharset=utf8 0 0
あとは udev ルール。接続後に dmesg して、/dev/sdc であることを確認。
usb 1-5: new full speed USB device using ohci_hcd and address 18 usb 1-5: configuration #1 chosen from 1 choice scsi20 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 18 usb-storage: waiting for device to settle before scanning usb-storage: device scan complete scsi 20:0:0:0: Direct-Access WM5torag S11HT 1.74 PQ: 0 ANSI: 0 CCS sd 20:0:0:0: [sdc] 7862272 512-byte hardware sectors (4025 MB) sd 20:0:0:0: [sdc] Write Protect is off sd 20:0:0:0: [sdc] Mode Sense: 03 00 00 00 sd 20:0:0:0: [sdc] Assuming drive cache: write through sd 20:0:0:0: [sdc] 7862272 512-byte hardware sectors (4025 MB) sd 20:0:0:0: [sdc] Write Protect is off sd 20:0:0:0: [sdc] Mode Sense: 03 00 00 00 sd 20:0:0:0: [sdc] Assuming drive cache: write through sdc: sdc1 sd 20:0:0:0: [sdc] Attached SCSI removable disk sd 20:0:0:0: Attached scsi generic sg3 type 0
つぎに udevinfo --attribute-walk --path=`udevinfo --query=path --name=/dev/sdc` して、EMonster から Linux Box へ遡りながら出力されるディヴァイス情報の、最後の EMonster 情報ブロックを見る (たぶんこの見かたでいいんだと思う)。
looking at parent device '/devices/pci0000:00/0000:00:0b.0/usb1/1-5': KERNELS=="1-5" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{dev}=="189:15" ATTRS{configuration}=="" ATTRS{bNumInterfaces}==" 1" ATTRS{bConfigurationValue}=="1" ATTRS{bmAttributes}=="c0" ATTRS{bMaxPower}=="500mA" ATTRS{urbnum}=="884" ATTRS{idVendor}=="045e" ATTRS{idProduct}=="ffff" ATTRS{bcdDevice}=="0000" ATTRS{bDeviceClass}=="00" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="00" ATTRS{bNumConfigurations}=="1" ATTRS{bMaxPacketSize0}=="64" ATTRS{speed}=="12" ATTRS{busnum}=="1" ATTRS{devnum}=="16" ATTRS{version}==" 2.00" ATTRS{maxchild}=="0" ATTRS{quirks}=="0x0" ATTRS{authorized}=="1" ATTRS{manufacturer}=="Microsoft" ATTRS{product}=="Windows Mobile Device" ATTRS{serial}=="067AB718B0BAF1A0E556452EB3E73EDB5FC366F9"
iPod のときは "ATTRS{manufacturer}" と "ATTRS{product}" を使って、iPod ならなんでも〜ってルールにしたけど、今回は "ATTRS{serial}" を使って、この機器だったら〜というルールにしてみた。
/etc/udev/local.rules (/etc/udev/rules.d/x00_local.rules からシンボリック・リンクをはってある) に EMonster 用ラインを追加。
# Apple iPod SUBSYSTEMS=="usb", ATTRS{manufacturer}=="Apple*", ATTRS{product}=="iPod*", SYMLINK+="ipod" # HTC EMonster SUBSYSTEMS=="usb", ATTRS{serial}=="067AB718B0BAF1A0E556452EB3E73EDB5FC366F9", SYMLINK+="emonster"
これで sudo /etc/init.d/udev reload すれば、次回から /mnt/emonster にマウントされる。
最後にスクリーンショット
設定前の EMonster のプロパティ x 2。ちなみに 4 GB の microSDHC カードがささってる。
設定後の EMonster のプロパティ ("Drive" タブは変わらない)。
*1:もしかしたら WINE で動いたりするのかもしれないけど、WINE って使ったことないし。