sigmarion IIIをパートナーシップを結ばずにLAN経由で同期する

2008/11/29PDA::sigmarion3

普段Kubuntu環境しか利用していない身として、sigmarion IIIと同期を取る為だけにWindows環境を起動させたくありません。できればVMware Serverの仮想OS*1上にインストールしたActiveSyncと同期を取らせることができれば、再起動の手間とかがなくなり非常に便利です。

が、VMware Serverにて提供されるUSBエミュレーションではsigmarion IIIをUSB接続するとsigmarion IIIがフリーズしてしまい同期どころではありません*2。どうしたものかと考えていましたが、ActiveSync 3.xまではCEデバイスとパートナーシップを結んだ後はLAN経由で同期を取ることができます。

これはVMware Server上に構築されたActiveSync 3.8 on Windows 2000環境とパートナーシップを結ばずに無線LAN接続する方法について奮闘したときのメモ。

*1 : Windows 2000 Professional

*2 : ちなみにAdvanced W-ZERO3[es]はVMware Server上の仮想マシン(ActiveSync 4.5 on Windows 2000)と問題なく利用できました

環境

ActiveSyncホスト(仮想環境)

  • VMware Server 1.0.6 on Debian GNU/Linux 4.0(etch)/i386
  • Windows 2000 Professional SP4
  • コンピュータ名: vm-host
  • ActiveSync 3.8日本語版

ActiveSyncホスト(Windowsネイティブ環境)

  • Windows 2000 Professional SP4
  • コンピュータ名: native-host
  • ActiveSync 3.8日本語版

接続対象CEデバイス

  • NTT DoCoMo sigmarion III
  • CEデバイス名: sig3

パートナーシップ情報の取得

とりあえず、ネイティブ動作するWindows環境下でActiveSyncとsigmarion IIIとのパートナーシップを構成します。パートナーシップが構成できたら、母艦のレジストリエディタにてHKEY_CURRENT_USER\Software\Microsoft\Windows CE Service\Partners\01234567*3をエクスポートします。

エクスポートされたファイルを適当なエディタ*4で開き、以下のコメントに記述されたキーの値を適合するように編集。

[HKEY_CURRENT_USER\Software\Microsoft\Windows CE Services\Partners\01234567]
"Schedule Option"=dword:00000000
#CEデバイス名に変更
"DisplayName"="sig3"
"DeviceType"="Jameson"
"Description"=""
#母艦上に作成する同期用フォルダを指定
"DataFolder"="C:\\Documents and Settings\\Username\\Application Data\\Microsoft\\ActiveSync\\Profiles\\sig3"
"Processor"=""
"ProcessorType"=dword:00000720
"OemInfo"="PDA for NTT DoCoMo"
"TotalSize"=dword:00000000
"Version"=dword:038c0a04
"Capabilities"=dword:00000110
"ServerMajor"=dword:00000000
"ServerMinor"=dword:00000000
"PimsInstalled"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows CE Services\Partners\01234567\Services\Synchronization\Objects\Appointment]
@="Appointment Object"
"Store"="<*Invalid*>"
"Display Name"="予定表"
"Plural Name"="予定"
#ActiveSyncのインストールパスが異なる場合は正しいパスとなるように編集。
#この例では予定表ですが、チャンネル、連絡先、ファイル、受信トレイ、Pocket Access、仕事も同様に編集します
"DefaultIcon"="C:\\Program Files\\Microsoft ActiveSync\\outstore.dll,-131"
"Disabled"=dword:00000001
"Preserve"="Store,Disabled,DefaultIcon,Display Name,Plural Name"

*3 : 01234567はパートナーシップ構成時に自動的に振られるID。パートナーシップが複数結ばれている場合、このパスに含まれるDisplayNameキーの値がCEデバイス名となっているので、これを基準にエクスポートするパスを判断して下さい

*4 : メモ帳など

VMware Server上の母艦の設定

  1. エクスポートされたレジストリをインポート
  2. レジストリの\HKEY_CURRENT_USER\Software\Microsoft\Windows CE Services\Partners\01234567\DataFolderキーの値のフォルダを作成(上記の例だとC:\Documents and Settings\Username\Application Data\Microsoft\ActiveSync\Profiles\sig3)

CEクライアント側の設定

CEデバイスで動作する適当なレジストリエディタを用いて以下のキーを編集する。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\Partners\P1]
#ネイティブ環境のコンピュータ名(native-host)からVMware Server環境のコンピュータ名(vm-host)に変更
"PName"="native-host"
#パートナーシップのID
"PId"=dword:01234567

ここまで設定したら

sigmarion IIIからネットワーク経由でのActiveSyncをかければVMware Server環境下の母艦と同期できるようになります。

参考

外部ストレージのマウントされるフォルダ名称の変更

2008/10/07PDA::sigmarion3

レジストリを編集することで、標準の「SD メモリ カード」などの外部ストレージがマウントされるフォルダを変更することが可能です。

編集する場所は以下の通り

CFカード

\HKLM\System\StorageManager\Profiles\PCMCIA\Folder
デフォルト値: メモリ カード

SDカード

\HKLM\System\StorageManager\Profiles\SDMemory\Folder
デフォルト値: SD メモリ カード

USBマスストレージクラスデバイス

USBメモリ、USB HDDなどがこれにあたります。

\HKLM\System\StorageManager\Profiles\USBHDProfile\Folder
デフォルト値: LOC_STORE_HD_FOLDER