Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesCuring the Windows Fax Blues


January 1995 / Special Report / Curing the Windows Fax Blues

You can get problem-free productivity by using a fax modem in your Windows PC. Here's how.

Stan Miastkowski

Faxes are an essential part of business communications. In fact, they've become even more prevalent as modem manufacturers have widely incorporated fax capabilities. There's a simple reason for this: All the chip sets at the heart of today's modems incorporate fax features.

The advantages of computer-based faxing over stand-alone fax machines are numerous. You can fax high-quality output directly from your applications without having to go through the extra steps of printing documents and going to a fax machine. On the receiving side, there's no need to deal with curly and inconvenient thermal fax paper. You can discard junk faxes without having to print them and print high-quality copies of the faxes you want to keep. Most important for small businesses, fax modems are by far the cheapest way to obtain fax capability.

But at the same time, the promises of fax modems are often just that: promises. Unfortunately, there's another scenario that's becoming all too common. You've just installed a fax modem and software. You click on an icon, get your fax all ready to go, and send it. Then...nothing. If you're lucky, you might hear a click from your fax modem or perhaps see a "helpful" error message, such as Event Error. Even worse, the fax modem hardware and software that have been working fine for months may suddenly become obstinate and cranky.

Certainly, many users have few or no problems. However, both fax modem makers and fax software developers grudgingly admit that their technical-support lines field numerous calls from irate or frustrated users.

Fast Fax Facts

Although fax machines and fax modems use sophisticated methods for setting up calls (see "The Anatomy of a Fax Call"), faxes are essentially simple unidirectional, nonprotocol data transmissions that don't use error correction. The type of information that's transferred in a fax transmission appears, at first blush, laughingly simple when compared to the ASCII and binary data that modems regularly handle.

Yet, like all data transmissions, faxes require very critical timing. Cobbling old-fashioned fax technology into the modern world of resource-hungry, multitasking operating systems can cause endless problems. But there are solutions (see "Solving Fax Modem Problems").

Toronto-based Delrina is the maker of the market-leading WinFax Pro for Windows software as well as FaxPro for Mac. According to John Visca, Delrina's technical-support team leader, 75 percent of Delrina's technical-support calls are for hardware configuration problems. Nearly all of them are PC-related. Macs handle peripheral connections more intelligently, and they are also much less prone to software-timing problems.

The IBM PC standard has saddled users with some maddening hardware limitations. When it comes to the serial-port connections that fax modems use, you're usually limited to the standard installed settings of COM1 (IRQ [interrupt request] 4, base address 3F8h) and COM2 (IRQ 3, base address 2F8h). Optionally, you can also configure COM3 and COM4 using different base addresses, although the fact that they also use the default IRQ 4 and IRQ 3 interrupts is another cause of compatibility problems.

The UART Dilemma

At first glance, it seems that external fax modems rather than internal models would eliminate serial-port configuration problems. If, for example, your PC is equipped with the usual array of two serial ports, it's a simple matter of plugging a serial cable from your fax modem to a free serial port. But, especially with older PCs, you're likely to run into problems with externally connected serial-port hardware.

The heart of a seria l port, whether in an add-in card or built into the motherboard, is an integrated circuit called a UART (universal asynchronous receiver/transmitter). There is one for each serial port. The UARTs used in the original PC format were designed to match the common data transfer speeds of the era, a leisurely 300 bps, not today's fax transfer rates of 9600 bps and 14.4 Kbps (not to mention the increasingly common V.Fast speed of 28.8 Kbps). The 8250 and 16450 UARTs still commonly found in many PC serial ports have no internal buffer for smoothing data transfer. Without this buffering, your PC's processor and the communications software must work harder to pick up the slack.

What's needed for contemporary communications is the more capable 16550 UART, which has a built-in 16-byte buffer that smoothes data flow and eliminates many intermittent and hard-to-locate problems with both faxes and data communications. Unfortunately, the realities of the hardware business make 16550 UARTs difficult to find in even ma ny of the latest PCs. In single-unit quantities, old-style 16450 UARTS cost about $5; 16550 UARTs cost about $20. In the quantities that computer makers use, individual costs are much lower, but the cost savings of using old UARTs goes directly to the bottom line.

It's easy to find out what type of UART your PC uses. Just run MSD.EXE (Microsoft System Diagnostics), versions of which come with both Windows and MS-DOS 6.x. The COM Ports menu selection shows you what UART your serial ports are using. If they don't use the 16550, you have several choices. If your serial ports are on an add-in I/O board, the simplest solution is to replace the board. Most board makers (e.g., Boca Research) have 16550 UART boards, but they're about twice the price of 16450-based boards. Expect to pay $50 to $65 (street price) for a 16550-based dual-serial, single-parallel board.

More complicated and expensive I/O-card solutions are available from other companies. Sophisticated serial boards like the Hayes ESP Communic ations Accelerator 2.0 and DigiBoard's PC/2e have dedicated processors and huge buffers that pull the chore of smoothing data flow and timing away from the PC hardware. They're more than a little overkill for standard fax modem use. For the coming generations of ultrahigh-speed modems and applications like remote LAN access, however, they fill a genuine need.

