(M)  s i s t e m a   o p e r a c i o n a l   m a g n u x   l i n u x ~/ · documentação · suporte · sobre

 

7. 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.

7.1. 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.

7.2. 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.

7.3. 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.

7.4. A Modem Glossary

An explanation of modem jargon. None of this is very interesting any more in the age of ubiquitous cheap V.90 modems.

First, some ancient history:

Bell 103

AT&T 110bps standard. Dead as a doornail. Anyone tries to sell you a Bell 103 modem, report 'em to the bunco squad. The damn things were the size of breadboxes and flakier than bad dandruff. Not totally useless, though; they make decent space heaters.

Bell 202

AT&T standard for 300bps transmission. Every modem in existence does this one (or, at least, if you find one that doesn't, donate it to an archeological museum instantly).

Bell 212A

AT↦T standard for 1200bps transmission. Yes, a few people are still chugging gamely away with 1200bps modems.

MNP 2, MNP 3, MNP 4

Microcom Network Protocol, a series of error-detection-and-correction standards primarily used for 1200 and 2400-baud modems. Now incorporated in V.42.

MNP 5

Microcom Network Protocol Level 5, a an error-correction and data-compression method that runs on top of MNP 2-4, now displaced by V.42bis. (Most modems that support V.42bis also support the MNP 5 and auto-detect it in use by other modems).

Now a new term enters the picture:

CCITT

International Consultative Committee on Telephony and Telegraphy (the acronym is from the French official name of the organization, Comitè Consultatif Internationale Tèlègraphique et Tèlèphonique). This is the standards body for modems, fax equipment and related gear. Now known as ITU-T (International Telecommunications Union- Telecommunication Standards Sector).

ITU-T is responsible for the "V" series of modem specifications, These are:

V.22

ITU-T standard for 1200bps. Not quite compatible with Bell 212A, thus never used much in the U.S. This caused a few trans-border snafus in the early 1980s. Most modems still offer a V.22 compatibility mode, but nobody doing international data transfers settles for 1200bps any more, so it's a dead issue.

V.22bis

ITU-T standard for 2400bps. AT&T got out of the modem-standards business after 212A; thus, V.22 was the first open standard to be supported worldwide.

V.25ter

ITU-T standard for the AT command set.

V.32

The ITU-T standard for 9600bps transmission.

V.32bis

The ITU-T standard for 12200 and 14400bps data transmission.

V.42

The ITU-T standard for firmware error correction between V.32 and V.32bis modems (also worked with V22 and V22bis). Helps them cope with noisy lines.

V.42bis

The ITU-T standard for V.42 with on-the-fly compression. Same bit speeds as V.32bis and V.42, but a higher effective transfer rate (especially for text, graphic images and other high-redundancy data, for which it may manage up to 4:1 compression).

V.34

ITU-T standard for 28800bps transmission. Also known as V.fast before the standard was ratified in June 1994. Amended in 1996 to support 33600bps transmission.

V.90

ITU-T recommendation for asymmetric data signalling rates of up to 56Kbps in the direction of a digitally connected server to a capable client, and up to 33.6Kbps in the direction of the client to the server.

The technology is based on eliminating restrictions imposed by the conversion of analog signals to digital form in the downstream data path (server -> client). Data flow in the server to client direction does not occur in the form of a modulated carrier, it is instead sent as binary numbers representative of 256 possible voltage levels. The reason for the asymmetrical send/receive rates is because in the direction from the client to the server it is not possible to use a digital coding scheme and make it work as well as V.34 does, thus V.34 is used instead. It isn't possible because the telco's line card has a codec that is a much better digital level changer for the transmit direction than it is for the receive direction. The codec used in the customer's modem is, in that respect, somewhat more sophisticated and was designed to work as a fairly good level changer in the receive direction (which the telco's codec was not designed to do).

Note: Achievable bit rates are limited to less than 56kbps in the United States by FCC regulations that limit power input to the network.

These ITU-T protocols form a neat speed and capability ladder. Usually, any modem that can do V.32bis can do V.32; any modem that can do V.42 can do V.32bis; any modem that can do V.42bis can do V.42; any modem that can do V.34 can do V.32; and so forth. In fact, modems in this family automatically recognize each other and negotiate for the highest speed both can handle.

