This document provides a general technical overview of three common types of client modems seen in the field. With a good insight into the hardware issues with modems, you can adjust the client configuration to achieve improved performance.
This document also provides brief descriptions of chipset vendors. Refer to the appropriate modem manufacturer documentation for more detail.
Modems consist of two major components:
A datapump that performs the basic mod ulation/ dem odulation tasks for which modems are named.
A controller that provides the identity for the modem. The protocols for hardware error correction, hardware data compression, and basic modulation protocols (for example, V.34, X2, or K56 Flex) exist in the controller. A controller also interprets attention (AT) commands.
The three different types of client modem discussed here are:
Many Internet Service Providers (ISPs) encounter user complaints about unstable connections, low connect speeds and so on. These issues can be caused by client-side, Telco or circuit, or network access server (NAS)-side problems.
General modem and line operational quality is closely tied to many factors such as:
The ability of the NAS modem to interoperate with the vast and ever-shifting range of peer modems (of various quality) encountered in the field.
The quality of the modems on the client side as well as on the NAS. The quality of the circuit (end-to-end connection) between the client modem and the NAS.
The number of analog to digital (A/D) conversions in the circuit.
You can troubleshoot the circuit and NAS side to ensure that they are functioning correctly. However, you must also have a good understanding of the mix of client modems.
This section describes hardware modems.
In a hardware modem, the modem handles LIU, DSP and CP functions. Hardware modems have historically been the best modems performance-wise, and also the most reliable type. Hardware modems can be external or internal. With external modems, a physical cable (such as an RS-232 serial interface) connects the computer to the modem. In internal hardware modems, the internal bus of the computer handles this function.
The line interface unit (LIU) handles the electronic signaling interface to the Public Switched Telephone Network (PSTN) Network. LIU also encodes and decodes the analog waveform to and from the Pulse Code Modulation (PCM) used in the PSTN.
The digital signal processor (DSP) handles the modulation and demodulation (V.92/V.90, V.34, V.32bis and so on).
The Control Processor (CP) handles:
Error Correction (MNP4, LAP-M/V.42)
Data Compression (MNP5, V.42bis, V.44)
Command interface (AT-commands, V.25) used by the DTE to communicate with the modem.
External hardware modems generally have better diagnostic functionalities for troubleshooting. This is partly because they are quite independent from the computer to which you connect them. Even the least expensive models have a built-in speaker that allows you to detect retrains easily. Lines with increased delay correspond to periods when modems retrained (due to the link quality problems), which is easy to understand (hear) with an external modem, but are not very obvious otherwise.
This is a sample output of pings (from a Windows PC) over an unstable modem connection:
C:\WINDOWS\COMMAND>ping 172.20.1.255 -t -l 4096 Pinging 172.20.1.255 with 4096 bytes of data: Reply from 172.20.1.255: bytes=4096 time=871ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=862ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=978ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=854ms TTL=255 ... Reply from 172.20.1.255: bytes=4096 time=5421ms TTL=255 !--- Multiple retrains Reply from 172.20.1.255: bytes=4096 time=858ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=961ms TTL=255 ... Reply from 172.20.1.255: bytes=4096 time=950ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=947ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=952ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=852ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=949ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=20523ms TTL=255 !--- Multiple retrains Reply from 172.20.1.255: bytes=4096 time=862ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=850ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=951ms TTL=255 ... Reply from 172.20.1.255: bytes=4096 time=854ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=1356ms TTL=255 !--- Single retrain Reply from 172.20.1.255: bytes=4096 time=893ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=863ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=915ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=868ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=867ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=12676ms TTL=255 !--- Single retrain Reply from 172.20.1.255: bytes=4096 time=854ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=861ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=963ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=860ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=868ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=871ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=854ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=1034ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=856ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=865ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=865ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=859ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=870ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=859ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=911ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=29458ms TTL=255 !--- Multiple retrains Reply from 172.20.1.255: bytes=4096 time=856ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=952ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=935ms TTL=255 .. Reply from 172.20.1.255: bytes=4096 time=863ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=870ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=29366ms TTL=255 !--- Multiple retrains Reply from 172.20.1.255: bytes=4096 time=864ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=911ms TTL=255 ... Reply from 172.20.1.255: bytes=4096 time=961ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=857ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=959ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=850ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=17911ms TTL=255 !--- Multiple retrains Reply from 172.20.1.255: bytes=4096 time=4478ms TTL=255 Reply from 172.20.1.255: bytes=4096 time=865ms TTL=255
Most external modems also have LEDs to indicate the status of the connection to the computer, and the activity over the phone line (user data being sent and received). More advanced models have LCDs, and allow you to monitor more details dynamically (such as, the current receive and transmit rates, line noise, error level, signal quality, SNR, compression effectiveness, and so on), as the line condition and data traffic change over time. As a bonus, if the external modem freezes (for example, due to a problem in its firmware), it can be power-cycled without rebooting the computer.
Internal hardware modems usually do not have LEDs. Such modems can use the computer sound card to play the train-up phase, and often rely on the software of the computer to report any details (which makes the results less independent and reliable). Some advantages of internal hardware modems are lower price, and potentially faster data exchange with the computer.
This section describes controllerless modems.
In controllerless modems, CP logic is moved into the computer operating system, while the LIU and DSP are performed on the modem hardware itself. This design is good because the hardware DSP still handles the real-time modulation work, while the computer can handle CPU or memory-intensive data compression function. With good design the difference between hardware and controllerless modems is practically unnoticeable. This is because the CPU performance loss on error correction, and data compression are compensated by data moving more efficiently (with fewer interrupts) between the DSP and the computer.
These controllerless modems can be just as reliable, and perform at least as well as hardware modems. However, some disadvantages are:
They share the same limitations as internal hardware modems.
Controllerless modems may fail to work with a non-Windows operating system (OS).
If the OS experiences memory problems, data compression may be severely affected.
This section describes HSP modems.
In HSP modems, the modem itself only consists of the LIU. It shunts the PCM-encoded waveform through the internal bus to the CPU of the host computer emulating the DSP.
The HSP design can still be quite effective, if the computer runs an operating system capable of real-time processing. However, most HSP modems are used on computers running Microsoft Windows OS, which is a non-realtime OS. Therefore, HSP modems on Windows computers are often unstable, and experience performance issues, especially when the signal processing functionality competes for CPU cycles with normal computer time-sensitive functions like sound, video and disk drivers operation.
Clients with HSP modems can expect unstable connections as well as performance issues, such as lower speeds, high error rates and so on. A service provider with a high percentage of HSP client modems should expect a higher number of user complaints.
Use these suggestions on the client modem to help reduce performance issues:
Clean up the wiring.
Remove other devices connected to your line (such as fax machines).
Upgrade your client modem code. Refer to the modem manufacturer for more details.
Detune your modem (lower modulations and speeds).
Try a different modem (preferably a hardware modem).
Refer to Fine-Tuning Modems for more information.
Here is a list of chipset vendors:
Look at the firmware version to identify whether you use a 56K or V.90 capable modem. In most cases, V1.1 or later is K56Flex and V2.0.65 or later is V.90. The version determines whether the modem is able to make K56Flex or V.90 connections.
Some modem vendors also use V2.0.xx code to integrate K56Flex firmware. For example, Boca has a 2.0.13 K56Flex firmware where 2.0.65 is the V.90 code. This information applies only to some Rockwell clients.
Here is a list of common Rockwell Original Equipment Manufacturer (OEM) vendors:
Best Data
Boca
Compaq
Diamond
Dynalink
Hayes for some K56Flex models (Hayes is no longer in business)
Lasat
Microcom
Multitech for certain V.90/K56Flex models
Practical Peripheral
Zoom (Lucent/Rockwell)
If you are not sure whether your modem is a Rockwell modem, go to the homepage of the vendor to see if the Rockwell label appears. For a list of all modem vendors, see 56K.COM's 56K Modem Manufacturers page.
Open a terminal session, make a direct connection to the modem, and type the AT or at command. The modem must respond with an "OK" message.
Type these commands:
Rockwell; AT i1 through AT i10 at i6 at &v1 at &v2
In most cases, the AT i3 command supplies the firmware version. For example:
Dynalink : V2.200A-K56_DLS
The AT i6 command tells you which chipset you use. For example:
RCV56DPF L8570A Rev 30.0/30.0 RCV56DPF L8570A Rev 35.0/34.0 RCV56DPF L8570A Rev 45.0/45.0 RCV56DPF L8570A Rev 47.18/47.18 RCV56DPF L8570A Rev 47.22/47.22 RCV56DPF L8570A Rev 47.24/47.24 RCV56DPF L8570A Rev 47.29/47.29 RCV56DPF L8570A Rev 47.32/47.32
The RC in the chipset means that you use a Rockwell (now Conexant) modem.
In order to see the current line conditions, use the AT&V1 command. Here is a sample output from a Rockwell (Zoom) modem:
AT&V1 TERMINATION REASON.......... NONE LAST TX rate................ 26400 BPS HIGHEST TX rate............. 26400 BPS LAST RX rate................ 42667 BPS HIGHEST RX rate............. 42667 BPS PROTOCOL........ LAPM COMPRESSION................. V42Bis Line QUALITY................ 024 Rx LEVEL.................... 015 Highest Rx State............ 67 Highest TX State............ 67 EQM Sum..................... 00D8 Min Distance................ 0000 RBS Pattern................. 21 Rate Drop................... 01 Digital Loss................ 2D6A Local Rtrn Count............ 00 Remote Rtrn Count........... 00 Flex fail
Users with firmware earlier than 1.1 must upgrade to V.90 (V2.0.65 or later). Firmware versions earlier than 1.1 do not connect at 56KFlex or V.90 and fall back to V.34. Code earlier than 1.1 is also called K56Plus, a pre-K56Flex code that MICA does not support.
Lucent has three different chipsets on the market. Apollo, Mars, and Venus integrated modem chip sets from Lucent work on V.90/K56Flex technology.
Here is a list of common Lucent OEM vendors:
Actiontec DT5601
Hayes Accura (Hayes is no longer in business)
Multitech (for certain models)
Multiwave COMMWAVE PCI Lucent
Paradise WaveCom 56kPCI
Xircom
There are some PC vendors who integrate software WIN modems in the PCs and call them Win Modems. They have another in-built Lucent chipset.
Open a terminal session, make a direct connection to the modem, and type the AT or at command. The modem must respond with an "OK" message.
Type these commands:
Lucent AT i1 through AT i11 AT i99 Xircom !--- Tells you if you have a Lucent chipset. ATi3 !--- Displays firmware revision. ATi11 !--- Displays current or last call rate and diagnostic information.
Note: With Windows 98, you cannot view data in ATi11 after a Dial-Up Networking (DUN) session. Use a terminal program (such as HyperTerminal) to place a call to see the valid diagnostic data.
Here is an example:
XIRCOM: V2.04 (Venus Chipsets) Paradise Wavecom: V 5.39 (Winmodem)
If you want a V.90 connection on a Lucent client modem, force the S109 register. For example, for Lucent clients that run recent code, V.90 is achievable if the client has K56Flex disabled or, for Win Modems, S38=0. For Venus, S109=2.
If you cannot 56 K connections with the newest version, make sure you have the latest firmware. Also, limit the upstream (tx) rate (s37=14) to see if that makes a difference. If you do not get a 56 K connection with the old firmware, and you still do not get the connection with new firmware (after you try s38=0), your V.34 connect rate can be slightly lower with the newer firmware. In this case, return to the older firmware version.
If you call a V.90-enabled server, but KFlex connects, add s38=0 in extra settings to disable KFlex. With LT firmware later than 5.12, you can tell whether the handshake attempts V.90. There was a major change to V.90 firmware at 5.12 with the introduction of digital impairment learning (DIL) or "level-learning."
Here is the ATi11 output from a Lucent Flex modem:
at i11 Description Status ------------------- Last Connection 56K Initial Transmit Carrier Rate 26400 Initial Receive Carrier Rate 32000 Final Transmit Carrier Rate 26400 Final Receive Carrier Rate 32000 Protocol Negotiation Result LAPM Data Compression Result V42bis Estimated Noise Level 1358 Receive Signal Power Level (-dBm) 30 Transmit Signal Power Level (-dBm) 16 Round Trip Delay (msec) 5 Description Status ------------------- Near Echo Level (-dBm) NA Far Echo Level (-dBm) NA Transmit Frame Count 9 Transmit Frame Error Count 0 Receive Frame Count 10 Receive Frame Error Count 0 Retrain by Local Modem 0 Retrain by Remote Modem 0 Call Termination Cause 0 Robbed-Bit Signaling 00 Digital Loss (dB) 3 Remote Server ID 4342C3
These HSP modems offload both the Controller Process (CP) and the Digital Signal Processor (DSP) functions to the PC. You must have a high speed CPU (200Mhz or better) in order to use these types of modems. For more information, see 56K.COM's Beware Soft Modems article .
Here is a list of command PCtel OEM vendors:
Behavior Tech Computer
CTX International
Dataflex
Dell (Latitude LT)
E-Machine
Goldenway
HostModems
Innovative Trek Technology
Multiwave Innovation
PRO~NETS Technology Corporation
Silicom Multimedia
Zoltrix
Always get the AT i1 through AT i10 output. The AT i0 command shows the numeric product code and the AT i3 command reports the software revision number.
Enter the AT i3 command on an Intel Pentium with a Zoltrix modem to determine the type of driver installed.
These responses indicate that a K56Flex Windows driver is installed:
PCtel 3.5104S PCtel 3.5.110S PCtel 3.5202S
These responses indicate that a Dual-Mode V.90/K56 Flex Windows driver is installed:
PCtel 7.54S PCtel 7.55S
Type the AT i3 command on an MMX CPU (all types) with a Zoltrix modem to determine the type of driver installed.
These responses indicate that a K56Flex Windows driver is installed:
PCtel 3.5104MS PCtel 3.5.110MS PCtel 3.5202S
These responses indicate that a Dual-Mode V.90/K56 Flex Windows driver is installed:
PCtel 7.54MS PCtel 7.55MS
Type the AT i3 command on a Cyrix 6x86 with a Zoltrix modem to determine the type of driver installed.
These responses indicate that a K56Flex Windows driver is installed:
PCtel 3.5104NS PCtel 3.5.110NS PCtel 3.5202S
These responses indicate that a Dual-Mode V.90/K56 Flex Windows driver is installed:
PCtel 7.54NS PCtel 7.55NS
For more information, see PCtel's Driver Download and Tech Support page or 808hi.com's Rockwell/Conexant HCF Modems page.
USRobotics has different modulation standards. If, under the AT i7 options, X2 is the default standard, the modem only handles V.34 calls.
The AT i7 command shows the supervisor and DSP date of the modem. Here is the sample output:
USRobotics Courier V.Everything Configuration Profile... Product type Belgium External Options HST,V32bis,Terbo,VFC,V34+,x2,V90 Fax Options Class 1,Class 2.0 Clock Freq 20.16Mhz Flash ROM 512k Ram 64k Supervisor date 12/02/98 DSP date 09/09/98 Supervisor rev 032-7.6.7 DSP rev 3.1.2 Serial Number 21OXD518S6R1
Here is the output of the AT i6 command:
USRobotics Courier V.Everything Link Diagnostics... Chars sent 2862 Chars Received 39807 Chars lost 0 Octets sent 2363 Octets Received 23413 Blocks sent 339 Blocks Received 395 Blocks resent 2 Retrains Requested 1 Retrains Granted 2 Line Reversals 0 Blers 225 Link Timeouts 0 Link Naks 0 Data Compression MNP5 Equalization Long Fallback Enabled Protocol MNP 244/8 Speed 7200/28800 Last Call 00:04:23
The AT i11 output appears like this:
U.S. Robotics 56K FAX EXT Link Diagnostics... Modulation V.90 Carrier Freq (Hz) None/1920 Symbol Rate 8000/3200 Trellis Code None/64S-4D Nonlinear Encoding None/ON Precoding None/ON Shaping ON/ON Preemphasis (-dB) 8/4 Recv/Xmit Level (-dBm) 22/12 Near Echo Loss (dB) 8 Far Echo Loss (dB) 0 Carrier Offset (Hz) NONE Round Trip Delay (msec) 6 Timing Offset (ppm) -4260 SNR (dB) 48.7 Speed Shifts Up/Down 5/6 Status : uu,5,12N,12.5,-7,1N,0,47.8,15.5 OK
The best way to identify a problem is to get the AT i1 through AT i10 output.
The AT Y11 command provides the line shape. For more information, see 808hi's 3Com Diagnostic Information page.
In order to determine the type of impairment, call an X2 or V.90-enabled server with a terminal program. After you receive a CONNECT, wait 15 seconds or so and disconnect the call. Then, enter the ATY11 command. The modem responds with a list of frequencies and the receive level of each frequency. Look at the difference between the value reported for 3750 and 3300hz. If this difference is 25 or more, you can infer that there is more than one analog-to-digital conversion or other serious impairment. If the number is close to, but less than 25, you may or may not get a 56 K connection. If you do, the 56 K connection is very poor. A good value for this difference is lower than 18.
Additionally, if the level reported for 3750 is above 50 to 55, you can infer a poor local loop that can prevent or result in poor 56 K performance.
Here is a sample of the ATY11 output on a connection that does not have more than one analog-to-digital conversion:
Freq Level 150 16 300 15 450 14 600 14 750 14 900 14 1050 14 1200 15 1350 15 1500 15 1650 16 1800 16 1950 16 2100 16 2250 17 2400 17 2550 17 2700 17 2850 18 3000 18 3150 19 3300 21 !--- Subtract the 3300 value from the 3750 value. 3450 24 3600 29 3750 35 !--- 35 - 21 = 14; this indicates only one !--- analog-to-digital conversion.
Ambient Technologies produces modem telephony chipsets that manufacturers of internal and external modems design into their products. The CL-MD56XX chipset family is a software solution that you can upgrade. The X2 USRobotics technology provides the data rate. See your PC product manufacturer's web site for drivers and support. For more information, see the Ambient Technologies site.
CL-MD56XX has been divided into these models:
External Modems:
Data/Fax/Voice: CL-MD5650
Data/Fax/Voice/Speakerphone: CL-MD5652
Data/Fax/Voice/V70 DSVD/Speakerphone: CL-MD5662T
PC Cards:
Data/Fax/Voice: CL-MD5651T
Data/Fax/Voice/Speakerphone: CL-MD5653T
Data/Fax/Voice/V70 DSVD/Speakerphone: CL-MD5663T
Command | Output |
---|---|
AT i1 | Reports the modem chip firmware revision. |
AT i3 | Reports the chipset name. |
AT i7 | Gives the version of the board manufacturer firmware. |
AT i21 | Gives the Cirrus Logic firmware revision. |
AT i22 | Gives the Cirrus Logic manufacturer name. |
AT i23 | Gives the Cirrus Logic product model. |
AT +GMI? | Identifies the modem manufacturer. |
AT +GMM? | Identifies the product model. |
AT +GMR? | Identifies the product revision. |
Revision | Publish Date | Comments |
---|---|---|
1.0 |
29-Jan-2008 |
Initial Release |