ザウルス(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-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を起動しなくてもすみます。
proftpd: Failed binding to 192.168.0.1, port 20: Address already in use