DOSでLAN


今度は、フレッツISDNで自宅が常時接続可能になりました。 ダイアルアップルーターを使っているので、Win95/98ならLANカード挿してつないでやれば簡単に使えます。 ところが、私のメール環境であるPC110では、依然としてアナログモデムでダイアルアップ…。 せっかくすぐそこに常時接続の環境があるのに…。

というわけで、電話代ももったいないので、以下のページを参考にしながら、 PC110もLAN接続してやることにしました。


LANカードの選択

PC110はパームトップなので、当然のようにPCMCIAにします。 最近はPCMCIAでも10BASE-Tなら3000円以下で買えます。 どういうカードを選択するかですが、やっぱり「DOSをサポートしている」カードが望ましいでしょう。

メーカーのWebページで製品情報を調べて、DOSのサポートの有無をチェック、さらにパケットドライバが付属していれば手間が減らせます。

簡単に調べた範囲内では、プラネックスENW-3503-TエレコムLD-CDFにはパケットドライバが付属しているようです。 私の場合は手持ちのカードを流用したのでメルコLPC2-Tです。 付属するドライバはNDISだけで、パケットドライバはありません。

最近はDOSで使おうとする人も減っているはずなので、「付いててもNDISドライバのみ」というカードが増えてきているのではないかと思います。少し古めのカードを探した方が、可能性が高いかもしれません。


パケットドライバ

さて、「パケットドライバとは何なのか?」ですが、TCP/IPとソフト(アプリ)とのインターフェイスをするソフト(ドライバ)です。 「DOSでPPP」で取り上げたソフトは、みんなこの「パケットドライバ」に対応したソフトで、 dospppは「モデムでダイアルアップするパケットドライバ」(のようなもの)です。

つまり、dospppの代わりに「LANカード用のパケットドライバ」を使ってやれば、ダイアルアップ時と同じソフトが使えます。

基本的にパケットドライバは、カードごとの専用になります。 LANカードにそれ用の(=純正の)パケットドライバが付属していれば、問題なく使えるでしょう。 しかし、私のLPC2-Tには付属していません。さぁどうするか? 選択肢は2つあります。(「自分で作る」という選択肢もありますが…)

他のカード用のパケットドライバを使う

LPC2-T用のパケットドライバは見つかりませんが、他のカード用のパケットドライバなら入手できます。それらの中に、LPC2-Tで使えるものがあるかもしれません。(PCMCIAならイネーブラもないとダメか?)

NDIS用のパケットドライバを使う

NDISのドライバは付いています。まずNDISを使えるようにして、その上で「NDIS用のパケットドライバ」をかぶせてやります。

前者はうまくいくかどうかわからないので、今回は後者の方法を使うことにします。 ただし、メモリの消費は前者の方が少なくて済むと思います。

LPC2-T以外のカードでも、NDIS用のドライバがあれば、たぶん同じ方法が使えるでしょう。


LANカードを認識させる

ドライバやら何やらの前に、カードを使えるようにする必要があります。 PC110 には IBM PlayAtWill のサブセットが組み込まれているので、その設定を変更します。

LPC2-Tのドライバのマニュアルを読むと、LPC2-Tは C800-CFFF を使うようなので、まずそこを空けてやります。 必ずしも C800-CFFF でなくても構わないのかもしれませんが、めんどくさいので試してません。

次に、ATA/SRAM用のドライバが入っていると誤認されるらしいので、ATA/SRAM用のドライバを無効にします。(もしかしたら98だけの話なのかも?)

[CONFIG.SYS]
----cut here----8<----cut here----8<----cut here----8<----cut here----
...
DEVICE=C:\DOS\EMM386.EXE RAM I=B000-B7FF X=C800-CFFF X=DC00-DFFF FRAME=E000
...
DEVICEHIGH=C:\EZPLAY\SSDPCIC1.SYS
DEVICEHIGH=C:\EZPLAY\IBMDOSCS.SYS 
DEVICEHIGH=C:\EZPLAY\RMUDOSAT.SYS /MA=C800-CFFF,DC00-DDFF /IX=5,10 /PX=15E0-15EF,35E0-35EF,102
DEVICEHIGH=C:\EZPLAY\$ICPMDOS.SYS 
REM DEVICEHIGH=C:\EZPLAY\PAWATAS.SYS /NOBEEP
DEVICEHIGH=C:\EZPLAY\AUTODRV.SYS
...
----cut here----8<----cut here----8<----cut here----8<----cut here----

この設定で再起動し、ドライバ付属の LPCHKAT2.COM でチェックします。 私の環境では、「I/Oアドレス 0x240」「IRQ 3」になっていました。 「IRQ 3」なのは、ポトリも赤外線もモデムもシリアルを殺してあるためでしょう。 普通は「IRQ 10」あたりだと思います。


