Softmodem


A softmodem is a modem with minimal hardware that uses software running on the host computer, and the computer's resources, in place of the hardware in a conventional modem. Softmodems are sometimes called winmodems because the first ones worked only on IBM PC compatible computers with a Microsoft Windows operating system. By analogy, a linmodem is a softmodem that can run on Linux.
Softmodems cost less to manufacture than conventional modems because they had less hardware. However, they shared the computer's limited resources with other tasks, which reduced the resources available to, and sometimes the performance of, the computer's primary tasks. This was very apparent in the typical case of connections suddenly dropping when the screen saver activated.
Softmodems are sometimes used as an example of a hard real-time system. The audio signals to be transmitted must be computed on a tight interval ; they cannot be computed in advance, and they cannot be late or the receiving modem will lose synchronization.

General description

Often, the term "softmodem" is used in a derogatory manner, as opposed to hardware or "real" modems. The argument is that a softmodem isn't a real modem at all, but rather a simple electrical interface between computer and phone line. The hardware only performs very basic functions such as voltage/current adaptation and functioning essentially as a DAC/ADC, much like a sound card which handles pure PCM and analog signals from and to the telephone line. The "modem" part—modulation and demodulation—is done in software using the host's CPU, which does the actual job of synthesizing or analyzing all necessary waveforms and applying all necessary DSP techniques to the signal, in order to encode and decode inbound or outbound data.
This means that at least the simplest softmodem is nothing more than a special purpose I/O card, comparable to a limited sound card with mono DAC/ADC's and a telephone line interface, while all actual signal encoding/decoding is done by the host machine, hence the terms HAM or HSP . Many of the latest softmodem chipsets, e.g., the Intel Ambient, are even built around a standard AC'97 audio codec interface.

Evolution and technology

As PSTN hardware modem technology advanced, the modulation and encoding schemes became increasingly more complex, thus forcing the hardware used by the modems themselves to increase in complexity.
The first generations of hardware modems and their protocols used relatively simple modulation techniques such as FSK or ASK at low speeds and with inefficient use of the telephone line's bandwidth. Under these conditions, modems could be built with the analog discrete component technology used during the late 70s and early 80s.
As more sophisticated transmission schemes were devised, the circuits grew in complexity substantially. The modem required mixing analog with digital parts, and eventually incorporating multiple ICs such as logical gates, PLLs and microcontrollers. Later techniques used in modern V.34, V.90 and V.92 protocols are so complex that implementing a modem supporting them with discrete components or general purpose IC's would be very impractical. Dedicated DSP or ASIC must be used instead, effectively turning the modem itself into a specialized embedded system.
Furthermore, improved compression and error correction schemes were introduced in the newest protocols, requiring processing power by the modem itself. This made the construction of a mainly analog/discrete component modem impossible, especially when trying to achieve compatibility with older protocols using completely different modulation schemes.
Thus hardware modems supporting those standards were becoming steadily more complex and expensive themselves, not to mention the fact that several conflicting standards in the early days of the various 33.6K and 56K protocols led to incompatibilities and the construction of modems with upgradeable firmware, which did all of the processing via a programmable DSP.

Advantages

By offering the same functionality as a hardware modem at a fraction of the price and a capacity for unlimited upgrades, the advantages of software-based modems became compelling. However, they would still require significant advances in home PCs' CPU power in order to compete with hardware modems in terms of performance and reliability.
Having most of the modulation functions delegated to software does serve to provide the advantage of easier upgradeability to newer modem standards. However, by the time softmodems became commonplace in the late 1990s to early 2000s, this was no longer an advantage, with the latest V.92 56K protocol practically bearing the maximum achievable performance for a normal PSTN modem and telephone line and no significant future improvements/advancements seeming possible. Nevertheless, this is not yet the case with the more recent software-based DSL modems, whose easy upgradeability can still be an advantage. More commonly, however, softmodem drivers are enhanced in regard to their performance and to eliminate possible software bugs.
A more practical advantage of softmodems is given by the considerable reductions in production costs, component count, size, weight and power requirements compared to a hardware modem, whether external or internal, to the point that most modems that are integrated in portable computer systems are softmodems.
Because they do so little by themselves, if the device's internal protocol was known or reverse-engineered, a computer program could use a softmodem as something other than a modem, such as emulating an answering machine or a signal generator.
Most PC serial ports, the traditional interface for external hardware modems, are limited to 115,200 bits per second by UART limitations, though some ports are capable of 230,400 bit/s. V.92 modems with V.44 compression can have an effective throughput of up to 300,000 bit/s. Since a V.92 hardware modem performs V.44 compression internally, the speed of a serial port can limit a hardware modem's overall speed; this is not an issue for softmodems since the host PC performs V.44 compression and emulates the serial port. Thus, V.92/V.44 softmodems are potentially capable of outperforming hardware modems if the hardware modem is connected to a slow interface like a PC's serial port. This limitation should not apply if the hardware modem is connected via a faster interface like ISA, PCI, PCI Express, or USB.

