2010年12月 8日 (水)

EKEN M001 とイーモバイル D02HW

androidでは動かないかもしれないが、CE6だと動くと思われる。

手元に解約済みのD02HWがあるが、
D02hw_2

差し込むと、ディスクが増え、しばらくするとCOM1, COM2 が生成される。

COM1に対して115200bps でオープンするとATコマンド(ATI1等)の応答を返すので、
動く可能性99%, ^ ^;

ドライバは PPPVSP.DLL というファイルであり、3G Modem ドライバらしい。

中身の検証をしてみたく、誰かこのソースを持っていたら、こそっと送って下さい。


| | コメント (0) | トラックバック (0)

2010年12月 6日 (月)

Windows CE6で動く PL2303 USBシリアルドライバ

ネットで探すとなぜかソースがある。

PL2303_WinCE_Driver Sourcecode:
http://www.hackchina.com/dlpre.php?lang=en&id=141923

マイクロソフトがサンプルで提供しているUSBSER.DLLをPL2303用として拡張している感じ。

CE6 Platform Builder でビルドしたものをここに置いておきます。

「USBSER_PL2303.zip」をダウンロード

■インストール方法
 ①USBSER.DLLは、Windowsフォルダへコピーしてください。
 ②USBSER.REGは、RegEditでインポートしてください。

■ほんとに、このドライバは大丈夫?

入手元がはっきりしないので、いろいろ調べてみた。

①レジストリと動作の関係

レジストリを調べると、どうやらこのドライバは3種類のドライバ共用になっている。

どうやって3種類の動きを決めているかというと、レジストリの中のDeviceArrayIndexで行っている。

レジストリの中は、以下のようになっており、

            (ベンダーID, プロダクトID)
DeviceArrayIndex = 0 ...(1118,206)
DeviceArrayIndex = 1 ...(1118,121)
DeviceArrayIndex = 2 ...(1659,8963)

USB接続時に所定のベンダーID, プロダクトIDからUSBSER.DLLがロードされて、所定のDeviceArrayIndex の値を拾って処理を分けている。

これらのベンダID, プロダクトIDの値を16進数に変換して調べると

10進数 = 16進数
1118,206 = 0x045e,0xce
1118,121 = 0x045e,0x79
1659,8963 = 0x067b,0x2303

になり、USBデバイス一覧サイト(http://www.linux-usb.org/usb.ids)からみると

ベンダーID = 0x045e、プロダクトID(0xce, 0x79)は、マイクロソフト製の製品
ベンダーID = 0x067b、プロダクトID(0x2303)は、ProlificのPL2303対応の製品

となっている。

CE6 Platform BuilderにあるサンプルソースUSBSER.DLLのレジストリでは、DeviceArrayIndex=0,1になっており、これは、それにDeviceArrayIndex=2を追加した形になっている。従来の仕様も存在し、安心できる仕様になっている。

②コーディングについて

usbdev.cppをみると、CreateSerialObject()の中で

else if (DeviceArrayIndex == 2) {
   pSerialPDD= new UsbPl2303SerialClientDriver(lpActivePath,pMdd, pHwObj);
   if (pSerialPDD && !pSerialPDD->Init()) {
     delete pSerialPDD;
     pSerialPDD = NULL;
   }
}

てな感じで、DeviceArrayIndexの値に応じてそれぞれのクラスを呼び出している。

CE6 Platform BuilderにあるサンプルソースUSBSER.DLLでもこの形をとっており、

①UsbActiveSyncSerialClientDriver()
②UsbSerClientDriver()
③UsbPl2303SerialClientDriver()

と、③のPL2303用(UsbPl2303SerialClientDriver)を追加で定義している。

でこのクラスであるが、

1) コンストラクタ
2) ::Init()
3) ::SetBreak
4) ::Pl2303VendorRead
5) ::Pl2303VendorWrite

の記述が行われており、4)::Pl2303VendorRead 5) ::Pl2303VendorWriteは、::Init()の中でしか呼び出していないため、他のドライバとの違いは、SetBreak()だけという感じ。

また、よくソースをみると ::Init()の中で

if(lpTargetUsbDevice->Descriptor.bDeviceClass == 0x02)
 m_dwHwType = PL2303_TYPE_0;
