ザウルスをHGWにつなぐ

ザウルス(MI-506)を、HGWのシリアルポートにつないで、WebブラウザやTELNET端末として利用します。

シリアルケーブルを改造

ザウルス(MI-506)とHGWとの接続には、シャープ製CE-155TSを使います。しかし、HGWのシリアルポートは、どういうわけかDTRとRTSがLOWになっているので、このままではザウルスがデータを送れません。そこで、ザウルスから出るDSR信号を、DTR信号、RTS信号としてザウルスに戻してやることにより、データが送れるようにします。D-sub 9pin のシリアル延長ケーブル(ヨドバシカメラで800円ぐらい)を用意して、これを途中で切断し、下の図のように結線します。CE-155TSを切断して改造するのはもったいないのでやめましょう(5,000円もします)。

HGW側 (DCD)1--------1 ザウルス側
(RxD)2--------2
(TxD)3--------3
(DTR)4 4-+
(GND)5--------5 |
(DSR)6--------6-+
(RTS)7 7-+
(CTS)8--------8
(RI )9--------9

mgettyを用意

mgetty-1.1.21 をクロスコンパイルします。バイナリは、ダウンロードページにあります。

コンパイルする前に、policy.h と Makefile を修正し、ザウルスモデムエミュレート用のパッチを当てます。下に修正のポイントを示します。これ以外の行は、初期値のままにしておきます。

policy.h:
#define DEVICE_OWNER "root"
#define DEFAULT_PORTSPEED 57600
#define FAX_IN_OWNER "root"
# define MAILER "/usr/qmail/bin/sendmail"
/*#define FAX_NOTIFY_PROGRAM "/usr/local/lib/mgetty+sendfax/new_fax"*/

Makefile:
CC=ppc-linux2.4-gcc
CFLAGS=-O2 -Wall -pipe -msoft-float -DAUTO_PPP
prefix=/mnt/local
CONFDIR=/etc/sysconfig/mgetty+sendfax

tools/Makefile:
../sedscript: ../policy.h ../Makefile ../mksed.c
@cd .. ; $(MAKE) CC=gcc sedscript

ザウルスモデムエミュレート用のパッチを当てます。パッチは、トラップさんの、ザウルス-LAN 接続計画で入手します。

% cd mgetty-1.1.21
% patch -p1 < mgetty-modem_emu.patch

コンパイルして、インストールします。

% make
# make install
# cd /mnt/local
# cp -r /etc/sysconfig/mgetty+sendfax .
# cd ‾masa/
# tar cvfPz mgetty-1.1.21-binary-ppc-linux2.4.tar.gz /mnt/local

mgetty-1.1.21-binary-ppc-linux2.4.tar.gz を、HGWに送って、展開します。

beta2# tar xvfPz mgetty-1.1.21-binary-ppc-linux2.4.tar.gz
beta2# cp -r /mnt/local/mgetty+sendfax /etc/sysconfig
beta2# cd /etc/sysconfig/mgetty+sendfax
beta2# chmod 644 *
beta2# chmod 600 login.config

設定ファイル(login.config, options, ip-up, ip-down, pppoe)を修正します。PPP接続時の認証は行わない設定にするのと、ADSLのPPPoE接続設定と矛盾しないようにするのがポイントです。

/etc/sysconfig/mgetty+sendfax/login.config:
...
/AutoPPP/ - a_ppp /usr/sbin/pppd 192.168.0.250:192.168.0.251 nodetach proxyarp noauth
...

/etc/ppp/options:
defaultroute, persist の行を削除(そのほかの行はPPPoE接続用の設定のまま)

/etc/ppp/ip-up:
if [ "$2" = "eth0" ]; then
...
(PPPoE接続時の設定)
...
fi

/etc/ppp/ip-down:
if [ "$2" = "eth0" ]; then
...
(PPPoE切断時の設定)
...
fi

/etc/rc.d/scripts/pppoe
...
/usr/sbin/pppd eth0 user $user persist defaultroute 2>&1 > /dev/null
...

save_config を実行します。

シリアルポートへの接続時に、mgetty が動作するようにします。これにより、シリアルポートをコンソールとしては使えなくなるので、注意してください。

/etc/inittab:
...最後の行
#1:23:respawn:/sbin/agetty ttyS0 115200
1:23:respawn:/mnt/local/sbin/mgetty -r ttyS0

/mnt/startup
...最後の行
cp -f /mnt/backup/inittab /etc/inittab
init q
killall agetty

/etc/inittab を /mnt/backup にコピーしておきます。/mnt/startup を実行します。

beta2# cp /etc/inittab /mnt/backup
beta2# /mnt/startup
beta2# ps -ax | grep mgetty
777 ? S 0:00 /mnt/local/sbin/mgetty -r ttyS0

ザウルスの設定

ザウルスインターネット設定で、電話番号=1、ユーザ名=a、パスワード=a に設定します。いずれも使われないので、何を設定してもかまいません。DNSサーバは 192.168.0.1 にします。

これで、ザウルスから常時接続インターネット利用が可能となりました。通信速度は最大56kbpsなので、ADSLに慣れているととても遅い気がします。

また、ザウルスのTELNETを利用すれば、HGWにログインすることも可能なので、ちょっとした操作が必要なとき、いちいちPCを起動しなくてもすみます。

Bugs

ザウルスからFTPを行うと、エラーになる。

現象:
ZaurusFTP 1.12 geocities対応版PL5を使用。リスト表示時に、control connection disconnected と表示されて、その後利用できなくなる。HGW側のログ(/var/log/messages)は、以下のとおり。
proftpd: Failed binding to 192.168.0.1, port 20: Address already in use 
対処
原因不明。未対処。

ホームに戻る

Valid HTML 4.01!