1.Use a 16550A UART. (See "Do I need a 16550 UART? What is a UART?" and "Why does Windows lock up when I access my modem?") Note that most, but not all, internal modems have a 16550. * You can tell what kind of UART chip you have by running Microsoft's MSD (which comes with * Windows), being sure to run it outside of Windows. (The reason is that Windows can hide the true * state of the UART from MSD.) * Check your system.ini file to make sure you're useing the proper Com Driver "comm.drv=comm.drv" * under the [boot] section. You can get to the system.ini file by going under "Run" and typing "sysedit". The author recommends configuring your modem for Trumpet Winsock with &D1 rather than &D2; that way you can use DTR rather than the escape code to enter modem commands when online. 2.Use hardware flow control, and make sure it is working properly. This applies both to your modem and to your comm software. If you experience overrun while uploading, then you almost certainly have a flow control problem in your comm software and/or modem configuration. 3.If you are running anything other than the standard Windows VGA driver, switch to the standard VGA driver and see if that affects your problems -- certain video drivers are known to interfere with communications. (See "Where can I get updated video drivers?") 4.If you determine that your video driver is causing overruns: 1.If your video card uses a recent S3 chipset (e.g., 864, 964, or 968), there may be an option in the video driver to set "Bus-throttle=On" (usually Off by default) in the [display] section of SYSTEM.INI, which may well solve the problem. ("Bus-throttle=On" may slightly reduce speed as measured by benchmarks, but the difference will probably not be noticeable in the real world.) Contact the manufacturer of your video card. (Note: Generic S3 video drivers are available from S3. Unfortunately, they do not work on all S3-based video cards.) [updated 3/29/96] 2.If your video card is a PCI type and made by Matrox, try adding PCIChipSet=1 to the [MGA.DRV] section of SYSTEM.INI, which may well solve the problem. (Add the section header if it does not already exist.) If it does solve the problem, check with Matrox for an updated video driver. [new 6/13/96] 5.If possible, use 32-bit disk access under standard Windows, as well as 32-bit File Access under Windows for Workgroups. If not, be sure you have a current version of a quality BIOS and/or disk driver. 6.Watch out for poorly-written firmware and/or device drivers for local bus IDE interfaces, particularly in multi-sector mode. Obtain the latest versions. (See "Where can I get updated disk/SCSI drivers?") You may be able to alleviate an overrun problem by switching modes and/or reducing the number of sectors per transfer. 7.Are you using a SCSI drive? Certain SCSI drivers can cause problems. Obtain the latest versions. (See "Where can I get updated disk/SCSI drivers?") 8.Disable write caching on your download disk drive. (Read caching should be OK.) With the current SMARTDRV (i.e., standard Windows, or Windows for Wordgroups without 32-bit File Access), the /X parameter disables all write caching. You can also disable write caching on individual drives. (See "SMARTDrive Drive Letter Parameters Should Not Contain a Colon") With 32-bit File Access under Windows for Workgroups, put the following in the [386Enh] section of your SYSTEM.INI file: ForceLazyOff= where is a drive letter string; e.g., ForceLazyOff=C for drive C only, or ForceLazyOff=CD for drives C and D. (See "How to Disable Write Caching for the 32-Bit File System") 9.If you are using Procomm Plus for Windows 2.xx, set "DropRTSAroundDiskWrites=1" in your PW2.INI file. (This won't help if you cache writes.) 10.Beware of TSRs, especially network TSRs. Try booting your system as clean as possible to see if that helps. 11.Watch out for certain memory managers; e.g., the use of QEMM "Stealth" may cause problems. 12.Put your modem on COM2 if possible, rather than COM1, especially if you are using a serial mouse, because COM2 has higher interrupt priority than COM1. Even better is to use a "high" IRQ (2/9, 10-12) which has higher interrupt priority than either COM1 or COM2. (See "Where can I get a 16550 UART?") [updated 8/30/96] 13.Under Windows, put the following in the [386Enh] section of your SYSTEM.INI file: MinTimeslice=20 WinTimeslice=100,50 COMnFIFO=1 COMnBuffer=1024 where n is the number of your modem COM port (e.g., COM2FIFO=1 and COM2Buffer=1024). The COMnFIFO statement won't help until you get a 16550A UART, but it won't hurt in the meantime. Note: The only legal values for COMnFIFO are 0 and 1. (See "Windows Support of the 16550 UART") 14.Do not use Microsoft's PC speaker sound driver! Get a cheap sound card instead. (The Logitech Factory outlet in Fremont, California, 800/231-7717, is a good place to get a cheap sound card.) 15.The Creative Labs Sound Blaster 16/AWE 32 driver bundled with the original release of Windows 95 can cause CRC errors, and should be replaced with an updated version. [new 9/7/96] 16.Watch out for an IRQ conflict. (You normally cannot use both COM1 and COM3, or COM2 and COM4, at the same time.) 17.On a portable or "green" machine, you should also try disabling the power management features, which can sometimes "kick in" and interfere with data communications. 18.Disable any screen savers, which can interfere with data communications. 19.Don't run your serial port any faster than necessary. Marketing hype notwithstanding, there's rarely any need to go faster than 38.4 Kbps with a 14.4 Kbps modem, or 57.6 Kbps with a 28.8 Kbps modem. Caveat: With an acknowledgment protocol (e.g., XMODEM), as opposed to a streaming protocol (e.g., ZMODEM), a higher serial port speed can improve the response time. (See "Measurement of DTE Rate Latency") 20.Try a third-party replacement for COMM.DRV. (See What about third-party comm drivers for Windows?) 21.Switch to Windows for Workgroups or Windows 95, which have a better serial architecture than standard Windows 3.x. 22.With a 16550 UART (See "Do I need a 16550 UART? What is a UART?") under regular Windows and a third-party comm driver (e.g., WFXCOMM.DRV) or Windows for Workgroups or Windows 95, try dropping the receive FIFO trigger level. For example, where n is the number of your modem COM port: WFXCOMM.DRV (default 14): ComnRXSize=8 (e.g., Com1RXSize=8). Recommended setting. Windows for Workgroups (default 8): COMnRxTRIGGER=4 (e.g., COM1RxTRIGGER=4). Legal receive FIFO trigger values are 14, 8, 4, and 1. The normal recommended value is 8. You should not go down to 1 unless you are really desperate. 23.Check for duplicate or different winsock.dlls. From the DOS prompt, enter dir \winsock.dll /s to check for duplicates. If you have installed multiple versions of Trumpet or other TCP stacks and they are still in your path, you can have this type problem. I keep winsock.dll in my Trumpet directory only.