else if(lpTargetUsbDevice->Descriptor.bMaxPacketSize0 == 0x40)
 m_dwHwType = PL2303_TYPE_HX;
else if((lpTargetUsbDevice->Descriptor.bDeviceClass == 0x00) || (lpTargetUsbDevice->Descriptor.bDeviceClass == 0xFF))
 m_dwHwType = PL2303_TYPE_1;

となっており、Linuxのpl2303.cとロジックが酷似している。かなり大丈夫なドライバではないかと思う。

※メモ
・2010/12/10 カーネルモードかユーザーモードか指定していなかったので修正しました。

| | コメント (0) | トラックバック (0)

CE6 で iPhoneToday

WindowsMobileで著名なiPhoneTodayですが、CE6でも動くものがありました。

ダウンロードは、ここ

iPhoneToday-1.5.4-pnd.zipを解凍して、iPhoneToday.exeを実行すると、こんな感じになります。

きちんと800x480に調整してくれています。ありがたい。
Iphonetoday


| | コメント (0) | トラックバック (0)

2010年12月 4日 (土)

EKEN M002 で CE

どうやらEKEN M001 、M002、M003では同じCEファームウェアで動くらしい。

というわけで、M001に引き続き、M002を購入してみた。

使用したCEファームウェアは、SLATEROIDの[WinCE] Hopelessness Edition v0.4
URLは、ここ

これは、今までのCEと比べ
・スクロールバーが太い
・SIPが増えている
とても、使いやすくなっている。その上、前回同様に、
・TCPMP
・WinRar
・Youtube
も入っているし、WiFiも使える。M001用に作成したUSBホストケーブルでマウスやキーボード、GPSやPHSも使えてます。

最近 M002の後継機種でカメラ内臓のM002Sが出ているが、もともと用意されてあった30pinコネクタ内のUSBホスト側の配線が内臓カメラへ接続されているようである。つまり30pinコネクタのUSBホスト機能は、E002Sでは使えなくなっている模様。要注意。


| | コメント (0) | トラックバック (0)

2010年10月22日 (金)

EKEN M001 CE の日本語化

日本語化といっても単に日本語フォントが表示できるようにするだけの設定。

手順
① XPから C:\Windows\Fontsフォルダにあるmsgothic.ttcをCE の \Windows の下にコピーする。

② M001でregeidtを起動して、CEのレジストリを以下のように修正する。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\SystemLink]
"Symbol"="\Windows\msgothic.ttc,MS PGothic"
"Times New Roman"="\Windows\msgothic.ttc,MS PGothic"
"Arial"="\Windows\msgothic.ttc,MS PGothic"
"Courier New"="\Windows\msgothic.ttc,MS PGothic"
"Tahoma"="\Windows\msgothic.ttc,MS PGothic"

とはいえ、キーボードもないCEでレジストリを書き換えるのは面倒なので、インポートするファイルをここに置いておきます。

③再起動する。

これでとりあえず日本語アプリでメニューやダイアログの文字が日本語でも表示可能になります。


| | コメント (0) | トラックバック (0)

2010年10月20日 (水)

A81-EのCEでのGPS確認ソフト、u-center mobile

やはりEKEN M001 のCEはとても遅くて、我慢ならず、A81-Eを購入してみました。

CEのFirmwareは、Witsのサイトからではなく、wirelessionのW1060をダウンロード。
http://www.wirelession.com/products_view.asp?cid=100&id=79
W1060のCE 20100825版をダウンロード(あれっ、10月現在、サイトから消されています)


購入したA81-EにはGPSが搭載されていて、動作するか確認してみました。

使用したソフトは、「u-center mobile」
これはu-bloxのサイトからダウンロードできる
http://www.u-blox.com/en/evaluation-tools-a-software/u-center/u-center-mobile.html

こんな画面で動作確認ができる。

20101019144954

COMポートは、COM5 ボーレートは9600bpsでした。
なかなかGPS受信衛星数が3以上にならず、位置をFIXしないのが、A81-Eの特徴です。困ったものだ。

| | コメント (0) | トラックバック (0)

2010年9月12日 (日)

Windows CE6用の232USB.DLL

オリジナルの作者さんと連絡とれたので、WindowsCE6用の232USB.DLLと232USB.EXEのバイナリを掲載しておきます。

