Hatena::ブログ(Diary)

W-ZERO3 ツールMEMO このページをアンテナに追加

0000-01-02(日) USB Select

USB Select 〜リセット無しでActiveSync・マスストレージ切替〜

| 23:00 | USB Select 〜リセット無しでActiveSync・マスストレージ切替〜を含むブックマーク

特徴・機能

USB Selectは、リセットすることなく、USB接続機能を切り替えることができるツールです。ActiveSyncからマスストレージへの切替も即座に行えます。

W-ZERO3でマスストレージ機能を利用するには、直接レジストリをいじる(または、おそらく同様のやり方でレジストリ設定するHiramezTweak等のツールを使う)方法がありますが、切り替えるためには必ずリセットが必要になります。

USB Selectではその必要がないので、素早く切り替えることができます。

※W-ZERO3で可能なマスストレージ機能では、どんな方法をとってもminiSDカード内のみの参照となります。ZERO3本体メモリ内は参照できません。

公開ページ

こちらのページで公開されています。

詳しい紹介ページはこちらです。

作者さんブログはこちら。


インストール

.NET Compact Framework 2.0を事前にインストールする必要があります。入手はこちらから。

USB Select自体は、cabファイルによるインストールですので、ZERO3単体でできます。

使い方

ダイアログからの設定

USB Selectをインストールして実行すると、このようなダイアログが表示されます。

f:id:solipt:20060206020128p:image

初期状態では、ActiveSync(RemoteNDIS) が選択されていると思います。接続先ドロップダウンリストの中から、 Mass Storage を選択するだけで、マスストレージへの切替は完了です。リセットの必要はありません。

この状態でUSBケーブルをPCに繋げば、マスストレージとして認識されます。

私が試した限りでは、USBケーブルを繋ぎっぱなし状態で、ドロップダウンリストをActiveSyncから、MassStorageに変更したら、その瞬間にActiveSyncが切断され、マスストレージ認識開始&使えるようになりました。これはなかなかお手軽&便利です。

.NCF 2.0ベースのため、起動は少し遅めですが、リセットにかかる時間を考えれば、ずっと手早く切替が行えると思います。

