TEENでPacket Driver

PC-9801でIP接続するのに[TEENを使いppp](https://qiita.com/yamori813/items/7754c65239da6b025923)していたのですが、TEENはEthernetボードをPacket Driverで使うこともできます。

ときどきヤフオクを見て、CバスのEthernetボードは送料別で二千円くらいが相場のようで、二の足を踏んでいました。送料も結構高いのですが、振り込み手数料も馬鹿になりません。

またボードによってはドライバーが手に入らないものもあるようなので注意が必要です。

たまたま今日近所のハードオフに行ったところ、PlanexのEN-2298Pが550円であり購入してきました。お店で中身を確認させてもらい、実装されているチップがすくなく比較的新しい製品に見えたので、いけるとゴーストがささやきました。家に帰って確認したところチップのマーキングから1997年くらいの製造されたもののようです。

この商品は10Base2と10Base5のコネクタがあるモデルもあるのですが、今回入手して物は、それがなく部品も未実装です。

遠くのヤフオクより近くのハードオフです。

![IMG_20210613_091744.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104066/d1306d32-3354-88ee-1bb3-9deeca1546f8.jpeg)

こっちのハードオフは電気屋さんをやってる会社がフランチャイズしているので、結構高い値段のものが多いのですが、これは現実的な値段で助かりました。ジャンクには1000円以上出さない事をポリシーにしています。

ドライバーのフロッピーディスクは入っていなかったので、メーカーのサイトからen2298p.exeをダウンロードして、pppのtftpでPC-9801にファイル転送しました。

実行してみたところDOSでは起動できないEXEでした。:(

```
B>en2298p
This program can not be run in DOS mode.
```

まーいつもの事なので、この頃の圧縮ファイルはlhaと相場は決まっているので、FreeBSDのlhasaで見てみます。

```
% lhasa en2298p.exe
 PERMSSN    UID  GID      SIZE  RATIO     STAMP           NAME
---------- ----------- ------- ------ ------------ --------------------
[MS-DOS]                 14448  49.8% Nov 26  1996 en2298p/mslanman.dos/drivers/ethernet/en298p/en298p.dos
[MS-DOS]                    79  96.2% Nov 26  1996 en2298p/mslanman.dos/drivers/ethernet/en298p/protocol.ini
[MS-DOS]                   126  86.5% Nov 26  1996 en2298p/mslanman.dos/drivers/nif/en298p.nif
[MS-DOS]                 14633  48.6% Nov 26  1996 en2298p/mslanman.os2/drivers/ethernet/en298p.os2
[MS-DOS]                    79  96.2% Nov 26  1996 en2298p/mslanman.os2/drivers/ethernet/protocol.ini
[MS-DOS]                   126  87.3% Nov 26  1996 en2298p/mslanman.os2/drivers/nif/en298p.nif
[MS-DOS]                 14448  49.8% Nov 26  1996 en2298p/ndis/dos/en298p.dos
[MS-DOS]                   126  86.5% Nov 26  1996 en2298p/ndis/dos/en298p.nif
[MS-DOS]                   348  60.3% Nov 26  1996 en2298p/ndis/dos/oemsetup.inf
[MS-DOS]                    79  96.2% Nov 26  1996 en2298p/ndis/dos/protocol.ini
[MS-DOS]                  1893  36.1% Apr 18  1996 en2298p/ndis/dos/readme.txt
[MS-DOS]                   126  87.3% Nov 26  1996 en2298p/ndis/os2/en298p.nif
[MS-DOS]                 14633  48.6% Nov 26  1996 en2298p/ndis/os2/en298p.os2
[MS-DOS]                   348  60.3% Nov 26  1996 en2298p/ndis/os2/oemsetup.inf
[MS-DOS]                    79  96.2% Nov 26  1996 en2298p/ndis/os2/protocol.ini
[MS-DOS]                 24331  46.7% Nov 26  1996 en2298p/netware/odi/en298p.com
[MS-DOS]                   470  64.3% Nov 26  1996 en2298p/netware/odi/en298p.ins
[MS-DOS]                   332  56.6% Nov 26  1996 en2298p/netware/odi/net.cfg
[MS-DOS]                  1328  54.7% Apr 18  1996 en2298p/netware/odi/readme.txt
[MS-DOS]                 11089  53.5% Nov 26  1996 en2298p/netware/nw312/en298p.lan
[MS-DOS]                  9362  52.5% Nov 29  1994 en2298p/netware/nw312/ethertsm.nlm
[MS-DOS]                 20252  48.6% Nov 23  1994 en2298p/netware/nw312/msm.nlm
[MS-DOS]                   473  70.6% Apr 18  1996 en2298p/netware/nw312/readme.txt
[MS-DOS]                 11089  53.5% Nov 26  1996 en2298p/netware/nw4x/en298p.lan
[MS-DOS]                  1143  41.1% Nov 26  1996 en2298p/netware/nw4x/en298p.ldi
[MS-DOS]                  9362  52.5% Nov 29  1994 en2298p/netware/nw4x/ethertsm.nlm
[MS-DOS]                 20252  48.6% Nov 23  1994 en2298p/netware/nw4x/msm.nlm
[MS-DOS]                 51712  37.9% Jul  5  1995 en2298p/nt31/en298p.sys
[MS-DOS]                 39409  23.6% Nov 26  1996 en2298p/nt31/oemsetup.inf
[MS-DOS]                  6144   7.7% Jul 25  1994 en2298p/nt31/dialog1.dll
[MS-DOS]                   748  62.0% Apr 18  1996 en2298p/nt31/readme.txt
[MS-DOS]                  6144   7.7% Jul 25  1994 en2298p/nt35/1dialog.dll
[MS-DOS]                 36704  42.5% Aug 20  1996 en2298p/nt35/en298p.sys
[MS-DOS]                 39418  23.6% Nov 26  1996 en2298p/nt35/oemsetup.inf
[MS-DOS]                   641  66.8% Apr 18  1996 en2298p/nt35/readme.txt
[MS-DOS]                 21728  54.4% Nov 15  1996 en2298p/nt40/en298p.sys
[MS-DOS]                 39681  23.6% Nov 26  1996 en2298p/nt40/oemsetup.inf
[MS-DOS]                  2048  23.4% Apr  9  1996 en2298p/nt40/3dialog.dll
[MS-DOS]                  1711  55.7% Dec 20  1996 en2298p/nt40/readme.txt
[MS-DOS]                  8329  68.1% Nov 26  1996 en2298p/pktdrv/en298p.com
[MS-DOS]                  8091  67.0% Nov 26  1996 en2298p/pktdrv/en298p.sys
[MS-DOS]                  1533  46.2% Apr 18  1996 en2298p/pktdrv/readme.txt
[MS-DOS]                 98879  39.5% Mar 18  1997 en2298p/setup/setup.exe
[MS-DOS]                  1355  50.3% Jan 12  1993 en2298p/setup/int8rdr.exe
[MS-DOS]                  2559  47.6% Feb 13  1998 en2298p/setup/readme.txt
[MS-DOS]                  2347  64.6% Jun  2  1992 en2298p/setup/stdio.exe
[MS-DOS]                  2228  54.8% Apr 25  1997 en2298p/win95/readme.txt
[MS-DOS]                 35360  42.1% Apr 25  1997 en2298p/win95/en298p.sys
[MS-DOS]                  4186  27.0% Apr 25  1997 en2298p/win95/net298p.in_
[MS-DOS]                    45 100.0% Apr 25  1997 en2298p/win95/en298p.dos
[MS-DOS]                  4477  27.9% Feb 13  1998 en2298p/win95/net298p.inf
[MS-DOS]                     3 100.0% Apr 19  1993 en2298p/disk1
[MS-DOS]                    45 100.0% Apr 25  1997 en2298p/en298p.dos
[MS-DOS]                 35360  42.1% Apr 25  1997 en2298p/en298p.sys
[MS-DOS]                  4186  27.0% Apr 25  1997 en2298p/net298p.in_
[MS-DOS]                  4477  27.9% Feb 13  1998 en2298p/net298p.inf
[MS-DOS]                  1127  37.3% Feb 13  1998 en2298p/release.txt
---------- ----------- ------- ------ ------------ --------------------
 Total        57 files  631729  40.2% Jun 12 11:08
```

en2298p/pktdrv/en298p.sysを転送して、config.sysに登録してみました。

```
DEVICE=A:\EN298P.SYS
```

TEENのPacket Driver用の圧縮ファイルをダウンロードして、この中のTEEN.DEFを自分のネットワークアドレスに修正して、TEEN.DEFとTEENE.COMをPC-9801に転送します。TEENはDHCPをサポートしていないので、IPアドレスは手動で固定の設定になります。

これでTEENEを起動してPINGを実行してみましたが、返答がありません。

FreeBSDのマシンでtcpdumpを実行してみたところARPリクエストは届いていて返答しているのに、再びARPリクエストが送られています。

パケットの送信はできているもの、受信ができないようです。中古品なのでボードが壊れている可能性も考えられますが、部品数がすくない、またPC-9801も終焉した頃の製造で、ボードも汚れがすくなくあまり使用していなかった可能性が高く壊れているとは考えにくいです。

RXのインジケーターが点滅するので、チップにはパケットが届いていると考えるのが妥当です。

上記の圧縮ファイルに入っていたsetupのディレクトリのファイルを転送して実行してみました。

![IMG_20210613_065722.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104066/3d637f3a-5715-9d1f-4479-b73b29c6fb01.jpeg)

設定を確認したところ割り込みが6になっていました。config.sysを以下のように修正しました。

```
DEVICE=A:\EN298P.SYS 96 6
```

これでpingも通るようになりました。めでたしめでたし。

tftpで286895バイトのファイルを転送するのにpppでは6:42だったのがEthertnetでは0:53でした。10BaesTといえども9600のpppよりは高速です。

なぜかping打った後じゃないとtftpのファイル転送ができません。環境によるものかTEENやtftpのバグなのかは気が向いたら調べてみたいと思います。

ネットで画像検索していて気がついたのですが、EN-2298PとLaneedのLD-98Pは同じものに見えます。どちらかがOEMしてたのかもしれません。