IWAY 500 Winner

Selected by PC Webopaedia Selected by
PC Webopaedia

Navas 28800-56K Modem FAQTM 

(Answers to Frequently Asked Questions)

[Modem Picture]

Cable modem/DSL users: see Navas Cable Modem/DSL Tuning GuideTM

E. MICROSOFT WINDOWS

Copyright 1999-2008 The Navas GroupSM, All Rights Reserved.
Permission is granted to copy for private non-commercial use only.
Send mirror and commercial license inquiries to John Navas.

Posted as <http://modemfaq.navasgroup.com/faq_e.htm>.

Important Notes:


Breaking News

Contents

Main Contents
Search
Navas Group Home Page

How do I set a speed greater than 19200 bps in Windows 3.x?

You can set a speed faster than 19200 in the Windows Control Panel by simply typing it in. However, there is almost never a need to do so -- almost all Windows comm applications set their own serial port speed. The settings in the Control Panel are primarily for devices attached to the serial port; e.g., printers. (See "Control Panel Serial Port Settings Are for Printing Only")
This Section
Main Contents
Search
Navas Group Home Page

What about third-party comm drivers for Windows?

Despite "urban legends" to the contrary, the standard Windows 3.1 COMM.DRV is capable of supporting high-speed modems on a reasonably fast system, and does support the 16550 FIFO. (See "Windows Support of the 16550 UART ") However, it does have three limitations:
  1. It does not use the transmit FIFO. This rarely makes any difference for data, but can be a problem for Class 1 fax timing above 9,600 bps.
  2. The receive FIFO threshold is fixed at 14 bytes, which leaves only 2 bytes before overrun occurs. Dropping the receive threshold to 8 bytes (or even lower) may help to reduce overruns. For that you need a third-party comm driver.
  3. DOS comm programs running under Windows 386 Enhanced Mode are fooled into thinking that the COM port only has a 16450 UART. This can cause problems, particularly with poorly-written DOS comm programs (i.e., those that do not drain the UART buffer on each receive interrupt). The alternative is to give the DOS application direct access to the COM port (see "Why 1024 bytes for the Windows COM buffer?") or, better yet, upgrade to Windows for Workgroups 3.11 or Windows 95/98.
Also despite "urban legends" to the contrary, COMM.DRV supports speeds up to 256,000 bps, hardware permitting, including 115,200 bps. (See "Setting Baud Rates in Windows 3.1") How fast you can go will depend on your hardware. With only an 8250 or 16450 UART, you may not be able to go faster than 19,200 bps without overrun; with a 16550 UART and a reasonably fast system, you should be able to go up to 57,600 bps, or even 115,200 bps. 57,600 bps is normally adequate for even a 28,800 bps 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")

Third-party comm drivers include the freeware:

CYBERCOM.DRV
WFXCOMM.DRV (from Symantec, particularly recommended for use with WinFax)
and the commercial:
TurboCom/2 (Windows 3.x)
TurboCom/95 Pro (Windows 95)
Third-party drivers are not needed for and should not be used with Windows for Workgroups 3.11 or Windows 95/98, which have a better comm architecture than standard Windows. The one caveat is that Pacific CommWare sells a Windows 95 driver that makes it possible to use a "soft modem" (see "What are 'software' or 'soft' modems?") or "Windows modem" (see "What are 'Windows' modems?") with a DOS comm application.

An upgrade to Windows for Workgroups 3.11 or Windows 95/98 is probably the best way to improve Windows communications. (See "Any other Windows tips?")

Third-party Windows drivers should also not be used with OS/2 (Warp).
This Section
Main Contents
Search
Navas Group Home Page


Why does Windows lock up when I access my modem?

The most common cause of this problem is a 16550-compatible chip that isn't fully compatible. Typically this is seen on Pentium systems with serial ports integrated on the motherboard, but it can also happen with add-on cards, particularly "multi-I/O" cards based on popular SMC chips. (See "PC Hangs While Running a Communications Application" and "16550 UART FIFO Support under Windows NT") Warning: Although Microsoft specifically identifies the SMC '665 chip as the problem, the author has personally verified that a problem also exists in the SMC '666 chip (FDC37C666GT). Furthermore, although the original FIFO problem is reportedly fixed in current chip production, the author has personally verified that a problem (perhaps a different problem) still exists as of August 1995. The author has also personally verified that: The only fully effective workaround is to disable the FIFO buffers (as described above). For this reason the author does not currently recommend products that use SMC "multi-I/O" chips.
This Section
Main Contents
Search
Navas Group Home Page

