Diagnosing Modem Communications Issues

Document #651, Troubleshooting Modem Problems

Covers all versions of GoldMine® and GoldSync®

Overview

This document covers modem communications issues that can affect GoldMine and GoldSync during modem synchronization. These issues can be caused by but are not limited to the following:

Incorrect modem settings

Communications port improperly configured

Incompatible Modems

Faulty modems

Poor telephone line quality

Non-standard communication driver in Windows

The concept behind modem communications is a fairly simple one as long as the two machines speak the same language. This is accomplished with the various industry modem and communications standards that are in place.

The diagram above is greatly simplified and shows two machines communicating with each other. A basic telephone system consists of miles of telephone cable, switches, multiplexers, and line filters any one of which is a potential failure point. Add two modems, two computers, and this will increase the number of possible failure points. A cloud has been used to show the telephone lines since this can actually consist of any number of switches, cables, and other telephone equipment depending on the distance between the two computers.

GoldMine/GoldSync Versions

It is advisable that all GoldMine/GoldSync systems be on the same release version of the program when synchronizing. There are known compatibility issues between different releases of the same version of GoldMine that can cause modem synchronization to fail. GoldMine can be updated with the Net-Update feature that is built into the program to the current release version.

Modem Initialization Strings

Most modems work best with the factory default settings. The manufacturers installation program sets these when the modem is installed. They can be reset manually by using an initialization string that is sent to the modem. The most common strings are:

AT&F1

 

Resets the factory defaults for some modems

AT&F

 

Resets the factory defaults for some modems

The following are Modem initialization strings that will work with most modems:

AT&F&C1&D2V1

Or

AT&F1&C1&D2V1

Other standard commands can reset or hang-up (disconnect the phone line) the modem. These are as follows:

ATZ

 

Resets the modem to the user defaults

ATH or ATH0

 

Hang up the modem (0 = zero)

More information on initialization strings and the modem settings is available from the documentation provided with the modem or from the modems manufacturer. With most computers already having a modem preinstalled, this documentation is available from the computer manufacturer.

The Data Terminal Ready (DTR) signal is maintained when a remote computer connects via modem. This signal is lost when the remote system hangs up or is disconnected. The loss of the DTR signal tells the host system to hang up and close the connection. On most modems, the &D2 setting in the initialization string will force the modem to hang up when the DTR is lost.

The Carrier Detect controls how the modem responds to the carrier signal from the other modem. By default this is set on most modems by &C1 in the initialization string. If this is improperly set, the modem can tell GoldMine/GoldSync that it is still connected after the other modem has disconnected.

Goldmine uses Verbal Codes to communicate with the modem. When GoldMine/GoldSync first establishes communications with the modem it sends an AT command to the modem and expects an OK reply. This setting is usually V1. Modems can be set to communicate in verbal (OK, CONNECT, NO CARRIER) or numeric values by this setting.

Data Compression (Flow Control on newer systems) and Error Correction (Error Control on newer systems) can both be turned off. Data Compression is not needed since GoldMine/GoldSync compresses the file before sending it to the remote. Error Correction can be used as long as both modems are set to use the same method of error correction but is not recommended.   Error correction can be useful in areas with line noise on the telephone lines. Both of these may be referred to as MNP, v.42, v42.BIS, etc… in the documentation with the modem.

Modem settings and initialization strings must be the same on the GoldSync server as they are on each remote system. These can be checked/specified with the following instructions for Windows 9x.

1.       In Windows, select Start>>Settings>>Control Panel to open the Control Panel and then Double Click on the Modems icon to open the Modems dialog box.

2.       Highlight the modem and click on the Properties button to bring up the modems properties.

3.       Select the Connection tab and Click on the Advanced button to open the Advanced Connection Settings dialog box.

4.       Type the initialization string in the Extra settings box. Error correction and data compression can be turned on or off on with this dialog box also. These settings, if used, must be the same on all remote systems and the server.

5.       Click on the OK button on all open dialog boxes to complete the process and update the modem settings.

The Communications Ports

Window 9.x will set these settings by default as follows.

1.       In Windows, select Start>>Settings>>Control Panel to open the Control Panel and then Double Click on the Modems icon to open the Modems dialog box.

2.       Highlight the modem and click on the Properties button to bring up the modems properties.

3.       The communications port in use for the modem will be displayed on the General tab. This is set by the machines manufacturer for preinstalled modems and must not be changed by the user. For modems installed after market, the modem manufactures setup program will configure this setting based on available Communications ports in Windows.

4.       Select the Connection tab to confirm the settings shown with the recommendations.

6.       Select the Connection tab and Click on the Advanced button to open the Advanced Connection Settings dialog box and confirm that Flow Control is set to Hardware.

The recommended settings are as follows:

Data bits

8

Parity

None

Stop bits

1

Flow Control

Hardware (RTS/CTS)

The Communications Driver file

Some programs may replace the standard communications driver with their own driver. This can cause problems with other programs that rely on the standard driver being present. This does not present an issue with Windows 2000, which prevents the replacement of the Windows System files. For Windows 9x systems, the communications driver in use can be checked in the following manner.

1.       Select Start>>Run and type in sysedit to start the System Configuration Editor.

2.       Select the SYSTEM.INI file then select Search>>Find and type in comm.drv= to locate the communications driver line. This line should read comm.drv=comm.drv.