Disadvantages

Softmodems have earned a certain notoriety for slowing down their host computer systems and for having buggy drivers, although this reputation was largely garnered during the period of their introduction to the mass market, whereupon they were apt to use substandard drivers and be found in entry-level computers with slow CPUs. Any such reputation has not, however, halted their market popularity; most internal 56k modems produced since 1998 have been software-based.
In the vast majority of cases, the device could not be used with any other platform than Microsoft Windows, and end-users were completely dependent on a driver being available for whatever version of Windows they were running. It was very common for Windows upgrades to make the softmodem completely unusable in the newer version of Windows.
Nowadays, with modern CPUs and better drivers, their most serious drawback is that they are operating system and machine dependent. They cannot always be used on other operating systems and host machines because the driver support requires far more effort to produce.
They consume some CPU cycles on the computer to which they are attached, which can slow down application software on older computers. This was a major issue in the 1990s, when CPUs were not nearly as powerful as today's typical hardware. They are sometimes referred to as an "interface-on-a-stick".
The advantage of software upgradeability was increasingly diminished when many newer hardware modems gained the ability to upgrade firmware to support new standards. Modems such as those made by U.S. Robotics used generic DSP architecture, which achieves the flexibility of softmodems without sacrificing any advantages that a hardware modem has over a softmodem.

Categories

Softmodems can be separated into two clear classes: controllerless modems and pure software modems. Controllerless modems, such as those made by Lucent and Motorola, perform much of the modem work on the card, and require only small amounts of CPU power to complete. Conexant's HCF standard also falls into the controllerless category. Pure software modems perform the entire emulation of a hardware modem on the main CPU, with Conexant's HSF standard being the most common.
U.S. Robotics literature presently uses "Winmodem" for controllerless modems, and "Softmodem" for pure software modems.
Another way of classifying softmodems is by means of their communication interface with the host computer: on desktop systems the most common option is an internal PCI or ISA expansion card, which can be easily be told apart from an internal "hardware" modem by the significantly reduced size and component count.
Softmodems can also be integrated in MiniPCI and PC cards for use in a portable computer, such as a laptop or palmtop computer, or connected via USB.

DSL softmodems

Although the term has historically been used to indicate the traditional "analog" PSTN software modems, there are some software-based DSL modems or even routers, which work on the same principles as their PSTN ancestors, only on a larger bandwidth and on a more complex signal. One of the first software based DSL modem chipsets was Motorola's , for which similar considerations as "ordinary" PSTN modems can be made. The term WinDSL has shown up on technology sites like Slashdot regarding this trend. DSL softmodems generally require the same interfaces as PSTN softmodems, such as USB or PCI.
However, the increasing popularity of home networking limited the prospects for DSL softmodems. Many households and small businesses have a router connected to the DSL modem, and all their computers are connected by various types of wired or wireless networks to that router. For that reason, most broadband modems today are external devices with either Ethernet connections for single PCs or routers, or built-in routers of their own; these interfaces require a full-hardware implementation. Most current broadband modems with USB jacks also have Ethernet jacks, and thus are full-hardware modems.

Software and soundcard projects

The first softmodem-related announcements were made by Motorola, Intel and other companies, back in 1997, claiming that an ordinary sound card and some CPU power would be enough to emulate the functionality of an actual modem, although "sound card telephone adapters" and related software was never released or at least never caught on.
Reasons for that might have been the lack of standardized and fully functional audio card standards by 1997 and the lack of CPU power on entry-level PC's.
The approach of using a standard sound card was used by an experimental open-source 96 kbit/s leased-line softmodem called in 1999.

Winmodem as a brand name

"Winmodem" is a U.S. Robotics brand name, but the term has now come to mean any software-based modem, in the same way that Xerox refers to any copy machine in some parts of the world. , U.S. Robotics no longer uses "Winmodem" as a brand of modem. Instead, they use the term generically for modems that are controllerless but retain all other modem functions in hardware; this happens to include all of their current branded modems that are not full-hardware modems.