Friday, July 18, 2014

The 10 Megabit Network cometh



If I tell you that Gigabytes of Data leaves our Apartment weekly, but that internally tens or occaisionally even a hundred times more data normally flows around you will understand why it is important that all our computer, phones, or even weight scales are 

Network connected.

For reasons of performance  (but also security) we recommend   Wired Networks

And so here is a tale of the long overdue Ethernet NETWORK connection to almost the slowest computer in the house .... our IBM PC!


History
Back in time, let's say in the 1990's when Microsoft DOS ruled the home computer landscape, Ethernet Networking was usually tied to an Operating System.

At first this was usually Novell but with the advent of Microsoft Windows 3.11 (for Workgroups) and then later Windows 95, Microsoft began to play with gusto.

Problem Outlined
My IBM is too slow to run Microsoft Windows, and not having a 386 processor  (only an Intel 80286) it really needs to stick to a DOS based operating System.

Additional reasons are that my forensic software  (one example Image Disk by Dave Dunfield) needs DOS.

So I need to implement a TCP/IP stack under plan jane DOS


The False Start
For years I had diligently saved my best ISA format Ethernet card a 3COM 3C515 card (and discarded my other older cards)

So, imagine how surprised I was to find that it's one of the few cards that is not compatible with regular DOS!  Fine if you might be running Windows 3.1, but not for Mr DOS.

A lot of research later, followed by an eBay purchase and a wait of some weeks for the card to arrive from America ...



3Com EtherLink III 3C509TP 

This has become my saviour.  Here are the simple get it working instructions





a) Insert into old fashioned IBM PC (circa 1985, a very good year)

b) Use the stand alone  (i.e. not stack) but single 3c509 packet driver from Crynwr

Packet driver for a 3c509, version 11.0
Portions Copyright 1992, Crynwr Software
Packet driver skeleton copyright 1988-93, Crynwr Software.
This program is freely copyable; source must be available; NO WARRANTY.
See the file COPYING.DOC for details; send FAX to +1-315-268-9201 for a copy.

usage: 3c509 [options] <packet_int_no> [id_port]|[io_port]|[board_num]
   -i -- Force driver to report itself as IEEE 802.3 instead of Ethernet II.
   -d -- Delayed initialization.  Used for diskless booting
   -n -- NetWare conversion.  Converts 802.3 packets into 8137 packets
   -w -- Windows hack, obsoleted by winpkt
   -p -- Promiscuous mode disable
   -u -- Uninstall



c) Use Mike Brutman's excellent TCP stack for DOS.  

My implementation is as follows

ftpass.txt

# mTCP FTPSrv user/password sample file
#
# User file format
#
# user password sandboxdir uploaddir permissions
#
# Commands with permissions: dele, mkd, rmd, rnfr, stor, appe, stou
# "all" is an alias for everything
#
# DOS paths are in /drive_X/path form where X is the drive letter.
# For example, e:/ftpdata is written as /drive_e/ftpdata .
#
# For sandboxdir, enter [none] or a full path name (drive letter included)
# For uploaddir, enter [any] or a full path name (relative if using sandbox,
#   or absolute if not using the sandbox).
#
mb        mypas     [none]  [any]             all
# ftp       [email]   /drive_e/ftpdata  /testdir/incoming stor stou
# anonymous [email]   /drive_e/ftpdata  /testdir/incoming stor stou
#
#
# The next line defines a readonly user - notice there are not
# permissions defined.  Don't worry about the [any] in the
# uploaddir field - it is just taking up space.
#
# readonly  [email]   /drive_e/ftpdata  [any]

tcp.cfg
PACKETINT 0x60
IPADDR 192.168.7.40
NETMASK 255.255.255.0
GATEWAY 192.168.7.1
NAMESERVER 8.8.8.8
MTU 1500
HOSTNAME xt286
FTPSRV_PASSWORD_FILE c:\dos\mtcp\ftppass.txt

FTPSRV_LOG_FILE c:\dos\mtcp\ftplog.txt

autoexec.bat
path c:\dos622;c:\dos\useful
set comspec=c:\command.com
set mtcpcfg=c:\dos\mtcp\tcp.cfg
c:\dos\mtcp\3c509 0x60
c:\dos622\doskey




d) Now let's Run the server and retrieve a few files onto my Windows 2012 server.



I use the excellent Filezilla client FTP program




Everything works






How is this Useful?
For vintage computer work  (that is work with machines on the 1970 to 1980x) era that are not DOS based but perhaps running their own /proprietory/ Operating System the IBM PC is the Swiss Army Knife of computers

Programs like Dave Dunfield's IMD  (Image Disk Program) or a myriad of other Disk Analysis and recording tools can run on such a computer.

But once on this machine how to get the data into an Internet Connected Server?   Well instead of sneaker-net transferring the data 1.2Mb 5.25 inch diskette at a time I can now simply FTP it from this PC acting as a server and directly upload it to our Vintage website.   Saves a lot of time and effort!

So my deepest thanks to Dave Dunfield and Mike Brutman for all their work, making it oh so easy for me.




Links