クライアントソフトのインストール

DOSで利用するネットワーク」によると、 「NDIS用のパケットドライバ」を使うだけなら、以下の3つからどれを選んでもよさそうです。

私の場合、ディスク共有は必要なく、最低限の機能で構わないので、 Workgroup Connection を使うことにしました。

  1. mswgcn.exe をダウンロードする。
    ftp://ftp.microsoft.com/softlib/mslfiles/mswgcn.exe
  2. 自己解凍になっているので、 mswgcn.exe を実行して解凍する。
  3. CHEV US で英語モードにして、解凍してできた SETUP.EXE を実行する。

インストール先は、 C:\WGCN にしました。 メールクライアントは不要なのでインストールせず、LANカードはとりあえず「NE2000」を選んでインストールを進めました。

ディスク共有が(も)目的の人は、ワークグループ名やユーザー名やパスワードにも気を使ってください。 Win95/98同士でのディスク共有経験があれば、だいたいその通りに設定すればいいはずです。

インストールが済むと、こんな風に変更されていました。

[CONFIG.SYS]
----cut here----8<----cut here----8<----cut here----8<----cut here----
...
DEVICEHIGH=C:\EZPLAY\SSDPCIC1.SYS
DEVICEHIGH=C:\EZPLAY\IBMDOSCS.SYS 
DEVICEHIGH=C:\EZPLAY\RMUDOSAT.SYS /MA=C800-CFFF,DC00-DDFF /IX=5,10 /PX=15E0-15EF,35E0-35EF,102
DEVICEHIGH=C:\EZPLAY\$ICPMDOS.SYS 
REM DEVICEHIGH=C:\EZPLAY\PAWATAS.SYS /NOBEEP
DEVICEHIGH=C:\EZPLAY\AUTODRV.SYS
...
LASTDRIVE=K
device=C:\WGCN\protman.dos /i:C:\WGCN
device=C:\WGCN\workgrp.sys
device=C:\WGCN\ne2000.dos
----cut here----8<----cut here----8<----cut here----8<----cut here----
[AUTOEXEC.BAT]
----cut here----8<----cut here----8<----cut here----8<----cut here----
C:\WGCN\net start
@ECHO OFF
PROMPT $e[m $e[43;5;30m$t$h$h$h$e[m $e[36;1m$l$p$g$e[37;1m
PATH C:\WGCN;C:\DOS;C:\BIN;D:\USR\BIN;C:\VZ
SET VZDEF=C:\VZ\DEF\
SET VZPATH=D:\USR D:\USR\CSV
SET EDITOR=VZ
...
----cut here----8<----cut here----8<----cut here----8<----cut here----

LPC2-T用NDISドライバのインストール

とりあえずNE2000を選んでいるので、このままでは正しく動作しないでしょう。 LPC2-TのNDIS用ドライバ LPCA2.DOSC:\WGCN にコピーして設定ファイルを書き換えます。

[CONFIG.SYS]
----cut here----8<----cut here----8<----cut here----8<----cut here----
...
LASTDRIVE=K
device=C:\WGCN\protman.dos /i:C:\WGCN
device=C:\WGCN\workgrp.sys
device=C:\WGCN\lpca2.dos
----cut here----8<----cut here----8<----cut here----8<----cut here----
[C:\WGCN\PROTOCOL.INI]
----cut here----8<----cut here----8<----cut here----8<----cut here----
[network.setup]
version=0x3100
netcard=ms$lpca2,1,MS$LPCA2
transport=ms$netbeui,MS$NETBEUI
lana0=ms$lpca2,1,ms$netbeui

...

[MS$NETBEUI]
DriverName=netbeui$
SESSIONS=6
NCBS=12
BINDINGS=MS$LPCA2
LANABASE=0

[MS$LPCA2]
DriverName=LPCA2$
IOBASE=0x240
INTERRUPT=3
----cut here----8<----cut here----8<----cut here----8<----cut here----

[MS$LPCA2] セクションの DriverName は固定、 IOBASE, INTERRUPTLPCHKAT2.COM で確認した値です。

[network.setup] セクションあたり、理解してないのであまり自信はありませんが、基本的に「NE2000(ne2000)」を「LPCA2(lpca2)」に置き換える方針で変更しています。(最初から、LPC2-T用のドライバを選んでインストールすればよかったかも)

これで再起動して NET USE コマンドでマップしてやれば、NetBEUIでWin95/98のディスクを共有できるはず… なんですが、ちょっと問題がありました。 AUTOEXEC.BAT の先頭で「NET start」を呼んでいますが、私の環境ではこの直後にハングアップしてしまいました。 AUTOEXEC.BAT の最後に回してやればハングアップはしなくなりましたが、コンベンショナルに無駄な空きができてしまいました。 しょうがないので、 AUTOEXEC.BAT に書くのはあきらめて、コマンドラインから手打ちで「NET start」することにしました。

私の場合、ディスク共有が目的ではないので、この状態でのチェックはいいかげんです。共有できるかどうかの確認すらしていません。 最低限、LANカードと相手(ハブとかルーターとか)との間でリンクが確立している(リンクLEDが点灯している)のだけは見ておきます。


NDIS用パケットドライバのインストール

これでNDISが使えるようになった(はずな)ので、その上にパケットドライバをかぶせてやります。

  1. dis_pkt9.zip をダウンロードする。
    ftp://ftp.iij.ad.jp/pub/simtelnet/msdos/pktdrvr/dis_pkt9.zip
  2. 解凍して、 DIS_PKT9.DOSC:\WGCN にコピーする。
  3. 設定ファイルを書き換えて、組み込む。
[CONFIG.SYS]
----cut here----8<----cut here----8<----cut here----8<----cut here----
...
LASTDRIVE=K
device=C:\WGCN\protman.dos /i:C:\WGCN
device=C:\WGCN\workgrp.sys
device=C:\WGCN\lpca2.dos
device=C:\WGCN\dis_pkt9.dos
----cut here----8<----cut here----8<----cut here----8<----cut here----
[C:\WGCN\PROTOCOL.INI]
----cut here----8<----cut here----8<----cut here----8<----cut here----
...

[protman]
DriverName=PROTMAN$
PRIORITY=MS$NETBEUI

[PKTDRV]
drivername=pktdrv$
bindings=MS$LPCA2
intvec=0x62

...

[MS$LPCA2]
DriverName=LPCA2$
IOBASE=0x240
INTERRUPT=3
----cut here----8<----cut here----8<----cut here----8<----cut here----

WATTCP.CFG

パケットドライバ対応のソフトは、 WATTCP.CFG を参照します。 dospppを使った場合は、勝手に作ってくれる(ように設定する)のですが、LANの場合はそうではないので、自分で設定してやります。

といっても、LAN用の WATTCP.CFG を作っておいて、コピーして環境変数を設定するだけです。

[C:\WGCN\WATTCP.CFG]
----cut here----8<----cut here----8<----cut here----8<----cut here----
hostname=PC110
nameserver=192.168.0.1
netmask=255.255.255.0
gateway=192.168.0.1
domainlist="nifty.ne.jp"
SOCKDELAY=60
my_ip=192.168.0.110
----cut here----8<----cut here----8<----cut here----8<----cut here----

うちのルーターにはDHCP機能があるのですが、DOSのDHCPクライアントが見つからなかった(DHCPCというのがあるらしいんですが*1 )ので、アドレスを直接書いてます。 192.168.0.1 がルーターのアドレスで、DNS兼ゲートウェイです。 PC110には 192.168.0.110 を割り当てて、 MY_IP に設定しています。(不要かも?)

「職場でもつなぐ、家でもつなぐ」という人は、それぞれのWATTCP.CFGを作成して、使う方のをコピーするようにすればいいでしょう。

[AUTOEXEC.BAT]
----cut here----8<----cut here----8<----cut here----8<----cut here----
...
vz -z
copy C:\WGCN\WATTCP.CFG D:\USR\DMAIL\BIN
set WATTCP.CFG=D:\USR\DMAIL\BIN
echo C:\WGCN\net start
----cut here----8<----cut here----8<----cut here----8<----cut here----

最後の echo コマンドは、「これを実行しなさいよ」という意味で表示させています。 もちろん、問題なければ AUTOEXEC.BAT で直接実行されるようにした方が便利です。

*1 nifty:FHPPC/LIB/8/1037DPC011.LZH があるようです。 (2001/11/22)


ソフトの動作チェック

これで、パケットドライバ対応のソフトが動くようになった(はずな)ので、いろいろ動かしてみてチェックします。 D-MAIL も Bobcat も問題なさそうです。

DIS_PKT9.DOS は、素のパケットドライバよりもパフォーマンスが落ちるらしいですが、それほど感じません。 当然でしょうけど、INS-64ですからアナログ28.8Kモデムよりはずっと高速です。

さすがにコンベンショナルの空きは100KB以上ロスして480KBほどに減ってしまいました。 ぎちぎち最適化してやればもうちょい稼げるかもしれませんが、 MultiConfigにしてやれば困ることはないのでそのままにしています。


戻る