Personal tools
HylaFAX The world's most advanced open source fax server

Difference between revisions of "Handbook:Advanced Server Configuration:Modems that Lie about their Capabilities"

 
m (Reverted edits by OpmQbp (Talk); changed back to last version by Darren)
 
(No difference)

Latest revision as of 14:02, 20 April 2007

Class 2 and 2.0 fax modems all too frequently have bugs in their firmware. Sometimes it is possible to workaround firmware problems by restricting a modems' capabilities. To do this the Class2DCCQueryCmd configuration parameter may be set in the per-modem configuration file. By default this parameter holds the command to send the modem to query its capabilities. However if the query string has a leading ``! then no command is sent to the modem and instead the remainder of the string is treated as the response returned by the modem. Thus to avoid using a particular modem capability all you need to do is setup a capabilities string that has a restricted set of modem capabilities.

Capabilities are returned using a syntax specified in the Class 2/2.0 specification:

    (vr),(br),(wd),(ln),(df),(ec),(bf),(st)

where,

    vr
    indicates which vertical resolutions are supported,
    br
    indicates which signaling rates are supported,
    wd
    indicates which page widths are supported,
    ln
    indicates which page lengths are supported,
    df
    indicates which data formats are supported,
    ec
    indicates whether or not the optional Error Correction Mode (ECM) is supported,
    bf
    indicates whether or not the optional Binary File Transfer (BFT) protocol is supported, and
    st
    indicates which minimum scan times are supported.

Each parameter is specified as single value, range of values (e.g. 0-3), or list of values (e.g. 0,1,2). The values are given in the Class 2/2.0 specification and in the following table (note that this table does not list values defined in the latest ITU T.class2 specification):

Param Value Description Param Value Description
vr 0 98 lines/inch df 0 1-D Modified Huffman
1196 lines/inch 12-D Modified Huffman
br 0 2400 bits/sec 22-D Uncompressed Mode
14800 bits/sec 32-D Modified Modified Read
27200 bits/sec ec0disable ECM
39600 bits/sec 1enable T.30 Annex A, ECM
412200 bits/sec 2enable T.30 Annex C, half duplex
514400 bits/sec 3enable T.30 Annex C, full duplex
wd 0 1728 pixels in 215 mm bf 0 disable file transfer modes
12048 pixels in 255 mm 1select BFT, T.434
22432 pixels in 303 mm st 0 scan time/line: 0 ms/0 ms
31216 pixels in 151 mm 1scan time/line: 5 ms/5 ms
4864 pixels in 107 mm 2scan time/line: 10 ms/5 ms
ln 0 A4, 297 mm 3scan time/line: 10 ms/10 ms
1B4, 364 mm 4scan time/line: 20 ms/10 ms
2unlimited length 5scan time/line: 20 ms/20 ms
6scan time/line: 40 ms/20 ms
7scan time/line: 40 ms/40 ms

An example use of this mechanism is found in the prototype configuration file for the AT&T DataPort modem. The rev C01.66.10 firmware for the DataPort returns an invalid string for the AT+FDCC=? query command so the prototype configuration file supplies a valid one instead:

Class2DCCQueryCmd:     "!(0,1),(0-5),(0-4),(0-2),(0),(0),(0),(0-7)"

Beware of specifying that a modem has capabilities that it does not; HylaFAX is likely to try and make use of them!


This page was last edited on 20 April 2007, at 14:02.

Powered by MediaWiki
Attribution-ShareAlike 2.5

Project hosted by iFAX Solutions