Handbook:Basic Server Configuration:Choosing a Modem
This document will not discuss modem installation except to say that the modem must be installed prior to HylaFAX installation. In most cases if minicom, tip, or cu can talk to it with ATI commands then the modem is installed properly for HylaFAX use.
Types of Fax Devices
- External Serial Modems
Almost without exception, external serial faxmodems will work with HylaFAX. External modems are nice because they generally have some type of display which indicates activity. This can be useful when troubleshooting. External modems use external power sources and cabling, so it is important that they be located where they are not likely to be bumped or jostled. Because the modem can be power-cycled independently, there is some risk of the modem "losing" its initialization and staying uninitialized if care is not taken to address that scenario (usually by "writing" the initialized state to be used by default after a reset). However, this also can be useful in that a hung modem may be power-cycled without rebooting the server. Unless you are using external modems on a multiport serial card (you're using the system board's built-in serial ports), and because HylaFAX's faxgetty continually accesses the modem (unable to share the IRQ) you are generally limited to a combination of only two external serial or internal ISA faxmodems.
- Internal ISA Hardware (Jumpered or PnP) Modems
As with external serial modems, internal ISA hardware faxmodems work with HylaFAX almost without exception. There need be no fear of power or data cables being jostled with internal modems, but there are no lighted displays, either, and power-cycling a hung one requires a system reboot. Because non-PnP hardware ISA modems use the same memory addresses and IRQs as external serial modems, the same limitation to only two applies. However, if your system supports Plug-n-Play, then ISA hardware PnP faxmodems will likely work as well, and these PnP modems may provide a means to go beyond that limitation. Be cautious when purchasing a new ISA modem since many new ISA modems are Windows-software-driven and do not have a hardware serial controller. Consequently it may not be able to be "spoken" to as noted above. US Robotics/3Com ISA Winmodems are a good example of what not to buy.
- Internal PCI Hardware Modems
Yes, these exist, and for the most part, using PCI hardware modems is the most common and inexpensive way to break the two-modem limitation had by the modem types mentioned above. PCI hardware modems also work well with HylaFAX. These can be different to set up on your system than more traditional modems. On Linux, you may need to understand the 'setserial' command. Specifically, PCI modems using the 3Com "Kermit" chipset or the Lucent "Venus" chipsets are hardware modems and have been tested with HylaFAX. Examples are the USR/3Com 3CP5610(A), the MultiTech MT5634ZPX-PCI, or the Zoom 2920.
- Internal PCI or ISA "Linmodems"
As have been tested, Linmodems (software-driven modems with Linux-compatible drivers available) will work with HylaFAX. Examples are Lucent Winmodems, PCTel modems, Conexant modems (with the Linuxant driver), and Intel/Ambient modems. The key to their compatibility is the quality and functionality of the Linmodem driver. One significant drawback to note when using many Linmodems with HylaFAX is that you are often limited to that one Linmodem, both because the driver will not support multiple instances and because some Linmodem drivers modify the behavior of the Linux serial driver. Consequently, normal hardware modems will not function properly in the presence of those Linmodem drivers, and other Linmodems will also not function properly in the presence of a foreign Linmodem driver. Only the Linuxant driver (Conexant) at this time is known to support multiple instances (for use with multiple identical Linmodems) and not modify the standard Linux serial driver as mentioned.
- External USB Modems
Those that have been tested work fine as long as they can be "spoken" to as mentioned above. Note that there are soft-USB modems out there (see Linmodems above). Using USB modems is another possible way to get more than two modems on a system without the possible expense of a multiport modem.
- Internal Serial "MultiPort" Modems
Using multiport modems such as the Comtrol RocketModem (or RocketPort attached to multiple external serial modems), MultiTech ISI MultiModem, Digi Acceleport RAS, Equinox MultiModem, MainPine RockForce, or Perle Systems equipment (take care in selecting one - research the hylafax-users mailing list archives for others' experience) is probably the best way to get more than six faxmodems into a system at once provided that the device is supported by your operating system. As mentioned already, a good way to determine traditional compatibility is to know if ATI commands can be issued directly from a terminal program such as listed above.
- ISDN, T1, and Other High-Bandwidth Digital Modems (with an AT-compatible command-interface)
The Eicon Diva Server is known to work well. The Patton 2977 using recent firmware from Patton also works well. As for others, some work, some don't, and some work better than others. Again, traditional compatibility requires the hardware to be accessible by a terminal-like program. Please consult the hylafax-users mailing list (and archives) for user experience with HylaFAX using digital modems.
- Proprietary Hardware Devices such as BrookTrout Fax Boards, AVM Fritz!, or other equipment without an AT-compatible command-interface
Products without an AT-compatible command-interface generally require integration with proprietary API from the manufacturer. If compatible, these devices will generally have their own fax drivers (faxsend, faxgetty), and any session-related issues usually must be resolved by the provider of those drivers (not the resources here). For information on support of BrookTrout devices, visit iFax Solutions at http://www.ifax.com. For information on support of CAPI and AVM Fritz! devices, visit http://freshmeat.net/projects/capi4hylafax. For other equipment, please consult with the manufacturer.
- Software-only (Host-Based) Devices
Traditionally, the occasionally computationally intensive work of faxing has taken place in specialized DSP hardware chips soldered onto elaborate circuit boards. The abundance of powerful and relatively cheap CPU resources in today's servers has caused engineers and manufacturers alike to consider executing these operations in generic CPU cycles instead of the costly hardware. A few examples of hardware-less HylaFAX devices are t38modem, part of the openH323 project, and IAXmodem, which allows Asterisk, a popular open source software-based PBX, to provide virtual modems to HylaFAX over IAX.
Which Should I Use?
Really, this is all up to you and your intended use of the faxmodem with HylaFAX. In general, most users are going to fare better using Class 1/1.0 than using Class 2/2.0/2.1 with recent versions of HylaFAX. Even if you're going to try using Class 2/2.0/2.1 it is wise to look for a modem that also supports Class 1/1.0, because if you find a bug in the Class 2 firmware, then you likely will need to rely on the manufacturer for a fix (and experience has shown that this can be difficult to obtain). If the modem supports Class 2 (and you intend to use Class 2) make sure that it supports both 1-D and 2-D image compression and perhaps even 2-D MMR image compression. If the fax line is likely to be busy and resources are limited, then you may be wise to select a modem that supports V.34-Fax (also called SuperG3) which allows faxing at speeds up to 33,600 baud (MultiTech 5634-V92-series, MainPine RockForce, and Eicon Diva Server modems are known to support this).
There is rightfully some concern as to which modem models work (or work best) with HylaFAX. The answer to that question is difficult and will undoubtedly be influenced by one's own experience. However, history on the hylafax-users mailing list has shown that modems with an older Rockwell chipset (RC144DPi, RC288DPi, or K56 found on many various ISA, external serial modems, and Comtrol RocketModems), modems with a newer Conexant chipset (found on MultiTech modems, Comtrol RocketModem IIs, Equinox MultiModems, and Linuxant-driven Linmodems), or modems with a new Lucent/Agere chipset (a.k.a. "Venus" found on MultiTech, Zoom, and MainPine modems) all work very well in Class 1 and 1.0 (if the modem reports support for it via the AT+FCLASS=? command). The Eicon Diva Server is known to work well in Class 2, and the MultiTech 5634-series modems are known to also work well in Class 2.0/2.1 in addition to Class 1/1.0 (especially when using newer firmwares).
As for things to avoid, shipped firmwares for Digi modems will not work in Class 1, and, although functional, the Class 2/2.0 implementation has some known bugs. Also in the functional-but-buggy category are USR/3Com modems; they tend to work better in Class 1 than in Class 2.0, but it still isn't ideal. (USR doesn't seem to be fixing these things, either.) If you use one of these modems and experience problems do not be surprised to learn that it is an issue with the modem itself.
As for anything else, HylaFAX has a fair number of pre-made configuration files for many common modem types. Modem type is determined by ATI0 and ATI3 commands in Class 1, AT+FMFR? and AT+FMDL? commands in Class 2, and AT+FMI? and AT+FMM? commands in Class 2.0 and 2.1. Click here for the current list of modems with default prototype configuration files in HylaFAX. However, if you're willing to work on a configuration file, then almost any faxmodem should generally work. The following links contain modems that have been used with some degree of success and with some version of HylaFAX. Note that modems can vary greatly between model numbers and firmware revisions.