Why 1024 bytes for the Windows COM buffer?

The buffer size is mostly a flow control issue. When the buffer fills up above the "high water mark" (e.g., 75%), a Windows comm driver asserts receive flow control; then when it drops below the "low water mark" (e.g., 25%) a Windows comm driver releases receive flow control. (A Windows comm application should have nothing to do with flow control. DOS applications, on the other hand, do not use the Windows comm driver and so must do their own flow control.)

For Windows applications then the only serious issue is that the size of the buffer between the "high water mark" and buffer-full must be big enough to give the local modem time to respond to flow control being asserted -- there is inevitably a certain amount of "dribble," but it's usually no more than about 10-20 characters, for which even the default 128-byte buffer should be adequate. For performance you want the buffer large enough for the Windows application to be able to process incoming data in reasonable sized chunks. (You also want the modem to respond to flow control being released before the buffer is drained by the application, although this is much less important due to modem buffering.) Thus if multitasking is going on, a somewhat larger buffer than the default (e.g., 256-1024) may improve performance. The higher end of the range accommodates a typical (YMODEM/ZMODEM) block. Beyond that point diminishing returns set in rapidly.

For DOS applications the buffer size is more important, since the DOS application is responsible for flow control and takes much longer to respond than a Windows comm driver. That's why it's a good idea to have a receive buffer as big as a typical (YMODEM/ZMODEM) block (i.e., 1024 bytes). The alternative is to turn the buffer off completely and give the DOS application direct access to the COM port by setting a buffer size of 0.

