Connecting to the WWW With Windows for Workgroups 3.11

Microsoft Windows for Workgroups (WfW) 3.11, released back in 1993, was the first operating system I ever used. As the name suggests, WfW was designed for networking in workgroups of a few people and workstations. This included centralized authentication, file and printer sharing based on Microsoft NetBEUI or NetBIOS (transported for example over Novell’s IPX/SPX protocols). This however was restricted to a local network.

In 1993, the Internet and its protocols were invented for a long time and the World Wide Web (WWW) based on Internet protocols started to emerge. But WfW didn’t ship with a TCP/IP stack and thus was incapable of connecting to the Internet. Luckily, this stack is available as a separate download which will allow us to connect to the Internet using WfW 3.11 even today. Nostalgia alert!

Note: I won’t offer any download links here. However, I will publish the file names and SHA-1 hashes of the required files. Maybe you can find those files somewhere in the World Wide Web.

Network Interface Card Driver

I used Parallels Desktop to virtually execute WfW 3.11. If you use the setup wizard of Parallels Desktop and choose Windows 3.11 as the installation template, it will automatically add and connect a legacy NIC to your virtual machine. The legacy NIC of Parallels emulates a RealTek 8029 network card. Therefore, you will first need to install a driver for this NIC (or the NIC of your VM solution or actual 386-compatible PC, respectively). In case of RTL8029AS, the required driver files are:

fb655ce0b2a7b128f9e7c2d956dce44d55f90183 WFW311/OEMSETUP.INF
333d973d37e5a5b667ad392a0cdab43a6478ce30 WFW311/PCIND.386
fb6f7d513e844c1d8266c3ce76701445fc703ec9 WFW311/PCIND.DOS
55de10883353edde83738ec4a390e3ec32d3bb9b WFW311/PCIODI.COM

As Parallels does not offer any integration tools for this version of Windows, I had to create an ISO image containing those files and connect this to the virtual machine. Fortunately, WfW 3.11 already supported CD drives, so you can directly install the drivers during Windows Setup:

Network Interface Card Installation

Windows Setup will automatically install two protocols: IPX/SPX Compatible Transport with NetBIOS and Microsoft NetBEUI, with the latter being the default protocol. We’ll change this later. For now, let’s finish the installation and then boot into Windows.

Installing the TCP/IP Stack

Now, we’ll install the TCP/IP stack. This was distributed as a separate download:

9b7052c83211c11bfd53e3a85212ca27851a35f8 tcp32b.exe

This executable file will extract the files of the TCP/IP stack to its working directory. Hence, you should copy tcp32b.exe to an own subdirectory such as C:\TCPIP and run the executable there. Now, switch to the Network Setup that can be found in Program Manager > Network > Network Setup. Click Drivers… > Add Protocol, then select Unlisted or Updated Protocol and specify the location of the extracted files.

Making TCP/IP the standard protocol

Next, make TCP/IP the standard protocol by selecting Microsoft TCP/IP-32 3.11b in the protocol list and clicking Set As Default Protocol. Click Cancel, followed by OK in the Network Setup dialog. Next, the Microsoft TCP/IP Configuration dialog will appear. As the VM will be connected to the shared network by default, enabling DHCP is a good choice here. Then, you will have to restart your PC or VM. This is also where your network adapter should get assigned an IP address, subnet and default gateway via DHCP. You can check this by using COMMAND.COM and running the ipconfig command:

IP configuration by DHCP

Now we are ready for the Internet! The TCP/IP program group in the Program Manager contains an FTP and a Telnet client, so you can enjoy the famous ASCII version of Star Wars (telnet towel.blinkenlights.nl):

Telnet

Installing Internet Explorer and Outlook Express

Alright, but what we obviously want to do is browse the web, of course. The Microsoft Internet Tools are available as a separate download, including Outlook Express and Internet Explorer. Internet Explorer 5.01 is the latest version of Microsoft’s browser compatible with Windows 3.11. Here are the installation files:

8364f2987778ab5948112dce2898082326ec2e0a BRANDING.CAB
01c87319ee1ede0fc55fe0c6f15b5d3073f1ee67 BROWSER.CAB
7311032d4a14060925e4b5dfdc8dc35d53711ee3 IECIF.CAB
2c8e3cbcf4ff3d1ab2d1177ec5fe1d4f30045af3 IECORE.CAB
1ab173380717e9029d0fb9c66f2166f86a933c8e JAVA.CAB
339afa88c0304f6b6f48f7238f4d79bee679250b MAILNEWS.CAB
1760ebfdfe21a38b8d14127e48cab9d4ce0030c4 MDMINF.CAB
62a9ac2ee483c5b01a614d080fd97b1e02093349 MSHTML16.CAB
d11749b11b8269c21cdb7daf3b810aaa6baa468b OLE.CAB
8ed3584fd250fdf43f99a6d7d5c0972bbf8773eb SETUP.EXE
7c710dc22624e037f028c87ecf98c51be7424d1e STACKND.CAB
2ab0a16c36247ff40558d2fb2950689eb9f8d152 iesetup.ini

However, the setup won’t start if you have 64 MB of RAM (or more) installed and quit with the very cryptic error message

Microsoft Internet Tools for Win 3.1/NT 3.51 requires a configuration larger than 4 megabytes for reasonable performance. On smaller machines, please continue to use previous version of Internet Explorer.

To force installation in this case, launch setup with the /f:16 flag (using the File > Run command of File/Program Manager or the MS-DOS Prompt): SETUP /f:16. After a reboot, you have to specify your time zone. Now, Internet Explorer and Outlook Express are ready to use:

Internet Explorer 5.01

For increased security (up to SSL 3.0 with 128-bit encryption), you can additionally install the following extension:

49fad5b8cfc7f72490afa132646845c1af67e503 se128-16.exe

Conclusion

I think the most interesting part of this is that even after 35 years of IPv4, 34 years of SMTP, 25 years of WWW, 23 years of Windows 3.11 and 17 years of Internet Explorer 5.01, everything’s still more or less working. And that’s an eternity in computer history! Granted, Outlook Express and Internet Explorer won’t be able to connect to encrypted mail/web servers with TLS or modern cipher suites. Internet Explorer will fail rendering the majority of websites as HTML, CSS and JavaScript have evolved and grown in complexity. But after all: The base technologies are working and you can successfully connect to the Internet. In the future, this might change due to new protocol generations such as HTTP/2, IPv6 and better security mechanisms. But on the other side, the future doesn’t need WfW 3.11.

Published by

Christian Liebel

Hey there! This is Christian Liebel from Leimersheim, Germany. I’m working at Thinktecture in Karlsruhe. Angular, cross-platform development using Cordova and Electron, Gulp, .NET and Node.js are our day-to-day business. Feel free to contact me anytime.