Connecting to the net at 300 bauds with an acoustic modem

Few days ago, I saw the movie Wargames. And a little later , I saw a presentation introducing a guy who logged on with an acoustic modem dated from the ‘60s. If I did not find a modem that old, I still finally found an acoustic model that dates from the early ’80s.
socotel-07-g

Une version française existe.

How does it work ? The first modems used to work in “acoustic”, that is to say, the number was composed on a real phone and then the handset was placed on the modem, on a dedicated location. Then the modem emitted sounds that were sent to the modem in front, and the latter replied. This technique has two drawbacks : the communication is audible, and a little loud sound in the room breaks the connection. The speed level can reach up to 300 bauds, or 300 bits/s in theory, but in practice much less, since the protocols need a few bits for the signaling. In practice, we can expect about 30 bytes/s in good conditions…

In the early ’80s, a frequent modem was the Novation CAT, sold on other brands like Apple (for Apple II), Atari, etc. In my case, I found a RS Coupler 9201 , which is a priori a clone of the Novation CAT. The funny point is that I got mine in its original box, including the “driver” for the computers of that time (IBM PC, Atari, Apple II, etc.) : a few pages of BASIC for each machine to enter manually.

Mon modem acoustique

My modem

The modem has the advantage of providing an outlet still usable with a modern computer : a DB25 serial connector. The modem communicates in RS232, so I bought a USB to RS232 adapter (models based on PL2303 work well) and a DB9 to DB25 cable.

La prise série

Serial connector

For the modem part, I made it simple : a desk phone, a phone line simulator and a Raspberry Pi equipped with a modem. This setup is the same , with some software differences, that the one used to connect a Palm to the Internet. You will need, on the Mac side, to change a login script into Null Modem to set the speed to 300 bauds on the modem settings (2 parity bits , which is unusual).

This is where things get complicated : at 300 baud, it is almost impossible to use PPP. Even setting MTU and MRU at very low levels (128 bytes, and 40 for the TCP/IP signaling), the connection is made very rarely. And even in this case , it is simply impossible to make a simple ping or (worst) to open a webpage.

In theory, SLIP can be used to make IP on a serial link, but Mac OS X no longer includes the tools since Leopard, and even under Leopard I was not able to open a connection on my serial ports, whether with a USB to RS232 adapter or with the serial port native of a Xserve G5.

What works however is a simple serial connection between my Mac and the Raspberry Pi : a session can be opened on Raspbian by connecting with Zterm (for example). The operation is simple: the Raspberry Pi modem is connected to the line simulator on one side and the phone to the line simulator on the other side. Then, as shown in the video, dial the number on the phone, place the handset on the acoustic modem, and wait. The modem will manage the connection, then simply run a serial connection from the Mac to open a session on the Raspberry Pi.

Sorry for the quality of the video, but we can clearly see that the text takes its time to get there…

Then, it is even possible to surf using Lynx (a text-mode browser) on the Raspberry Pi. It’s terribly slow, even to load retro.hackaday.com, but it is possible.

As I have no real phone line, I have not been able to test it “for real”, but it should work, for example with a BBS or a server able to keep a connection at 300 baud, which should not be found that easily…