Most x86 serial ports can only handle a port speed of up to 115,200 bps. Therefore, you can't set the port speed to higher than 2 times theoretical connect speed with a v.90 modem. Because actual connect speed is lower than 56Kbps, however, a 115,200 bps port speed is often about 2.5-3 times faster than the actual connect speed.
Modems for x86 computers have traditionally been serial port devices. That is, they connect to the computer through a serial port (see Chapter 16, "Parallel and Serial Ports"). It's therefore logical that modems be external peripherals, as shown in Figure 18.2. These devices use a serial cable to connect to one of your computer's serial ports. They also require a separate power cable. These devices vary substantially in size and shape.
Other models are internal devices. These are ISA or PCI cards that have external connectors for telephone cords. They look much like any other expansion card. Traditionally, internal modems have contained all the circuitry of external modems plus the circuitry of a serial port, and so they're indistinguishable from external models from a software point of view. Since the late 1990s, however, software modems have become increasingly popular. These devices eliminate some of the hardware in favor of special drivers. I describe them in greater detail shortly. For the moment, we'll consider only traditional controller-based internal modems, which contain all the usual modem circuitry.
An external modem is typically a rectangular box that can sit next to or on top of a computer.
An external modem is typically a rectangular box that can sit next to or on top of a computer.
Each variety of modem has its advantages and disadvantages. Benefits of external modems include
• Portability You can easily unplug an external modem from one computer and move it to another computer. Doing this with an internal model is also possible, but takes more effort.
• Freedom from interference The interior of a typical computer's case is filled with various types of electromagnetic and radio interference, which can sometimes cause poor performance in a modem.
• No slots required External modems don't consume any slots in your computer, unless you need to add a serial port to accommodate the modem.
• Simpler configuration The need to add a serial port or reconfigure an existing one for internal modems can be a nuisance. External modems are simpler to configure because most Linux distributions include support for the two standard serial ports by default.
• Independent power switch You can easily power off an external modem by flipping its power switch or, at worst, by unplugging it from your electrical outlet. This can sometimes be important if the modem is malfunctioning—either dialing numbers erroneously or failing to respond at all. Powering the device off and then on again often fixes such problems.
• LEDs External models usually feature a bank of half a dozen or so LEDs that indicate the modem's status. These LEDs can be extremely useful in diagnosing problems.
On the other hand, the benefits of internal models include
• Zero footprint As internal devices, internal modems don't consume any desk space.
• Reduced cable clutter Although all modems require at least one cable for a connection to the telephone outlet, external devices also require a serial cable and a power cable. Internal devices require neither of these.
• No serial port required If you're currently using both your external serial ports, an internal model frees you from having to buy a separate serial port card or using an external serial port switch box.
• Reduced cost Internal modems typically cost less than do external modems.
This final item is the deciding factor for many purchasers; internal modems are quite popular. This is particularly true on new computers, which frequently include a modem. (Some of these actually include the modem on the motherboard.)
You can use either internal or external modems under Linux. Aside from issues of configuring an internal modem's serial port, their configuration and use is exactly the same. (See Chapter 16 for a description of configuring a new serial port.)
External modems are beginning to abandon the traditional RS-232 serial port in favor of the USB port. This process is far from complete, so you can still buy external RS-232 serial modems. If you're in the market for a new modem, this is the safest route to take in most cases.
If you must buy a USB modem for some reason, you'll need to use the USB support from 2.3.x or later kernels. These kernels include a driver for USB modems that use the Communication Device Class Abstract Control Model (CDC-ACM) interface. This driver requires device files with major number 166 and minor numbers from 0 up. Filenames for these devices typically take the form /dev/ttyACMn, where n is a number from 0 up.
Not all USB modems support the CDC-ACM protocols, so you should shop carefully. You can check http://www.linux-usb.org for the latest on USB information for Linux, including a database of information on hardware compatibility.
Telephone modems are essentially specialized computers. These computers are designed exclusively to convert digital to analog data, and vice versa. As x86 CPU speeds have increased over the years, it's become possible for the computer's CPU to perform some of the
computational tasks traditionally performed by the modem. In such an arrangement, the modem still requires some hardware, but the modem's hardware can be much simpler, and therefore much less expensive, than the hardware for a conventional modem.
Various terms have come into being to describe both older modems and the new software varieties. The new software-driven modems can be called software modems, controllerless modems, or WinModems, although the last is actually a trademark of 3Com and so should only be applied to certain 3Com models. Software modems for which Linux drivers exist are sometimes called LinModems. Old-style modems are usually referred to as conventional modems or controller-based modems.
Software modems have traditionally been scorned by the Linux community for two reasons:
• Specialized driver requirements Software modems can't work with normal Linux serial port drivers. Instead, they require specialized drivers that have only started to become available in late 1999. Even in 2000, many software modems simply don't work in Linux.
• CPU load Because software modems rely on software to perform tasks normally performed in hardware, these modems rob you of some CPU time. This can be a serious problem on comparatively slow computers, such as 100MHz Pentiums. On modern 500MHz or faster machines, this problem is less important.
Despite their poor favor in the Linux community, software modems do have a few advantages, o including g
• Low cost Software modems cost very little to manufacture, and so their retail price can be quite low. I recently heard of a software modem selling for $25 with a $20 rebate offer, for instance.
• Small component size Because of their simplicity, software modem components can easily fit into space-limited board designs, such as those for notebook computers.
• Programmability In theory, software modems can support future standards and even entirely unanticipated functions merely by updating the software. In practice, Linux support for the devices is so slim that this is more of a potential advantage than a real one.
All in all, I recommend you avoid software modems whenever possible. Linux driver support for these modems is in its early stages, and some of these drivers are available only in binary form, which means they might stop working with future kernels if the manufacturer loses interest in maintaining the driver. In some cases, you might have little choice in the matter. For instance, almost all notebook computers sold today include software modems. You can buy PC-Card or external serial port modems to replace the built-in models, but you'll find it easier to use the built-in software modem, if that's possible.
Software modems are available as internal models only. The computations required to implement a software modem require the high speed of an ISA or PCI slot. You can usually identify a software modem by checking the requirements panel on the modem's box. If it lists a Pentium CPU or Windows among its minimum requirements, it's almost certainly a software modem. If the box lists an 80486 or earlier CPU, or DOS, OS/2, or Linux among its minimum requirements, chances are it's a controller-based modem. (If the box lists a Pentium CPU and mentions Linux but not DOS, it might be a software modem for which Linux drivers are available.) External modems are almost always Linux compatible. The main exceptions are some USB modems. As described in the sidebar, "USB Modems," earlier in this chapter, some of these devices work with Linux's USB drivers, but some don't.
If you have a software modem, you might as well look for Linux drivers before you attempt to replace it. The Web site http://www.linmodems.org has the latest information on software modems under Linux, including links to drivers, information on software modem chipsets, and miscellaneous additional information.
Was this article helpful?
Read how to maintain and repair any desktop and laptop computer. This Ebook has articles with photos and videos that show detailed step by step pc repair and maintenance procedures. There are many links to online videos that explain how you can build, maintain, speed up, clean, and repair your computer yourself. Put the money that you were going to pay the PC Tech in your own pocket.