3.       Select File>>Exit to close the System Configuration Editor and answer yes to save any changes that may have been made.

The UART

The 16550 UART chip is common in all newer machines. Most hardware diagnostic utilities will report the UART that is in use by each communications port on the machine. Windows 9x will display this information when accessing the Advanced Port Settings for the modem if the 16550 UART is available. The older 16450 and 8450 UART chips are not designed for high-speed communications and can cause communications issues when talking to a machine that does have the 16550 chip installed.

Telephone Line Issues

If all of your remotes are experiencing difficulties, try placing the GoldSync server on a different line with a different number and replace the line cord from the modem to the wall jack. If only one remote is experiencing difficulties, have them try from a different phone line if possible and replace the line cord from the modem to the wall jack. The local telephone service provider can check the line quality from their central office to the demarcation at your office. Additional service can be requested to check the lines in the building as well.

Testing Data Communications Reliability

It may be necessary in some cases to test the modem settings with a communications software package. All versions of Windows do have a basic communications capability through the HyperTerminal package included with Windows. Both of these tests require a familiarity with the package being used. The following tests will help determine if there are any issues with any of the settings for the modems.

Using a communications package, send the AT command to the modem. The modem will respond back with OK if everything is set correctly. With the release of Windows 9x, which manages the interrupt request lines, the modem will not be in conflict with other devices.

The second test is to transfer a large file via modem between two machines to test the modem and phone line quality. This is done using the ZMODEM protocol to transfer the file from the originating system to the destination system and then back to the originating system. If the file does not transfer smoothly or if there are any errors there may be an incorrect setting or a telephone line communications issue.

If at any point during the testing of different initialization strings the modem returns ERROR after the string is sent, then the string is incorrect for the modem. If files cannot be reliably transferred in both directions can also be an indication of an incorrect initialization string.

Cyclical Redundancy Check (CRC) errors

CRC errors usually occur when the data being received is not the data that was originally sent. This is determined in the following manner. The originating site computes a checksum for the sent data, the receiving site computes a checksum for the received data and sends the checksum back to the originating site. Both sites then compare the checksums to see if they match. If a mismatch is detected, then the modems generate Bad CRC errors to the controlling software.

Possible causes include but are not limited to the following:

Cause

Fix / Workaround

Version related issues with GoldMine

Update GoldMine to a current version. / A known issue that only occurred with a 2-way synchronization. Perform two one-way synchronizations.

Use of the Standard Modem Drivers in Windows

Use the drivers provided by the modems manufacturer.

Modem Troubleshooting

Issue:

Modem is not initializing or resetting properly

Solution:

Check the communications port settings in Windows for the modem.

Confirm that the modem initialization string is valid for the modem being used.

Try slowing the speed by setting it to 9600, 19200, 38400, or 57600. This is located on the General tab of the modems properties in Windows.

   

Issue:

Modem will not hang up properly

Solution:

Confirm that GoldMine is set to hang up the modem in the preferences for the logged GoldMine user.

Enable DTR for the modem with the initialization string.

Check for the standard communications driver in Windows.

   

Issue:

The destination modem does not answer

Solution:

Confirm the phone number being dialed is correct.

Confirm that the destination GoldMine/GoldSync system is waiting for an incoming connect on the modem.

   
   

Issue:

File transfer works well in one direction, but fails in the other direction

Solution:

Check for different types of UART on the machines. Replace the older UART if possible or try a lower speed as shown above.

   

Issue:

Bad CRC errors, loss of carrier, or time out errors

Solution:

Confirm that the modem initialization string is valid for the modem being used.

Disable or Enable error correction on both sides of the connection. This will have to be done for all remotes.

Try a lower speed as shown on page6; the modem will not connect at a speed that is above the Maximum speed setting.

Confirm that Hardware flow control is enabled for the modem.

Check for the standard communications driver in Windows.

Perform synchronization in two sessions, one to upload data, the second to download data.

   

Issue:

Serial number is invalid

Solution:

Confirm the serial number in the site for GoldSync is the correct one for the remote.

Confirm the phone number being dialed is correct.

Confirm that Hardware flow control is enabled for the modem.

Confirm that the modem communications parameters are set as recommended on page 4.

(See also Bad CRC errors, loss of carrier, or time out errors)

   

Issue:

Receiving dynazip errors during encryption or decryption of the transfer set

Solution:

Check for dzip32.dll and d unzip32.dll that are not located in the GoldMine folder and delete them.

   

Issue:

Following all of the above did not correct the issue

Solution:

Try a different modem or remove and recreate the GoldSync site.

Copyright (c) 2002 FrontRange Solutions Inc.

All rights reserved. You may use this document for personal and informational (non-commercial) purposes, provided that the copyright notice and all other notices and  permissions appear in all copies, the document is not copied or posted on any network computer or broadcast in any media and modifications are not made to the document. Use for any other purpose is expressly prohibited by law, and may result in civil or criminal penalties.

The information contained in this document is provided “as is” without warranty of any kind. To the maximum extent permitted by applicable law, FrontRange Solutions disclaims all warranties, either express or implied, including warranties for quality, accuracy, merchantability, fitness for a particular purpose, title and non-infringement; and in no event shall FrontRange Solutions or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of profits or data or special damages, even if FrontRange Solutions or its suppliers have been advised of the possibility of such damages.