Windows CE との連携

海外出張のために Mobile Gear MC/R320 を買った(Mobile のページ参照)。

PC とつなぐシリアルケーブルが付いているが, PC 側には Windows CE Service をインストールしなければならない。 何とか Linux とつながらないかと思って Web を探したら, Connecting a Windows CE box to Linux via the serial cable というページが見つかった。 理解をしている時間もないので,そのまま利用させていただいた。

Linux カーネルは 2.2.10(最初にこれを書いた当時の話)で, こんなときのために CONFIG_PPP=m で make してあった。

とりあえず以前ダウンロードしてあった ppp-2.3.5.tar.gz をコンパイルする:

./configure
make
make kernel  (不要らしい)
make install

/dev/cebox というシンボリックリンクを作っておく:

cd /dev
ln -s ttyS0 cebox

COM1 なら ttyS0,COM2 なら ttyS1 にする。

/etc/inittab に次を追加:

# Put CE box connection on /dev/cebox
T0:23:respawn:/etc/ppp/cebox.sh

/etc/ppp/cebox.sh を作り,実行許可を与える:

#!/bin/sh
pppd call cebox

/etc/ppp/options を作る:

ms-dns xxx.xxx.xxx.xxx
ms-dns yyy.yyy.yyy.yyy
asyncmap 0
auth
crtscts
lock
modem
netmask 255.255.255.0
lcp-echo-interval 30
lcp-echo-failure 4
noipx

(お手本には proxyarp という行もあったがエラーを起こしたので削った)。

/etc/ppp/peers/cebox を作る:

cebox 19200 crtscts
connect '/usr/sbin/chat -v -f /etc/ppp/cebox.chat'
noauth
nodetach
192.168.30.1:192.168.30.3
ms-dns 192.168.30.1

お手本では 115200 になっていたが,この CE 機のデフォールトが 19200bps なので,安全を見て 19200 を選ぶ。

上で 192.168.30.1 は Linux 機の ppp インターフェースに付けたい IP アドレス, 192.168.30.3 は CE 機に付けたい IP アドレスである。 すでにある IP アドレスと重ならないように付ける。

/etc/ppp/cebox.chat を作る:

TIMEOUT 3600
"CLIENT"        "CLIENT\c"
""              "SERVER\c"

kill -HUP 1 として init に /etc/inittab を読み直させる。

CE 機に付属のシリアルで接続する。 両機とも電源を入れたままで大丈夫。 つないだとたんに何もしなくてもやりとりを始める。 tail -f /var/log/messages していると様子がよくわかる。

次のようなエラーが出てしまった:

modprobe: can't locate module ppp-compress-21
modprobe: can't locate module ppp-compress-26
modprobe: can't locate module ppp-compress-24

Web で調べたら,/etc/conf.modules に次のように追加するといいらしい:

alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate

追加したら depmod -a しておく。

これで /var/log/messages にはエラーが出なくなったが, CE が「PC につなげない」と文句を言ってくる。 最初悩んだが,そのエラーメッセージを「OK」で閉じないでおけば, 実際にはつながっていることがわかった。閉じると切れてしまう。

Linux 側で

ping 192.168.30.3
してみて,つながっていることを確認する。100ms くらいで帰ってくる。

Linux 側で IP Masquerade する:

/sbin/ipchains -A forward -s 192.168.30.0/24 -j MASQ

CE 側で Internet Explorer が使えることを確認する。

CE 上の ftp,telnet クライアントについては Mobile のページ参照。

リンク


リンクはご自由にどうぞ。

松阪大学 奥村晴彦 okumura@matsusaka-u.ac.jp

Last modified: Fri Mar 24 08:32:35 JST 2000