• Please review our updated Terms and Rules here

Windows 3.1 and TCP/IP over Ethernet

When the internet first became available in my area, I picked up the "Internet Starter Kit", which was for Windows 3.1, included trumpet winsock, ftp and an email client (ISTR). No browser back then--that came later. Connectivity was via modem, not NIC. I think I uploaded the disk some time ago.
 
That sounds like Unix system networking layers from kernel drivers and TCP stack down to the sockets API. On a DOS system, that seems like a stability hell.
From my limited experience, the simpler the stack for early MS system the least it will bug out and crash.
In one beginning (there were several) there was MIT PC-IP which was a monolithic application supporting one TCP connection for its Telnet client (the TCP being ported from Xerox Alto TCP) with a basic terminal emulator (I'm thinking H19 and not VT100), UDP for TFTP and DNS, IP, and a 3C500 or 3C501 network card. When you were done you exited back to MS-DOS and the networking stack, being part of the application, was no longer executing.

I was told that some folks at TWG took the MIT PC-IP code and packaged it up with a manual in a small binder and maybe a slip case (can't remember) and that was WIN/PC Release 1, and that some of the people who worked on PC-IP at MIT saw an advertisement for it, recognized their code in it, and that's how FTP Software got started. They got a good deal on green three-ring binders and used those for their manuals for a while.

I'm not sure where HP got their PC stuff from (multiple beginnings) but it was doing TCP/IP over IEEE 802 framing using 3Com 3C501 cards, and it was a bunch of TSRs that took up about 150KB of your Vectra's RAM (supporting PC LAN stuff including shared access to network drives and printers) so now you needed an EMS board to open the larger 1-2-3 worksheets you'd done up back in the days before the LAN when the LaserJet was shared through a switchbox.

Ca. 1989 I had a Vectra ES on my desk and had a way to switch it between HP's stack (for access to the 3000 via WRQ's Reflection 1 and NS VT client) and somebody's take on MIT PC-IP for Telnet access to stuff, and each was relatively stable, but I couldn't have both up at once.

In the WIN/TCP for DOS world going into and through the early 1990s the problem was that your TCP/IP stack TSR probably had some sort of lower-edge interface through which it expected to talk to a network card driver. There were attempts to provide common driver APIs that could be shared with other network stacks (NDIS for LAN Manager and ODI for Netware) or just provide a common API (packet driver).

The TCP/IP stack TSR also had an API for applications to use. But applications developers wanted BSD-type sockets APIs and so there was a library to provide that sort of API (on top of the TCP/IP stack's native API), and after Windows 3.0 took off there was a DLL flavor of it and then a WINSOCK DLL.

Round 1994 when we were trying to figure out the VxD stuff we decided our only netcard driver API would be NDIS3 (we did a separate interface for SLIP/PPP that was its own VxD which talked directly to an 8250/16450/16550 serial chip). Also that the WINSOCK DLL was going to be the only published and supported API because that's what the market wanted by then. It was clear to us at the time that this was going to be the last major release (we knew "Chicago" was going to include a TCP/IP stack) and we did not want to put the effort into netcard drivers or API products or making them fit on the diskette(s).
 
I guess using RS-232 serial is also a bit more period correct for the experience many of us had, but these also might be harder to get working since you won't find so many explanations online about how to do this stuff.

There is a lot of info on the net how to set up a Linux dial-in box.
USB to RS232 is cheap and external modems are basically free junk. AFAIR 2 modems can be connected directly via AT commands.

Tho period correct, serial or modem is very slow for moving files from home network to the old laptop. Maybe OP can use another period correct options for that like a Zip drive.
 
If you're just concerned about moving data, Mike Brutman's mTCP works fine in DOS mode (and probably from a Win 3.1 command prompt). It's packet driven, so the usual Windows utilities like ping and ftp won't work with it; you have to use the mTCP-specific ones. It's a good package; I use it all the way up to Socket 754 and P4 systems in MS-DOS mode.
 
Here are some possible solutions (haven't tried them myself) which don't require a network card so they might be a bit easier and lighter on memory usage, although much slower. I guess using RS-232 serial is also a bit more period correct for the experience many of us had, but these also might be harder to get working since you won't find so many explanations online about how to do this stuff.

I assume you could get Trumpet Winsock to talk over a null modem cable to any SLIP or PPP server. My Linux system has an slattach program which can apparently be used to start SLIP or PPP on a serial device. I seem to remember a long time ago getting some old Cisco router to talk SLIP or PPP on one of its RS-232 interfaces. I also seem to recall it wasn't too hard getting SLIP working on Linux manually in the distant past. Just remember that SLIP has no IP autoconfiguration like PPP, so if you use SLIP you need to provide compatible IP settings on both ends of the connection.

twinsock might be another option. It might be simpler because it just uses a userspace program on the Internet-facing/host system rather than something like slattach which is relying on some kernel support and hence might have permissions issues. The problem with twinsock is it's actually from the Windows 3.1 era, so it might be hard to build the host-side program on a modern system. You might enjoy running it on an emulated retro system though, as neozeed did. Unfortunately in this case he didn't just provide a disk image of his 386BSD system he used!

Windows 3.1 ( and Windows 3.11 of course ) have native TCP stacks... It's called Wolverine. And it was made by Microsoft and had to be installed separately to Windows before Windows 3.11 when it all came installed with the OS.

I have no idea where to get an original Wolverine but this might be one; https://winworldpc.com/product/microsoft-tcp-ip-32/tcpip-32-3-11b and has some software that I didn't check.

Some details on it; https://community.spiceworks.com/products/52613-windows-for-workgroups-3-11

Before that, it was common to use Trumpet Winsock which I think works with Windows 3. Dial up networking with SLIP is available with both, but I think only Wolverine supports Network Cards. It was for 32 bit systems.

Regards
David
 
Windows 3.1 ( and Windows 3.11 of course ) have native TCP stacks... It's called Wolverine. And it was made by Microsoft and had to be installed separately to Windows before Windows 3.11 when it all came installed with the OS.

I have no idea where to get an original Wolverine but this might be one; https://winworldpc.com/product/microsoft-tcp-ip-32/tcpip-32-3-11b and has some software that I didn't check.

Some details on it; https://community.spiceworks.com/products/52613-windows-for-workgroups-3-11

Before that, it was common to use Trumpet Winsock which I think works with Windows 3. Dial up networking with SLIP is available with both, but I think only Wolverine supports Network Cards. It was for 32 bit systems.

Regards
David
Your link refers to Windows for Workgroups 3.1x ..... NOT vanilla Win 3.1x
 
IIRC, the early wolverine betas did work with 32 bit versions of 3.1 but it was a long time ago - you may be correct. It was for a very short time, as Windows 95 came out soon after.
NO it did not. RTFM dude,...

There is a REASON the file is called TCPIP-32-x....
 
IIRC, the early wolverine betas did work with 32 bit versions of 3.1 but it was a long time ago - you may be correct. It was for a very short time, as Windows 95 came out soon after.

Peter Tattam's Trumpet Winsock is the current standard for TCP/IP management under the Microsoft Windows environment. Most of the Winsock.dll (Windows Socket Driver) Internet applications are developed and tested with this program. The current version of Trumpet Winsock 2.0 Release B is very stable and reliable. There was not any real competition for Trumpet Winsock until Microsoft unveiled the final release of Wolverine, a 32 bit TCP/IP stack for Windows for Workgroup (WFW) 3.11.

Judging by this post (http://www.columbia.edu/cu/moment/v0/030195/wolverine.html) Wolverine is MS TCPIP-32, and per TCPIP-32 README it's WfW only.
 
Btw. does anyone know the origin of this rather aggressive development name. I'd expect something like "Wolverine" to be a graphics chip, something more marketable, not a bunch of networking libraries for Windows.
 
Have you actually tried it? I thought it used basically the same networking stack as the LANMAN client for DOS which works fine on my 286
Yes I have...

You are incorrect. RTFM dude.

I used Win/WFW 3.1x on my system from 286/16 upgraded to 486DX33 then to a Pentium 133 cpu, by swapping mobos, right up until I got my IBM PC 300GL mini tower system. It did all I needed to do on a computer in that time.
 
Last edited:
I'd love to. I assume you have the manuals for all the early betas and prereleases of Wolverine? ... If you are able to share them I would be very happy to read them.
Assumption is the mother of all fuck ups......

You and Maxrabbit are floating in De Niel

There has been decades of discussion on this topic both on the old vcf and other forums. Go read them for yourselves.
 
Last edited:
I currently have a working TCP/IP protocol driver on my 286, it is NOT the 32bit one. It is a real mode stack included with MS Networking Client for DOS 3.0 / LANMAN
 
Back
Top