By far the easiest way to update your UARTs is to buy an internal fax modem. Almost without exception, today's internal fax modems use 16550 UARTs for maximum performance. However, incorrect internal fax modem installations are a major cause of fax problems. If your PC has a pair of internal serial ports, you'll need to disable one of them before installing your internal fax modem.

Two serial ports attempting to use the same interrupt invariably cause major problems. That normally means changing jumpers on an add-in board or on your motherboard, although some newer PCs, including those from Dell and Gateway 2000, with on-motherboard serial ports have the "smarts" to detect if an internal fax modem is installed and disable conflicting ports.

The Software Side

Even if your fax modem is correctly installed, your serial ports use 16550 UARTs, and your cables and phone line are correctly installed, you're not out of the woods. Potential problems still exist with fax modem calls. Both fax modem makers and fax software developers are quick to point to one of the biggest problems with computerized fax communications: Microsoft Windows. The demands that Windows places on system hardware are especially acute in communications, where timing parameters are critical. If your PC is a 386 or even a 486 with 4 MB or less of RAM and you use multitasking applications, at some point the system will become so bogged down that data flowing to a fax modem will slow down. This causes fax failure.

According to industry sources, one of the major causes of fax failure in PCs is too many TSR DOS programs. For example, Delrina's Visca says that virus checkers are common troublemakers. The obvious solution is to use as few TSRs as possible. But even with maximum DOS memory before starting Windows, it's still easy for Windows to reach a point where it can no longer reliably handle communications. The key measure of upcoming trouble is Windows system resources . Pull down Help and About Program Manager from the Windows desktop to see your current resources.

Even a 486/66 with 16 MB of RAM can reach a critical resource point when you multitask four to six major applications (e.g., Microsoft Office or Lotus's SmartSuite). Some add-on Windows utilitiessuch as Norton Utilities 8.0 or Dashboard 2.0, which Borland recently acquired from Hewlett-Packard feature on-screen resource meters and even let you set alarms if Windows resources fall below a certain level.

COMM.DRV Horrors

Perhaps the least-known and most-common cause of Windows communications problems with both data and fax transfers is the infamous Windows communications driver (COMM. DRV). The driver shipped with Windows 3.1 works fine for low-speed communications and most of the time for 9600-bps fax calls. However, because it lacks built-in support for the 16550 UART, it's a common troublemaker with contemporary fax modems.

Microsoft has updated the driver and added COMMDLG.DLL (a DLL with 16550 support) to Windows 3.11 and Windows for Workgroups. To see what version of Windows you're running, again pull down Help and About Program Manager from the Windows desktop. If it doesn't say version 3.11, you've located a potential cause of problems. An archive to update Windows 3.1 to 3.11 is available free of charge (except for connection charges) from CompuServe (GO MSL [Microsoft Software Library], file WW0981.EXE), the Microsoft Download Service ((206) 936-6735), or BIX (WW0981.EXE in the windows/listings area).

Some Windows fax packages automatically install their own drivers. For example, Delrina's WinFax Pro has a driver named WFXCOMM.DRV. Also, other third-party suppliers have COMM.DRV replacements that go far beyond the capabilities of even the updated Microsoft communications driver. TurboCommander from Pacific CommWare (Ashland, OR) is a case in point. This utility replaces COMM.DRV and adds a raft of extras, including the ability for multiple devices (e.g., COM1 and COM3) to share a single interrupt without causing problems.

It's easy to get discouraged about the many things that can go wrong, but the vast majority of fax modem installations proceed with few or no problems. The end results are worth it. And the future is brightening for Windows users. Windows 95, with its Plug and Play support, prom-ises greater support for all types of communications. Nearly painless fax modem installation and use are distinct possibilities for the future.


ABOUT THE PRODUCTS


Boca IO AT55 single-parallel dual 16550  serial board.......$149

Boca Research, Inc.
(407) 997-6
227
fax: (407) 997-0918


DigiBoard PC/2e.............................................$299

DigiBoard
(800) 344-4273
(612) 943-9020
fax: (612) 943-5398


Hayes ESP Communications Accelerator 2.0


single port.................................................$99


dual port...................................................$149

Hayes Microcomputer Products, Inc.
(404) 840-9200
fax: (404) 441-1213


TurboCommander..............................................$49.95

Pacific CommWare
(503) 482-2744
fax: (503) 482-2627


Low system resources

screen_link (12 Kbytes)

When system resources fall below 30 percent, Windows' preemptive multitasking can no longer handle the critical timing parameters needed for successful fax and data calls.


FaxWorks

screen_link (20 Kbytes)

Many fax software packages (e.g., FaxWorks) include built-in fax modem diagnostics that go a long way toward isolating common problems. You can easily spot simple problems, such as an improperly assigned COM port.


Stan Miastkowski is a BYTE consulting editor who's been writing about communications and networking technology for over 16 years. He's coauthor of Windows for Workgroups Bible (Addison-Wesley, 1993). You can contact him on the Internet or BIX at stanm@bix.com or on MCI Mail at 530-9979.

Up to the Special Report section contentsGo to previous article: One Person's Internet BusinessGo to next article: The Anatomy of a Fax CallSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network