In the early to mid-1990s, when Jim—my good friend and business partner—and I started providing Internet service for a local computer retailer, the Internet Gateway Server was a generic IBM-compatible machine. The server in the MicroBasement today is reasonably close to what we would have used in 1994/1995. Since ISPs (Internet Service Providers) were a new thing, we used whatever hardware was available to prove if the concept would even be financially viable. Back in those days we started with a Linux box and a couple of built-in serial ports. After a while we went up to a single four-port serial card and then another, bringing us up to eight dial-in lines. At some point it was clear that we had to scale up using more sophisticated hardware and a faster connection to the Internet, with our first dedicated line being only 56k and later upgrading to a full T1 line.
For the MicroBasement demo I have built a machine using the following hardware and software. Software-wise it is exactly what we had at the time. This hardware may be slightly better (the P166 rather than a 486), but other than that this is what we had.
The server runs Slackware 2.3 with Linux kernel 1.2.8. Slackware 2.3 already had pppd software installed. Key components and configurations include:
/bin/setserial /dev/ttyS2 port 0x1A8 irq 9 uart 16550 ^fourport /bin/setserial /dev/ttyS3 port 0x1E8 irq 9 uart 16550 ^fourport /bin/setserial /dev/ttyS4 port 0x2E8 irq 9 uart 16550 ^fourport /bin/setserial /dev/ttyS5 port 0x2A8 irq 9 uart 16550 ^fourport
AT&F1 ; Reset to factory defaults AT&F1 &N6 S0=1 ; Lock to 9600 bps, auto-answer on first ring AT&F1 &B1 &H1 &I0 &K1 &M4 &N3 &R2 S0=1 ; Additional tuning for reliability
# Basic dial-in config for ttyS0 at 14400 baud port ttyS0 speed 14400 answer yes # Auto-answer incoming calls direct no # Not direct connect verbose no # Quiet mode (no extra logging to console) login-prompt "Slackware Dial-up Login: " login-timeout 60 # 60 seconds to log in data-only yes # Expect data connection (PPP or shell)
s3:45:respawn:/usr/local/sbin/mgetty ttyS2Then run
init q to reload.
pppd is installed in Slackware 2.3. Files in /etc/ppp:
# /etc/ppp/options asyncmap 0 netmask 255.255.255.0 proxyarp # For gateway/routing to local net lock crtscts modem # /etc/ppp/options.ttyS2 192.168.0.175:192.168.0.176 # Server IP : Client IP (use private range; increment for each port)
# In /etc/passwd, change the shell of the dial-up user to: # /usr/lib/ppp/pppd
This configuration recreates a genuine 1994–1995 Internet gateway server using period-correct software (Slackware 2.3, kernel 1.2.8, mgetty 0.98, pppd 2.1.1) and hardware close to what early ISPs used. It allows dial-in clients (e.g., Windows 3.1 with Trumpet Winsock and Mosaic) to connect via PPP and browse local pages or early web sites. The setup demonstrates how small-scale ISPs scaled from single lines to multi-port cards and eventually T1 dedicated lines, paving the way for the commercial Internet boom. In the MicroBasement, it brings the early 1990s dial-up experience to life.