(This document is part of the PC-Clone Unix Hardware Buyer's Guide. The Guide is maintained by Eric S. Raymond ; please email comments and corrections to him.)

UP -- Return to the contents page
NEXT -- Go to the next section.
BACK -- Go to the previous section.


Modems

This section will give you a thumbnail sketch of the modem types available out there, one tuned for the typical Unix installation's needs.

Overview of the Modem Market

The modem market is like consumer electronics (and unlike the computer market as a whole) in that price is a very poor predictor of performance. For ordinary file transfers, some $50 modems are better than some $150 modems. Paying top dollar mainly buys you better tolerance of poor connections and better performance at heavy-duty bi-directional transfers (such as you would generate, for exmaple, using SLIP or PPP over a leased line to an Internet provider).

In today's market, the typical modem does a nominal 56kbps -- V.90 plus V.29 or V.17 fax transmission and reception. You don't see much in the way of slow/cheap to fast/expensive product ranges within a single brand, because competition is fierce and for many modem board designs (those featuring DSP (Digital Signal Processor) chips run by a program in ROM) adding a new protocol is basically a software change.

Detailed discussion of the V-series standards can be found in the Glossary. At this point all the jargon is mainly of historic interest.

For much more information on high-speed modems for Unix, see The Linux/Modem Compatibility Knowledge Base. The page is aimed at Linux users, but the advice is general to any non-Windows OS.

Internal vs. External

Most modems come in two packagings: internal, designed to fit in a PC card slot, and external, with its own case, power supply, and front-panel lights. Typically you'll pay $20 to $30 more for an external modem than you will for the internal equivalent. You'll also need a serial port to connect your external modem to.

Pay that premium --- being able to see the blinkenlights on the external ones will help you understand and recover from pathological situations. For example, if your Unix system is prone to ``screaming-tty'' syndrome, you'll quickly learn to recognize the pattern of flickers that goes with it. Punch the hangup/reset button on an external modem and you're done --- whereas with an internal modem, you have to go root and flounder around killing processes and maybe cold-boot the machine just to reset the card.

See Rick's Rants for extended discussion of this point.

Pitfalls to Avoid

Beware of hype. Some modems with 14400 or higher FAX transmission rates have a lower speed-limit on data transmissions. If you're in any doubt, get a quote of the ``data rate'', not FAX bit rate.

The best way to avoid problems is to make the vendor tell you what V-series standards the product supports. Then use the handy glossary above.

If the abbreviation ``RPI'' occurs anywhere on the box, don't even consider buying the modem. RPI (Rockwell Protocol Interface) is a proprietary ``standard'' that allows modem makers to save a few bucks at your expense by using a cheap-jack Rockwell chipset that doesn't do error correction. Instead, it hands the job off to a modem driver which (on a Unix machine) you will not have.

Also avoid anything called a ``Windows Modem'' or ``WinModem'', ``HCF, or ``HSP''; these lobotomized pieces of crap require a Windows DLL to run. They will eat up to 25% of your processor clocks during transfers, and hog high-priority interrupts (causing your machine to stall under Windows even if your processor still has spare cycles).

All modems advertise mainly on DCE speed. Get a quote for max DTE speed too, if you can; make sure the DTE rate is enough times faster to handle your maximum on-the-fly compression (with V.42bis that's 4:1).

Multi-user Unix eats enough processor clocks that you want to be sure of good hardware buffering in your UART --- that is, enough of it to avoid losing characters between modem and PC if the OS is a bit slow responding to an interrupt (V.42bis in hardware won't detect this!). This means you want a 16550A or equivalent UART. If you're using an external modem, this is an issue about your serial-port board(s). If you're using an internal modem, the UART is on the modem card itself. So, when buying internal modems, ask what the UART type is. If the vendor says 16540, lose them.

Many fax modems come with bundled MS-DOS fax software that is at best useless under Unix, and at worst a software kluge to cover inadequate hardware. Avoid these bundles and buy a bare modem --- it's cheaper, and lowers the likelihood that something vital to your communications needs has been left out of the hardware.

Avoid ``Class 1'' and ``Class 2'' modems. Look for ``Class 2.0'' for the full EIA-standard command set.


Eric S. Raymond