Beyond the V series, the telcos are pushing a technology called ADSL (Asymmetric Digital Subscriber Line). This method converts existing twisted-pair telephone lines into access paths for multimedia and high speed data communications. ADSL transmits more than 6Mbps to a subscriber, and as much as 640 kbps more in both directions.

An ADSL circuit connects an ADSL modem on each end of a twisted-pair phone line, creating three information channels; a high speed downstream channel, a medium speed duplex channel, and a POTS (Plain Old Telephone Service) channel. The POTS channel is split off from the digital modem by filters, thus guaranteeing uninterrupted POTS, even if ADSL fails. The high speed channel ranges from 1.5 to 6.1 Mbps, while duplex rates range from 16 to 640 kbps. Each channel can be sub-multiplexed to form multiple, lower rate channels.

Now to the vendor-proprietary encodings:

V.32terbo

A non-ITU-T ``standard'' for 16800 and 19200bps transmission floated by a vendor consortium frustrated with the glacial pace of the V.fast development. V.terbo was intended as a stopgap until V.fast comes in; technically it's very close to V.32bis. Obsolete since V.34 was ratified.

HST

Proprietary 16.8kcps protocol used by US. Robotics modems. Never very important in the Unix world, and now being eclipsed by the V-series modems.

PEP

Packet Exchange Protocol, used for 19200bps between Telebit modems. These modems were very widely used in the Unix/USENET/UUCP community at one time (for years, Telebit offered substantial discounts and/or two-for-one deals to buyers with Internet or UUCP addresses). They were super-reliable, programmable, fast as all get out, famously good at pushing bits through noisy and lossy phone lines, and died stone dead because they were a single-source product designed around a proprietary protocol (and correspondingly expensive).

TurboPEP

Enhanced PEP, 115200bps — faster than V.fast even dreams of (but don't expect to get quite that full speed unless your connection is really clean).

56Kbps Modems

[Pre-V.90] - Rockwell, USR, Lucent Technologies, and Motorola marketed incompatible chipsets/modems that operated in a server/client format at up to 56Kbps over standard telephone lines prior to the adoption of ITU-T V.90. USR implemented a protocol dubbed X2, and the remainder combined efforts to implement a protocol dubbed K56Flex (a combination of Rockwell's K56Plus and Lucent's VFlex/2 protocols). The X2 and K56Flex protocols do not interoperate.

Finally, some important modem features:

DCE

Data Communications Equipment rate, the maximum modem-to-modem bit speed.

DTE

Data Terminal Equipment rate, maximum computer-to-modem bit speed. If your modem does N-to-1 compression, be sure your DTE rate is at least N times your DCE rate, or you won't be able to keep the modem fed fast enough to get top DCE speed.

And one important misfeature:

RPI

Rockwell Protocol Interface -- a scam designed to save manufacturer a few bucks by omitting error-correction logic from V-series modems. Instead it's done in software by a proprietary driver. Do not buy such a modem, it won't fly under Unix. See the Pitfalls to Avoid section.

Fax capability is included with most all modems these days; it's cheap for manufacturers, being basically a pure software add-on. The CCITT also sets fax protocol standards. Terms to know:

V.29

CCITT standard for Group III fax encoding at 9600bps

V.17

CCITT standard for Group III fax encoding at 14400bps

V.17 isn't common yet, but it doesn't usually cost extra over V.29 when you find it.

There's a separate series of standards for software control of fax modems over the serial line maintained by the Electronics Industry Association and friends. These are:

Class 1 — base EIA standard for fax control as extensions to the Hayes AT command set.

Class 2.0 — enhanced EIA standard including compression, error correction, station ID and other features.

Class 2 — marketroidian for anything between Class 1 and Class 2.0. Different ``Class 2'' modems implement different draft subsets of the 2.0 standard, so ``Class 2'' fax software won't necessarily drive any given ``Class 2'' modem.

There's also a proprietary Intel "standard" called CAS, Communicating Applications Specification. Ignore it; only Intel products support it.

The GNU toolset includes a freeware fax transmission and reception toolset, Netfax. Look for it at prep.ai.mit.edu:pub/gnu/fax-*. It says it requires a modem conforming to the ``Class 2'' control standard, but you'd be safest getting a 2.0-conformant modem for reasons explained above. Netfax also requires GNU Ghostscript to do Postscript handling for it.