PDA

View Full Version : USB External Modems.


Mango3
1st Nov 2001, 18:46
Are these any better than an internal modem? I'm using a laptop with USB ports. The unit came with an internal modem, but I was suckered in to purchase an external. Although I've switched between the two types, I've not noticed any real difference in speeds. I'm running XP on a 56K USB unit. I have to travel lightly, so I'm a little anti regarding an external modem that uses 240V for power. Any one out there that has 'run the modem gaunlet' like I have? Should I discard the external unit for the internal? Thanks in advance.

okeydokey
1st Nov 2001, 19:52
Mango,
I'm no expert but it's my understanding that in general externals are better. In essence externals are hardware based and much more reliable than internals which are usually software based modems.
I'm afraid I can't offer much more detail than this but I have seen an internal 'hardware based' modem on the market (In Aus ;) ) . For the life of me I can't remember the brand (it wasn't uncommon) but I wish I had one myself, my internal, however cheap, has been a hassle.
Maybe other PPRUNErs can elaborate on what I'm trying to say.
Cheers. :D

Mac the Knife
3rd Nov 2001, 00:52
First a bit of elementary (self-taught) modemics.

Proper modems have two main pieces of hardware inside
A data-pump and a controller
Your PC has little extra work to do
Expensive, usually external, reliable

WinModems only have a data-pump
Your PC has to do the control processing in the background
Cheaper, but extra work for the PC/CPU/bus
Becoming the norm. Can be OK in matched system.
Usually internal, can be external.

Soft WinModems have nothing much inside
Your PC has to imitate the work of the data-pump
and the controller all in software. A lot of extra work
for the CPU/bus. A few about. Very cheap.
Usually internal.

I got a USB external modem when I upgraded a year or so ago. Made by Dynalink (I think Australian...) it was built around the Conexant (ex Rockwell) 1456VQE-R3 INT1 chipset and internally called itself a "Conexant HCF V.90/56K Data,Fax,RTAD USB Modem". This is a Winmodem, with the controller implemented in software as part of the driver package. Very many companies bought the chipset and driver, tweaked the driver a bit, packaged it, badged it and sold it as "their" modem.

I had endless trouble with it, principally manifested by dropping the line all the time, and this led me to investigate the problem further. Very many other people have had problems with these modems - some have spent months trying to find solutions - few have succeeded. There seem to be two issues.

1) The drivers (as for all Winmodems) are complex and very tricky to write - principally because they are software pretending to be hardware yet must react in real-time. It doesn't seem that Conexant/Rockwell did such a good job here - and no-one else wrote alternative drivers (why should they?). For a long time C/R refused to acknowlege the problem, referring complaints to the OEMs who actually packaged and sold the components (like Dynalink). Dynalink (or whoever) in their turn, maintained that the problem was C/R's and referred unhappy clients to them... Eventually C/R reluctantly released an unsupported set of "generic" drivers for these chipsets which did little to fix the problem. Dynalink (and others) quietly dropped the chipset.

2) Getting a piece of software to successfully pretend that it is hardware in an exquisitely timing sensitive environment like a modem is very hard. Not only does the software have to be very carefully written, but the speed of the CPU, the bus, memory and the interrupts have to be up to servicing the modem impeccably ALL THE TIME. There is very little margin for error - just one small software buffer overrun can cause the whole incoming packet to be lost and re-requested leading to poor throughput. The carrier is generated in software, so if the CPU gets a bit busy (running other software) the carrier will be lost and the modem will "hang-up". In a "real" modem you can fix this sort of problem by telling the modem to wait longer to hang up when it loses the carrier (ATS10=80) - this doesn't work with a modem implemented wholly or partially in software. There are many other practical difficulties/problems.

Nevertheless, todays CPUs, memory and busses are so fast that it is not unreasonable to implement a modem wholly or partially in software (and much cheaper) though getting close to the reliability of a pure hardware design is more difficult. Winmodems are becoming much commoner (almost the norm).

I never ever got my darn thing to work reliably, despite trying innumerable tricks and patches. I expected it's bad habits to worsen when I tried it in my secondary P2/266 rather than the P3/800 - but there was little change. Overall it seems OK for reading email when the PCs have nothing much else running.

I went back to my USRobotics full hardware modem and can stay on line for days with never a glitch. So it's hardware external for me. As you will now appreciate, external these days does no necessarily mean a full hardware implementation and it is likely that both your modems (internal and external) are actually Winmodems and will behave very similarly. The driver software for your internal modem is likely to be better matched to your PC, so my guess is that you were indeed "suckered" into buying the external modem.

Mac the Knife
3rd Nov 2001, 12:56
More: Paraphrased from various places:

It is important to distinguish between hard real-time and pseudo real-time requirements. Pseudo real-time systems require latencies to be within a certain range, but if the latency is exceeded, system performance merely degrades. In hard real-time systems, if latency requirements are exceeded, the result is a catastrophic failure. A modem is definitely a hard real-time application. Modems require a sample rate sufficient to digitally construct the carrier and modulation tones. Also, the data pump must complete processing a set of samples before the next set of samples is ready. The carrier tone is constructed digitally; therefore, if the sample rate isn’t met, the modem will fail to sustain the carrier and drop the call. This is true even if no data is being transmitted.

Controller-based modem designs use dedicated hardware to perform all the needed functions. Special silicon known as a "modem chipset" does the signal processing algorithms needed to modulate and demodulate your digital data onto the analog phone signal. This function is known as a "data pump," and when it is performed on dedicated silicon, the design is "DSP accelerated." The modem chipset also performs the system control functions. All external modems as well as many add-in boards and internal modems are of this "DSP accelerated" type. Also, modems designed in to non-PC devices such as set-top boxes and point-of-purchase terminals must have their own controller and data pump hardware. The big advantage of controller-based modem designs is that the DSP and controller silicon removes all the processing load from the host, freeing the personal computer for higher level applications such as word processing, graphics, imaging, web browsing, games, and email. Since all the modem functions are offloaded from the host, DSP accelerated designs are highly desirable for lower performance and legacy PC platforms. Controller-based designs are also suitable for stand-alone, external modems, and for embedded devices where no PC may be present. On the other hand, DSP silicon adds to the hardware costs of a PC platform and can make low-end PC systems non-competitive in the very-low-price segment of the market.

Host-controlled modems (win modems) utilize the personal computer processor to perform the control functions of the modem. The data pump functions are still left to a DSP. This has become the industry preferred configuration today. Host-controller-based modem designs take advantage of lower cost DSPs to minimize the load on the host processor. Modem control functions are easily handled by today's high performance personal computers. Hence, moving the modem controller functions to the CPU reduces system cost while having little impact on overall performance.

Soft modems are the newest type of modem to come onto the PC market. Here, both the control functions and the data pump functions are performed by the Personal Computer processor. Because soft modems implement both the control and modulation functions as software algorithms running on the PC processor, the incremental costs for the modem design are small. The only hardware costs are those associated with the physical interface which must be present, of course, in order to plug-in a telephone line. While soft modems represent the lowest possible incremental system costs, they also represent the highest load on the host processor. Soft modems are an ideal choice for those who use analog phone connections only rarely, or who tend not to run multiple applications while connected on line.

Here is a comparison table regarding how the modems process the data for a Controller-based modem, a Controller-less modem and a Software modem.

******************** Controller-base Modem-----Controller-less Modem----Software Modem
Command Protocol_____Micro-controller[h'ware]__Host-CPU_________________Host-CPU
Command Interpreter__Micro-controller__________Host-CPU_________________Host-CPU
Virtual Comport______Micro-controller__________Host-CPU_________________Host-CPU
Error Correction_____Micro-controller__________Host-CPU_________________Host-CPU
Data Compression_____Micro-controller__________Host-CPU_________________Host-CPU
De/Modulation________Data Pump[h'ware]_________Data Pump[h'ware]________Host-CPU
A/D, D/A Converter___Codec(AFE)________________Codec(AFE)____________ ___Codec(AFE)
Echo Cancellation____Codec/DSP_________________Codec/DSP________________Codec(AFE)

The difference between these three types of modem is the way they process data. Usually, controller-less modems and software modems can provide more competitive prices for the same functions compared to controller-based modems. But, it increases the burden on your system's CPU and slows down the processing speed. By contrast, controller-based modems have a higher price tag, but it offers efficient multi-tasking to save time. In addition, software modem has narrow compatibility with different BIOS code. Furthermore, the increase of CPU loading will cause more interruption, DSP code will occupy higher percentage of SDRAM and the larger driver will also burden the memory, therefore more errors might occur in such conditions. That is, you will encounter some compatibility problem during installing this type of modem if you purchase it separately in the retail stores. Also, your computer will more often shut down owing to more errors occur. Usually, these modems are bundled in the computer or sold to the system integrators and shipped out in an entire system to prevent the compatibility problem. That is why end users seldom see these modems put on the shelves.

So there you have it. Interestingly on one of the Linux forums the point was made that on a reasonably fast machine with a well written driver that the latency of softmodems might even be less. Mind you, this was talking about online gaming, so perhaps no other software is running.

Mango3
3rd Nov 2001, 13:43
Struth! Thanks for the detailed replies. Interesting to mention too that I've just upgraded from 98SE to XP. There is another thread relating to this, but surfice it is to say that XP does not recognise my trusty USB modem any more. :)

fobotcso
3rd Nov 2001, 16:00
Thank you for all that. Just two comments.

I bought a bare second-hand PC for a friend and the shop threw in an internal hardware modem with the same comments about resource sharing. It seems to do well.

What about Laptops then? On-board or PC card? Are there the same considerations? It would seem so.