On the transmit side (where there's no flow control concern) the only consideration is performance -- you want the buffer to be big enough so that it doesn't drain to empty when the application is unable to respond fast enough to refill it. The default 128-byte buffer will drain in only 22 ms at 5760 cps, which is less than a single multitasking timeslice. A 1024-byte buffer takes 178 ms to drain, which is normally sufficient; above that point diminishing returns set in rapidly. One reason is that modem buffering can make up for (short) times that the transmit buffer drains to empty. And if you make the transmit buffer too large, it can introduce timing problems (due to the "long" buffer drain time) with DOS applications and with poorly written Windows applications.
This Section
Main Contents
Search
Navas Group Home Page


How can I display the status of an internal modem under Windows?

Windows 3.x (and Windows 95/98):
ModemSta displays an animated icon replica or larger indicator displays of modem's front panel. Several 3D looks, with customizable colors. For use with internal, external and PCMCIA modems. Modem initialization, logging of incoming calls and connections, additional status info, show communications settings, generation of sounds at comm events. Can also monitor parallel ports.
Windows 95/98:
The System Monitor accessory that comes with Windows 95/98 has a wealth of hidden capabilities, among them the ability to monitor Dial-Up Networking performance in real time. See System Monitor under "Any Windows 95/98 tips?"

(The widely-promoted Net.Medic is not recommended. While it does a fancy job of displaying modem information, its diagnostic reports are all too often dead wrong.)
Note: It is not possible to continuously display the modem-to-modem speed of an internal modem. (Some drivers and applications display data throughput, but that is not the same thing.) The reason is that you have to have to escape the modem to command mode and issue a special command, if available, which interrupts the flow of data. (See "Any other 3Com/USRobotics tips?")
This Section
Main Contents
Search
Navas Group Home Page

What are the best (data/fax) comm programs for Windows?

There are several excellent programs, and what is best for one won't necessarily be best for others.

For data comm, the personal favorites of the author are HyperACCESS for Windows (commercial from Hilgraeve) and the near-clone WinComm PRO (commercial from Symantec). Both are extremely powerful while being very easy to use. [updated 09/30/97]

Popular shareware alternatives include:

Softerm Plus (X/Y/ZMODEM with SLIP and TCP/IP)
Telix for Windows
UniCom
WinQVT (VT-220 emulator with X/Y/ZMODEM/Kermit)
WinRamp Lite (w/RIP)
ZCOMM for Windows 95 (telnet plus best ZMODEM) [new 4/11/96]
For fax comm, the personal favorite of the author is WinFax PRO (commercial from Symantec). It integrates well with WinComm PRO, and the two can be purchased in a discounted bundle as the Symantec Comm Suite. (If you experience fax problems with a 3Com/USR modem, see "Any other 3Com/USRobotics tips?")

Note: Delrina was acquired by Symantec.

The author does not recommend Version 2.xx of Procomm Plus for Windows (commercial from Quarterdeck). While version 1.xx evolved into a robust (albeit quirky) data comm program, version 2.xx has suffered from "featuritis" and has been plagued with many problems (e.g., greatly excessive locking of memory below 1 Mb [See "PRB: Avoiding 'Insufficient Memory to Run' Errors"]).
This Section
Main Contents
Search
Navas Group Home Page


How can I share a modem between data and WinFax?

  1. Symantec WinComm PRO can seamlessly share a modem with Symantec WinFax PRO. With WinFax PRO set to automatically answer the telephone, WinComm PRO will turn off WinFax PRO auto-answer to dial out, and turn WinFax PRO auto-answer back on when it is through with the modem. The two programs may be purchased together in a discounted bundle called the Symantec Comm Suite.
  2. Another alternative is KingComm, a commercial virtual comm port driver that allows multiple comm apps to share the same modem.
  3. Multi-Tech provides a proprietary "Virtual Modem" comm driver for Windows with certain modems that will reportedly route incoming data and fax calls to appropriate applications. However, it does not support the 16550 FIFO buffers, a serious drawback. (See "Do I need a 16550 UART? What is a UART?")
Note: Except for Multi-Tech, these alternatives do not have the ability to automatically detect and properly route incoming data and fax calls. For that you need a modem that supports incoming Call Discrimination (also called "Adaptive Answer" or "Call Select"), as well as data and fax comm software which support that capability (e.g., WinFax PRO 7.0 for Windows 95 [see "How can I use a single phone for fax/data/voice?"] or Procomm Plus for Windows 2.xx).
This Section
Main Contents
Search
Navas Group Home Page

Does 3Com/USR Adaptive Answer work with Procomm Plus for Windows?

How to get Adaptive Answer to work on 3Com/USR Sportster modems with Procomm Plus for Windows 2.xx (PW2.xx):

Adaptive Answer (called Call Selection by 3Com/USR) works in Class 1 as well as Class 2.0 mode with 28.8 versions of both the 3Com/USR Courier and Sportster. PW2.xx does not support Class 2.0 (only Class 1 and so-called Class 2), so it must be configured for Class 1 fax with 3Com/USR modems.

The 3Com/USR Adaptive Answer problem is that Quarterdeck apparently assumed that all modems are like Rockwell clones, which can enable Adaptive Answer while still in data mode. That doesn't work with 3Com/USR modems, which require the modem to be in fax mode to enable Adaptive Answer.

Hopefully this problem will be fixed in a maintenance release. In the meantime the author's workaround to this problem is to put the 3Com/USR Sportster modem into fax mode before enabling Adaptive Answer. (Apparently this method does not work on the Courier.) On the Setup | Fax Connection screen you will need to set:

Fax class: Class 1
Maximum transmit rate: 9600 [for reliability]
Maximum receive rate: 9600 [for reliability]
Class 1 adaptive answer command: +FCLASS=1+FAA=1 [no AT or ^M]
Adaptive answer connect message: FAX
Now you should be able to Setup | Auto Answer | Data and Fax. The command won't take when done online, but don't worry, just wait for PW2.xx to time out, and then Online | Initialize Data Modem to get everything working. Startup Host Mode, and you should be in business. Note: If you leave Auto Answer set to Data and Fax and put PW2.xx with HOST.WAX as an argument in your Startup group, PW2.xx will launch and initialize correctly for Adaptive Answer when you startup Windows.

Be sure to turn off Auto Answer before trying to make a data call out, or the call will fail since the modem will be in fax mode. Just Setup | Auto Answer | Off, and then Online | Initialize Data Modem.

A little bit of a kludge, but it does work on the Sportster.
This Section
Main Contents
Search
Navas Group Home Page


Any Trumpet Winsock tips?

This Section
Main Contents
Search
Navas Group Home Page

Any other Windows 3.x tips?

This Section
Main Contents
Search
Navas Group Home Page

Any Windows 95/98 tips? What is TAPI? What is Plug and Play?

This Section
Main Contents
Search
Navas Group Home Page

Trademarks belong to their respective owners.