Rockwell Protocol Interface (RPI) Modems


What It Is

Late in 1994 a cheap 14.4 modem hit the market. They cost half or less than other 14.4's on the market.

The difference in price was the removal of certain expensive hardware chips, namely the ones controlling error correction and data compression (defined on the Modems Basics page). Hardware-wise, the RPI modem is a 2400 baud modem with the ability to go at 14.4.

Data compression is the ability to compress data on the fly--you can think of it as the modem ZIPping the file before sending it. Compression is why you see 14.4 and higher modems boasting transfer rates of 57.6 or better; they are assuming a transmission of a text file under optimal conditions using data compression. RPI modems don't have this built-in, but other than a slight performance hit, there's no big loss.

Error correction detects bad/lost data caused by line noise and other factors that plague high speed modems. Running at 14.4 without it is like driving 60mph blindfolded. Downloading over a fairly clear line is like driving down a straight, clear road--fairly trouble free. Uploading or downloading over noisy lines is like driving down a twisiting, narrow mountain road--it won't take long to crash and burn. (Usually the modem still thinks it's connected, but it's not. The only solution is to reset it--which means turning the computer off and then back on for internal modems.)

Despite these problems, the modems sold quickly because of the price. Local computer assemblers/retailers started using them in the systems they built. Even large computer manufacturers started using RPI modems in their products (AST and Packard Bell for examples).


The Problems

The first major problem with RPI modems is the Shiva (Netscape) Dialer in Windows 3.1. An RPI modem won't work with it normally. Typically, the dialer will get to "Authenticating..." and then hang up. The only real solution is to send the user a copy of the old software. Trumpet Winsock doesn't have a problem using RPI modems.

Fortunately most RPI modems don't have a problem working over StarNet most of the time. However, when line conditions are bad, when sending a large file, or when the modem racks on StarNet's end are busy, the RPI's shortcomings can rear their head. Just because the modem worked once, a dozen, or even a thousand time before doesn't mean that it will always work. Remember that the it's like driving blindfolded--just because they have been lucky doesn't mean they always will be.

Common problems seen are failed connections and hanging while uploading files of over 40k. It is also not uncommon to see it hanging during large downloads. Once this has happened, the modem's temporary memory have become unstable and the modem must be reset. The only way to reset an internal modem is to completely turn the computer off and reboot.


The Solutions

Windows 3.1 Dialers

As mentioned above, the only real solution to the problem with the Shiva Dialer in Windows 3.1 is to use the Trumpet Winsock from the old software. (Do not install the Trumpet Winsock found on the CD. That version has a completely different setup and is set to expire after 30 days.)


WinRPI

A supposed solution to the problem were special communication drivers (WinRPI) for Windows and Windows 95 that are supposed to provide the error correction and data compression. (The role of these drivers are discussed on the Communication Drivers page.) These drivers come in two parts: One is the actual comm driver which handles the data communications like any other comm driver. The second part is the RPI software that this specialized software activates to have the computer perform the error correction and data compression. The software (in the form of DLL files installed into the System directory) is usually activated by a command in the modem initialization string (either "+H3" or "+H11", depending on the modem).

In a sense, this solution makes an RPI a Win-modem (though actually it was probably partly an inspiration for it). However, the major difference is that Win-modems were designed from the beginning to work that way. WinRPI was more of a quick, ill-fitting patch slapped up after the fact.

There are several problems with WinRPI. First, the communications driver portion of the software was written by TradeWinds--thus it's based upon their TWCOMM.DRV which is known to cause problems with high speed data communications. Second, the computer now has to handle something the modem used to handle automatically. This is going to slow the computer down and may actually cause connection problems instead of correcting them. Third, the WinRPI drivers have been plagued with design and programming problems which have resulted in users getting GPFs and strange errors which disappear once WinRPI has been disabled. Finally, the drivers won't work on the original RPI firmware (V1.403).


"Real" Solution

Other than getting a new modem, the only thing resembling a sure fix is to lock the modem down to a lower baud rate. There are two modem commands which will lock the modem down to 9600. The first is "S37=9N0". (The "S37=9" tells the modem to connect at 9600 bps. The "N0" tells the modem to not go any faster than the command set by the S37 command. You need both in order for it to work.) Another, less common, command is "F8". (It does the same as the first, but is less supported.) These commands can be placed at the end of an existing string or (in Win95) just added in the Extra Setting box under the modem properties.


Back to the Modem page