Sunday, April 15, 2012

How to convert old PCs with DOS 6.22 to Network Linux ASCII Terminals

I will appreciate your input/feedback on this post, especially regarding dead links.

Maybe you are stuck with a bunch of obsolete PCs with MS DOS 6.22, which are not suitable for any Windows-like environment installation. Maybe you also need a couple or more ASCII terminals for your Linux Systems. Well, here is how you could use these PCs for this purpose(*):

1) We are assuming that you do have an obsolete PC. This PC should have a Network Interface Card (NIC) and a floppy drive. It is advisable to remove, from this PC, all hardware that is irrelevant to the project. Your everyday desktop, preferably with a floppy drive, will be needed for searching the internet, unzipping archives and prepare floppies for  file transfer to the obsolete PC.

2) Find your MS DOS 6.22 setup floppy disks. If you cannot locate them any more, you can download the setup files from Microsoft at the link:


3) Install MS DOS 6.22. You do remember how to do it, don't you (**)?

4) Look for the NIC DOS packet driver. If you cannot find it in your archives, then do an internet search. 

5) Install the packet driver following the instructions of the manufacturer. In case that your NIC has been made by "3com" (a most usual case in the early '90s), then you are looking for a *.com file that looks like 3Cxxxx.com. To install this 3com packet driver, at the DOS prompt run: 3Cxxxx 0x60. "0x60" is -usually- the PC address where the NIC has to hook.

6) Unfortunately, in DOS environments, installation of the packet driver has to be repeated every time the PC is booted. Ensure that this actually takes place by writing the suitable entry in your autoexec.bat file:

LOADHIGH C:\NIC\PKTDRV\3COM\PKTDRV\3C5X9PD 0X60

This entry assumes that your NIC packet driver (here the 3C5X9PD) is located in "C:\NIC\PKTDRV\3COM\PKTDRV. It is advisable that you "loadhigh" this installation, to free the PC's conventional memory (0 - 640 kB) from the burden of this driver (see http://en.wikipedia.org/wiki/Loadhigh).

7) Do an internet search and download the following DOS utilities, developed independently of Microsoft:

--7a-- strings.zip (however, if you cannot find it, here it is)

--7c--  ssh2021b.zip

8) Unzip strings.zip and put content in C:\STRINGS (directory of your choice maybe different). You will need the "ask" command out of the STRINGS command set.

9) Unzip ssh2021b.zip and put the files wattcp.cfg, ssh2dos.exe, ssh2386.exe and README in C:\SSH (directory of your choice maybe different). Rest of files contained in the zip archive are irrelevant to the application in question. If you were unable to locate this zip archive here is a modified one containing only the needed.

10) Edit your wattcp.cfg file. Here are the modifications I did:

line 3: remove #, insert IP of the network terminal

line 4: remove #, insert netmask, usually 255.255.255.0

line 5: remove #, insert nameserver IP
(not necessary, if  you are going to work with IPs)

line 7: remove #, insert gateway IP
(leave at 0.0.0.0, if you are going to operate the ASCII terminal within the same LAN as your Linux host).

line 63: change the message according to your needs

Alternatively, you can configure the set-up for using dhcp. Please, provide your feedback, if you actually test it and it works.

11) Wrap the whole thing up, as it follows:

Firstly, construct the (let's name it) connect.bat file

@ECHO OFF
:REPEAT
CLS
echo ***
echo Attempting login to My Linux host ...
echo ***
LOADHIGH C:\STRINGS\STRINGS var=ask host login:
LOADHIGH C:\SSH\SSH2DOS -S -t linux -a 3 %var% nnn.mmm.xxx.yyy
GOTO REPEAT

where, nnn.mmm.xxx.yyy is the IP of your Linux host. You can replace this IP with the actual name of the host if you are using a nameserver IP at your wattcp.cfg file.

Put the connect.bat file in C:\SSH

Then, do some editing of your autoexec.bat file, to enable automatic start-up of the connection and begin your ASCII terminal exactly after boot.

C:\DOS\SMARTDRV.EXE /X
@ECHO OFF
PROMPT $p$g
PATH C:\DOS; C:\SSH; C:\STRINGS
SET TEMP=C:\DOS
CLS
LOADHIGH C:\NIC\PKTDRV\3COM\PKTDRV\3C5X9PD 0X60
C:\SSH\CONNECT

12) Reboot. Voila (!), here is your ASCII terminal. Using this configuration, the old PC seems to start as terminal using some firmware.

Link references

Look for more stuff at:


In the past, it seemed that similar links were easier to find. If I come up with more, this part of the post will be updated accordingly.

Footnotes

(*) This post is in fact an application of "Networking with DOS". There exist some similar posts around, check with the link references list. Let me make clear that similar applications with such old PCs may take place, by installing on them minimal Linux distributions. However, if you do want to remain attached to the good old DOS tradition stay with this post.

(**) It seems to me that this application can be also accomplished with the Free DOS Operating System, which is to be found here:


Nevertheless, I did not try. Good luck if you do. Please, let me know of the results and I will add your fruitful comments -if any, to this very post.

Rights and citations

Copyleft protects this post. This means that you may freely copy and distribute this content but please do not change it. If you, in the process, find that something in this post is inappropriate or wrong, please contact me at my e-mail. I would be more than happy to update the post. You are more than welcome to site this post in your own texts, blogs or whatever. If this is the case, please use more-or-less the following citation format:

Petropoulos, N.P., "How to convert old PCs with DOS 6.22 to Network Linux ASCII Terminals", 2012; add URL; add access date.

Any citation will be much appreciated.