「232USB.DLLとEXE」

使い方は、あなたが落とした銀のペルソナさんのページを参照してください。

①232USB.DLLをWindowsフォルダへコピー
②232USBEXE.EXEは、好きなフォルダにおいて、実行する
③USB機器を差し込んで、画面上で設定しながらNEWボタンで反応するか確認する。

※ちなみにEKEN M001 ではUSB機器によっては、差し込んでもOSが認識しないことがあります。
多分USBの電源電圧、供給電流などが怪しいからかもしれない。

ですので、レジストリも一緒に掲載しておきます。
レジストリを登録すれば232USBEXE.EXEを実行する必要はなく、そのままUSB機器を接続するだけで
使用することが出来ます。

「WILLCOM NS001Uのレジストリ」

「USB-GPS ND001のレジストリ 」

※レジストリファイルは、エクスプローラからクリックすると登録されます。
(もし、クリックしても登録されない場合は、regedit.exeのimportで登録してください。)

ソースも一緒に掲載しておきます。VisualStudio2005+WindowsCE6+CE R2+CE R3のデバイス エミュレータ: ARMV4Iでビルドしたソースです。

「232usbdllのソース」
「usb232exeのソース」

※2010/12/10
ユーザーモードか、カーネルモードか、はっきりしていなかったので修正しました。現在ユーザーモードです。

| | コメント (2) | トラックバック (0)

EKEN M001 でNS001U接続時のレジストリ設定

CEをインストール直後のEKEN M001でWILLCOMのNS001Uでダイヤルアップしてもうまくいかない。

CEではunimodem.dllがATコマンドの処理を行っており、レジストリの中を調べてみるとどうやらunimodem.dllのinitの処理がどうやら邪魔をしているようである。
3番目、4番目の項目が邪魔をしているようである。
Ns001u_unimodem_pre

以下のように3番目、4番目の項目を削除してみた。
Ns001u_unimodem_aft

普段これで使用している。これはW-Zero3と同じ設定なので、多分正しいと思う。

| | コメント (0) | トラックバック (0)

2010年9月 1日 (水)

EKEN M001 CE6 で GPS

GlobalsatのND100はPL2303のドライバで動作する。CE5用のドライバはprolificからダウンロードできるんだけど、これはCE6では動作しない。

Nd100


なので、232USB.DLLでCDC ACM+PL2303で試してみる。
PHM ToolsのDEVMGMT.EXEでみるとCOM1:が出来ていることが分かる。
Gps_devmgmt

あとは、動作確認ソフトなんだけど、ここではSiRFチップの動作確認ソフト SirfTech.exeで試してみた。
(おぃ、おぃ、ND100はMTKチップだって!)

COM1:を選んで、ボーレートを38400bpsに設定
Gps_sirtech1

オープンボタンを押すと、Protocol=NMEAの表示が・・・
Gps_sirtech2

緯度経度も表示されているようで、無事動いているみたい。
Gps_sirtech3


| | コメント (0) | トラックバック (0)

EKEN M001 WindowsCE6 + NS001U でモバイル通信

ウィルコムのNS001UとEKEN M001 が接続できないかなあと、あれこれ試していたのですが、ようやく出来ました。

Ns001u

あなたが落とした銀のペルソナから232USB.DLLのソースを入手して一部修正しつつ、CE6用のDLLを作成

PHM ToolsのDEVMGMT.EXEで確認するとポート COM1: 見えた!!。感動!!
Ns001u_devmgmt

あとは、ダイヤルネットワークの設定をおこなって
Ns001u_ppp1

接続を行ってみる
Ns001u_ppp2

接続したというメッセージが・・・
Ns001u_connect

タスクトレイには、接続中のアイコンが・・・
Ns001u_tasktray

ブラウザでもつながったよ。
Ns001u_ie

ここまでになるまで、VisualStudio2005、CE6の評価版をダウンロードしたり、M001のレジストリは修正する必要があったり、いろいろ大変でしたがようやく出来ました。

ついでに、USBタイプのGPSも接続出来ました。詳細は、また後で・・・・

| | コメント (0) | トラックバック (0)

その他のカテゴリー

CE6 | EM51 | HSG X5A | Linkstation | PDA | SC-02B | SmartQ | Voosoo V7