他に、モデム接続・シリアル接続が選択できるようです。シリアルできるんですね〜。試す機会が無いですが(^^;;。

あと私はデータ定額契約で、モデム機能を使うと料金が・・なので、モデム機能もまだ試していません。

また、Ver0.93で画面に「マスストレージ」タブが追加されました。ここではマスストレージドライバのidVendor/idProductを変更しますが、特に問題がなければ設定を変える必要は無いと思います。


コマンドラインオプションによる切替

Ver0.93で、コマンドラインオプション指定により、直接接続方法を指定、またはトグル指定して接続モードを変更した後、USBSelect.exeを終了することができるようになりました!。これは便利です。

詳細は、作者さんによる説明がわかりやすいですので、そちらを参照下さい。

USB Select 0.93 - らくがき

現在リンク切れになってしまっているので、こちらを参照下さい。

Hiro's Bar - B-Wiki - USB Select

これで、例えばコマンドラインオプションを指定した、USBSlect.exeのショートカットを作成しておき、それをZERO3標準のボタン割付機能や W-ZERO3 UtilityPlusでボタンやキーに割り付ければ、一発で、ActiveSync←→MassStorageの切替ができるようになります。頻繁に接続モードを変えたい人にはとても便利ですね。

ショートカットの作成とそのコマンドライン指定は、ファイラーGSFinder+を使うと簡単にできます。GSFinder+でUSBSelect.exeをタップ&ホールドして出てきたメニューから、「ショートカットの作成」を選べば、同じ場所に拡張子「lnk」のショートカットが作成されます。そのショートカットのプロパティを、またGSFinder+で表示すると、「ショートカットタブ」からコマンドラインオプションの設定ができるようになります。


使用にあたっての注意点

作者さんのブログにあった注意点

2006/02/06現在、まだ正式版ではないため、使用の際は自己責任で。

まだReadMe等が無いようですので、作者さんのブログから少し引用させていただきます。

2006年01月30日 USB Select 0.90 エントリーより

実行には、.NET Compact Framework 2.0と、何が起きても動じない勇気と、自己責任が必要です。ぶっちゃけ、レジストリは触るわ、デバイスにけったいなioctlは発呼するわ、とてもじゃないけれど、データが消えたりシステムが立ち上がらなくなったりする被害が起きても、全く責任なんて取れないからです。

これらの、条件を満たす方は、こちらからダウンロードしてください。W-ZERO3でしか動作検証していませんが、大抵のUSB機能を持ったWndows Mobile 5.0で動作すると思います。思っているだけで、動かなくても責任は負えません。なお、このソフトは、フリーソフトとします。

また、W-ZERO3標準に存在しない設定(マスストレージやシリアル接続)にしたまま、USB Selectをアンインストールした場合、設定→ユーティリティ→通信モードタブの、USB接続の設定ドロップダウンリストが、ロックされたままになってしまいます。

こちらは、レジストリ設定を変更することで元に戻すことができるそうです。また引用させていただきます。

2006年01月31日 USB Select 小ネタ(2) エントリーより

この場合、レジストリエディタを使って、\HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers のDefaultClientDriver の値を、RNDISかUSBSER_Classにしてやり、システムをリセットすることで回復します。

試した私が思った注意点

私が、初めてこのUSB Selectを試したとき、まだ自分のZERO3で、マスストレージ利用を1度もしていなかった(たまたま使う機会が無かった(^^;)のですが、その状態でこのUSBSelectをインストール・PCに接続すると、PC側はあれこれマスストレージ認識手順を踏んでいても、中々認識されませんでした。

一度設定を戻してZERO3をリセットした後に試したら、今度はうまくいきました。

元々マスストレージ認識は、すんなりいかないこともあるようです。そこでトラブっても大丈夫なように、前もって心がけ&準備して試すのがよいと思います。

また、USB Selectを使おうが、レジストリを直接いじってリセットしようが、W-ZERO3をマスストレージとしてPCに認識させる際には、よくあるUSBメモリなどと違い、結構時間がかかります(1分程度?)。あせらずゆっくり認識を待つのが吉です。


個人的な感想&妄想(^^;

単機能のツールですが、逆にそれを利点とした使い方ができると便利ではないかと思いました。

例えばコマンドライン指定で、起動する度にActiveSync←→MassStorageの切替をトグルで行った後に自身が終了するようなことができるとか。(まんま、EasyDialやAppCloseのイメージですね(^-^A;;;;)

その切替時には、できれば「ActiveSyncに切替えました」みたいなお知らせメッセージみたいなのをちょこっと出して(何もないと現在の状態がわからなくなってしまうので)、そのメッセージは自動で閉じる・・(自動で閉じない方がデフォルトかな)

そんな使い方ができると便利かも・・などと勝手に妄想してみました(笑)。

実際、そんなに頻繁にUSB接続を切り替えるケースはないような気もしますが、自宅と出先で切り替えて使う、というケースは普通にあると思いますので、結構ニーズはあるのではないかと思います。

Ver 0.93で、コマンドオプションによる切替に対応されました!対応ありがとうございます。

nullnull 2006/02/02 08:57 PC側から切り替えられると便利だなぁ.と思いますが..

難しいかな..

soliptsolipt 2006/02/02 18:49 確かに便利そうですね。ただ何となく難しそうな気が(^^;。PC側から切り替えられるようにするとなると、最低限PC側から情報を受け取れるようにするため、W-ZERO3に常駐する必要がありますか。PCとW-ZERO3との情報のやりとりって簡単にできるんでしょうか・・。

hirohiro 2006/02/03 13:33 USBを使えば……。但し、この目的にUSBを使うと、当然、USBマスストレージやActiveSyncにUSBを使えなくなります。

どうしてもやるのなら、一本のUSBの物理的な線を、仮想的な複数のUSBチャネルに見せかける仮想USBドライバみたいなものをでっちあげ(PCとW-ZERO3双方に必要)これを利用してやるなどの工夫が必要になります。そこまでやるんだったら、まず、CardExportII的な高速化の取組みのほうが先のような気もしますし……そこまで、やれる時間がありません oTL

soliptsolipt 2006/02/03 23:21 そこまで実装となると、厳しいものがありますね。CardExportIIは製品ですから、ドライバを実装?するだけの余裕は出てくるのでしょうが・・。
hiroさんが色々試行錯誤されているので、正式版を待つ身としては楽しみにしてしまうのですが(笑)、自前で何か特別に実装されるのは、リスクと隣り合わせのようにも思います。
とりあえずの限界が見えたら、1度リリースして一呼吸置いてみることも、良いアイデア発見に繋がるかもしれませんね(^^;

emfunemfun 2007/12/12 01:41 >Ver0.93で、コマンドラインオプション指定により、直接接続方法を指定
ページが見つからないというエラーが出て作者さんの説明がみられません。
Readmeのようなものもみつかりません。
詳細をお教えいただけないでしょうか。

soliptsolipt 2007/12/12 02:27 ★emfunさん
エントリーに公開先・作者hiroさんによる詳しい説明ページへのリンクを追記しました。
すいませんこのエントリー、公開当初のVerのままで放置気味になってしまってまして(^-^A;;

カレンダー
0000 | 01 |
0001 | 01 |
0002 | 01 |
0098 | 08 |
0099 | 06 | 08 | 10 | 12 |
1990 | 01 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 12 |
2009 | 01 | 11 |
2010 | 01 | 02 |
2011 | 05 |
2012 | 01 |
Connection: close