WinModem. Do you own one of these? Are you always getting disconnected from the net? Are your ping times for Quake 3 terrible? Does your computer seem sluggish when you're on the net?

If you own one, I'll let you in on a little secret.
The problem, most likely, is not your ISP. Its your winmodem. Most ISP's aren't allowed to blame the customer, or their equipment, so they dutifully go through the troubleshooting steps, trying to help you get, and stay, connected -- but its a well known fact in tech-support circles how bad these modems are. Why are they considered to be so bad?

Winmodems do not posess a UART chip on them. Why? Because it saves the manufacturer a few dollars. Thats it. The price difference when it comes to making one with or without one is not that big, but it saves the manufacturers a few dollars per unit, which adds up to big savings for them.

"So what?" you say... "Why does it matter?"

Basically, without that chip, a huge amount of work is offloaded onto your processor. Estimates of 10% processor use, JUST by the winmodem, are pretty accurate. Windows handles the functions of that UART chip, and thus, your computer processor does the work. This is a very dumb idea, but again, it saves the manufacturers a few dollars each unit, so they do it.

Ping times are affected as well, because your modem is using your computer processor. Ever notice when you play a grahpics intensive 3D online game, Quake 3 for example, your ping times go to hell? That's because your modem wants some of your processor's time, but the 3D game is eating it up rendering graphics (assuming you don't have a modern video card; modern video cards come with their own grahics processors). That's the price you pay.

Winmodems typically come as PCI based modems; most ISA based modems are not Winmodems, so if you want to go buy a 'real' modem that isn't a winmodem, look for a non-PCI modem (athough ISA is now antiquated and you won't find anything, not even modems, available in ISA form factor anymore). Any external USB modem you find won't be a Winmodem. Even some ISA based modems (amazingly enough) are Winmodems as well, so read the packaging carefully to make sure it doesn't say 'winmodem' anywhere on it. Trust me, buy a non-winmodem, and you'll see your transfer speeds, online gaming speeds, and connection reliability skyrocket, since they don't offload the work onto your processor.

A winmodem is, quite simply, a poorly-designed sound card connected to your phone line. Instead of having some cheap chips generate the waveforms needed to transmit information to the other side, a winmodem utilises your computer's CPU to do the job. While it makes the modem only slightly cheaper to manufacture, it makes your computer much much slower (presumably an advantage to a hardware manufacturer). It also locks you into a particular OS, since drivers are typically provided only for the most popular systems available when you buy the modem. It means that it won't work with a real OS (like *BSD or Linux), but it also means a lot more (less?). Do you really think drivers will be available in 2005 to run your winmodem from Windows 2003?

Best way to avoid getting a WinModem: use an external modem instead. You're guaranteed to have a hardware UART because it's within the COM port (or USB controller) itself, you're guaranteed to have a hardware DSP because, well, the serial port just plain can't do that, and you're (almost) guaranteed compatability with any OS because most of them just use the Hayes commandset, and all the communication between the PC and the modem is plaintext. It's as close to a black box as you'll be guaranteed to get with a modem (and most modems are, indeed, black).

On an aside note, in one of the Linux notebook HOWTOs, the "modem" in the newer models of Sony VAIO is whimsically referred to as "an RJ-11 adaptor."

These things are only called winmodems because windows has the most market share. They might otherwise be called linmodems (or even mOdemS/2). It's not an evil Microsoft conspiracy. It's not in Microsoft's interest to release bargain-basement crap. Have a look at the sidewinder range of joysticks, or the Xbox for an example of hardware Microsoft actually manufatures.

Winmodems come in two varieties, Controllerless modems, which are lacking a UART and general control gear, but have an on-board DSP to produce modem noises, and Software modems, which are a sound-card with an RJ11.

Controllerless modems

Controllerless modems emulate the encoding/decoding hardware (the data pump) of the modem using a DSP chip (As do many 'hardware' modems nowadays). What is missing is the UART (which handles communication over a serial line), and the 'controller' (a microcontroller that accepts commands from the computer, configures the modem hardware, and sets the modem dialling). These devices are emulated in software. Certain controllerless modems can offer lower latency, or better voice support (for example the IBM mwave), as the overhead of the serial link is eliminated.

The driver for a controllerless modem does not deal with the encoding or decoding of modem data, and has an overhead comparable to that of a 'hardware' modem. After uploading the encoding/decoding software to the DSP on the card, the driver has only to handle communication with the DSP, and emulate a serial port and hayes controller for legacy applications. The more direct communication with the modem allows the drivers to provide useful supporting applications, showing a virtual front panel, the speed it's currently negociated, etc. Hardware modems cannot do this, as the serial link can be oused for either control or data, but not both at once.

As the modem has no permanent memory, updating the modem with an incompatible firmware will not damage the hardware. If 'hardware' modems are flashed with incorrect firmware, or the flash fails, they can be left in a state where the modem does not work, and cannot accept a new, working, flash. This is known, somewhat poilitically incorrectly, as Helen Keller mode.

Software modems

Software modems, however, should be avoided like the plague. As they have no processing capability of their own, the CPU has to do all the monkey work of encoding/decoding the audio signal into data. The PCI bus has to shift large amounts of time-critical audio data to and from the CPU the whole time the modem is connected. This constant loading of the PCI bus can cause problems with other devices needing bus access, such as sound and graphics cards. If the PCI bus is over-contended, the modem may slow down or drop data.

Software modem drivers are large, complex pieces of software. To work with the modem hardware, a large amount of the driver has to run in kernel mode, where it has unrestricted access to hardware and memory. Complex, time-critical software is very difficult to engineer correctly, and running in kernel mode means that a single bug can bring down the whole system. This software is written on the cheap by the lowest bidder, for a piece of hardware that every possible corner has been cut to produce. This is why software modems are so infamously unreliable.

Recently, there's been an alarming trend amongst bargain-basement computer stores to sell controllerless (and even software modems) as 'hardware modem's. Don't be fooled! If it needs drivers, it's a winmodem of some kind. In many countries, this is false advertising, and you are entitled to your money back, on the grounds that the goods are not 'as described'.

Log in or registerto write something here or to contact authors.