This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
A softmodem (software modem) is a modem with minimal hardware that uses software running on the host computer, and the computer's resources (especially the central processing unit, random access memory, and sometimes audio processing), in place of the hardware in a conventional modem. Consumer-grade "softmodems" are mostly called winmodems because they have been known to originate working only on IBM PC compatible computers with drivers only available for one or more Microsoft Windows operating systems. The exact same concept was known to exist with other classes of hardware in the 1990s, such as "win-sound cards" and "win-network cards".
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 Microsoft Windows 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 (on the order of every 5 or 10 milliseconds); they cannot be computed in advance, and they cannot be late or the receiving modem will lose synchronization.
Often, the term "Winmodem" or "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, limiting itself to 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, while the host's CPU does the actual job of synthesizing or analyzing all necessary waveforms (carrier, dialing tones) and applying all necessary DSP techniques (FSK, QAM, PSK etc.) to a "virtual" signal, in order to encode and decode inbound or outbound data. In many soft/winmodems, a buffering/DMA option was not even implemented, which meant the driver for the device had to perform bit banging directly on the input and output lines.
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 (as well as compression/decompression, error correction etc.) is done by the host machine, hence the terms HAM (Host Assisted Modulation) or HSP (Host Signal Processing). 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 (including acoustic couplers) 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 (like 1024-QAM) 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 (V.34) and 56K protocols led to incompatibilities and the construction of modems with upgradeable firmware, which did all of the processing via a programmable DSP.
By offering (or claiming to offer) the same functionality as a hardware modem at a fraction of the price and (theoretically) a capacity for unlimited upgrades, the advantages of software-based modems became appealing to users looking for an extremely low-budget solution. 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.
Because they do so little by themselves, if the device's internal protocol was known or reverse-engineered, a computer program could use, for example, a softmodem as something other than a modem. In this example of a softmodem/winmodem, an arbitrary program (or device driver, in rare cases) could emulate an answering machine or a signal generator
Winmodems 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 Microsoft Windows they were running. It was very common for Microsoft Windows "upgrades" to make the win-hardware completely unusable in the newer "version" of Microsoft 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 real modem has over "win-modems".
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.
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 SoftDSL chipset, 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 (cable as well as DSL) 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 (AC'97 was not standardized yet, and most sound cards were partially functioning "Soundblaster clones" which lacked even full duplex capabilities) and the lack of CPU power on entry-level PC's.
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. As of 2007[update], 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.