This patch is against a plain 2.2.14 kernel.
It contains support for ISAR based Fax FCLASS1 emulation.
here is an example config.ttyI0 for hylafax.

# Generic Class 1 modem configuration.
#
# EDIT THIS CONFIGURATION TO REFLECT YOUR SETUP
# AreaCode/FAXNumber/LocalIdentifier/ModemResetCmds
# have to adapted
#
CountryCode:            49
AreaCode:               1234
FAXNumber:              +49.1234.56789
LongDistancePrefix:     0
InternationalPrefix:    00
DialStringRules:        etc/dialrules
ServerTracing:          527
SessionTracing:         527
RecvFileMode:           0644
LogFileMode:            0600
DeviceMode:             0666
RingsBeforeAnswer:      1
SpeakerVolume:          off
GettyArgs:              "-r -b -s %s %l"
LocalIdentifier:        "Test KKe"
TagLineFont:            etc/lutRS18.pcf
TagLineFormat:          "From %%l|%c|Page %%p of %%t"
MaxRecvPages:           25
#
#
# Modem-related stuff: should reflect modem command interface
# and hardware connection/cabling (e.g. flow control).
#
ModemType:              Class1          # use this to supply a hint
#ModemRate:             19200           # rate for DCE-DTE communication
#ModemFlowControl:      xonxoff         # XON/XOFF flow control assumed
#
# NB: If you need to prefix phone numbers to get through a PBX,
#     put it in the ModemDialCmd; e.g. "DT9%s@".
#
#ModemDialCmd:          ATDT%s@         # T for tone dialing, @ for silence
#
# Other possible configuration stuff.  The default strings are
# shown below.  Only those that are different from the defaults
# need to be included in the configuration file.
#
ModemResetCmds:         "AT&E56789"     # stuff to do when modem is reseted
#ModemAnswerCmd:        ATA             # use this to answer phone
#ModemNoFlowCmd:        AT&K            # disable flow control cmd
#ModemHardFlowCmd:      AT&K3           # hardware flow control cmd
#ModemSoftFlowCmd:      AT&K4           # software flow control cmd
#ModemNoAutoAnswerCmd:  ATS0=0          # disable auto-answer
#
# Set modem speaker volume commands: OFF QUIET LOW MEDIUM HIGH.
# Note that we both turn the speaker on/off and set volume.
#
#ModemSetVolumeCmd:     "ATM0 ATL0M1 ATL1M1 ATL2M1 ATL3M1"
#ModemEchoOffCmd:       ATE0            # disable command echo
#ModemVerboseResultsCmd: ATV1           # enable verbose command result
#ModemResultCodesCmd:   ATQ0            # enable result codes
#ModemOnHookCmd:        ATH0            # place phone on hook (hangup)
#ModemSoftResetCmd:     ATZ             # do soft reset of modem
#ModemWaitTimeCmd:      ATS7=60         # wait 60 seconds for carrier
#ModemCommaPauseTimeCmd: ATS8=2         # comma pause time is 2 seconds
#ModemRecvFillOrder:    LSB2MSB         # bit order of received facsimile
#ModemSendFillOrder:    LSB2MSB         # bit order modem expects for transmit
#
Class1Cmd:              AT+FCLASS=1     # command to enter class 1
Class1TCFResponseDelay: 75              # 75ms delay between recv TCF & responses
Class1SendPPMDelay:     75              # 75ms delay before sending PPM
Class1SendTCFDelay:     75              # 75ms delay between sending DCS & TCF
Class1TrainingRecovery: 1500            # 1.5sec delay after training failure
Class1RecvAbortOK:      200             # wait 200ms for abort response
Class1FrameOverhead:    4               # 4 byte overhead in recvd HDLC frames
Class1RecvIdentTimer:   40000           # 35+5secs waiting for ident frames
Class1TCFMaxNonZero:    10              # max 10% of data may be non-zero
Class1TCFMinRun:        1000            # min run is 2/3rds of TCF duration
