The Problem with Modems

Recently I experienced prolonged difficulties with my USB ADSL Modem.  During the troubleshooting of this problem, (which took two weeks,) I discovered quite a lot about USB, ADSL, and modems in general.  Hopefully you will find this as useful, informative and fascinating as I do.


Why do so many DSL service providers use USB modems?  Because they are cheaper.  They are cheaper for two reasons; first, USB modems tend to use PPPoA, or Point to Point Protocol over ATM, which is a low cost way of providing DSL service.  By contrast PPPoE, or Point to Point Protocol over Ethernet, is a higher cost way of providing DSL service.  Second, USB modems offload much of the processing onto the main CPU.

The measurements vary widely depending on the type of modem, the type of computer processor, and the type of protocol, but a USB ADSL modem can use up to 30% of your processor cycles.  The USB modem can use up to 10% of your processor cycles even when you aren't connected just to maintain the line.  Why else does the link light stay on?

The problems with a USB ADSL modem go beyond that.  For example, an ADSL modem uses approximately 80% of the USB hub's bandwidth.  If your motherboard or USB add on card has only one hub, you don't have much useful bandwidth left.  Another problem is that a port is designed to provide a maximum of 500mA of power; many USB ADSL modems draw just barely under that limit.  By designing to the limit, they are violating an engineering rule of thumb that says you should limit yourself to 85% of the maximum available power. 

The power problem is especially acute if you have a poorly performing chipset.  Via chipsets in particular are particularly prone to failures at the margins, leading some pundits, (Jerry Pournelle for one,) to recommend against any any single processer AMD motherboard because they all use the Via southbridge. 

Please note that Jerry Pournelle says nothing about USB ADSL modems, but since Via is a known bad actor in other areas I'm choosing to extend those problems into this arena.  I may be wrong, but if I've learned anything from living with an HP computer it is that low price is usually the result of compromises in features or quality.  The low price always costs in the long run.

Dial-Up Modems

Dial-Up Modems present some peculiar problems.  They must modulate the digital data into an analogue signal.  To do this they vary the signal in both phase and amplitude.  These changes represent the ones and zeros of binary code.  In addition, modems compress the data to reduce redundant bits.  The modulation/demodulation of the signal combined with the compression/decompression requires a great deal of processing.  It is the level of processing of the signal that accounts for the 100ms latency inherent in modem transmissions.

Modern 56k internal PCI modems invariably use WinModem.  WinModem offloads signal processing from the modem card itself to the computer's CPU.  This signal processing uses up quite a number of processor cycles. 

A general rule of thumb is it is better to do something in hardware than in software.  It is also better to offload specialized processing to hardware specially designed for that purpose; this is why computers use specialized graphics processors instead of trying to use the CPU for everything.

Modems using WinModem are cheaper to build and sell, but users will find their computer seems slower while the modem is in use.   For that reason many people prefer the older ISA modem cards to the modern PCI cards.  Still others prefer to use external modems operating from the computer's serial port.  The older ISA cards will likely not have all the features of modern cards, but they won't slow the computer down either.  External modems using the serial connector will be more expensive than internal PCI cards, but by offloading processing to specialized hardware the CPU will perform optimally.

Last updated on December 31, 2005