HylaFAX The world's
most advanced open source fax server
|
|
[
Date Prev][
Date Next][
Thread Prev][
Thread Next]
[
Date Index]
[
Thread Index]
Misc. ramblings about older USR modems
I have an older USR 33.6 modem. The EPROM and DSP dates from 10/18/95,
and its revision is 1.1. I have been trying to get it to work
with SCO Unix 3.2v4.2 for both incoming fax and incoming data
connections. (I guess I'm stuck back in '95 with both hardware
and software :-) ). Oh yeah, hylafax v4.0pl2.
Anyways, over the last week I have been having moderate success
getting both the hardware and the software to work. I have had a number
of problems and I guess I would like to document my successes and
current failures just in case it would help someone.
I need to have the modem work with Class 2.0 since I need both
incoming faxes and incoming data connections. I need outgoing
data but I do not require outgoing faxes at this time. If you
are simply using Class 1, set S36=3D0 and things should be mostly fine.
Problem 1. I was receiving the following error message (with log snippet)
RECV: begin page
RECV: send trigger 022
<-- data [1]
RECV: 111 total lines, 0 bad lines, 0 consecutive bad lines
--> [16:+FPS:1,112,0,0,0]
--> [5:ERROR]
MODEM Command error
REMOTE HANGUP: Unspecified Phase C error, including too much delay
between TCF and +FDR command (code 90)
Solution, I believe this was solved with the following options
mentioned in the archives. I can't remember if this was the only
change I made at this time but I think it was.
PercentGoodLines: 0
MaxConsecutiveBadLines: 0
Problem 2. I could not receive a multipage fax. At the start of the
second page I would receive the following error (with log snippet)
--> [7:CONNECT]
RECV: begin page
RECV: send trigger 022
<-- data [1]
RECV: 2402 bytes of data, 156 total lines
--> [16:+FPS:1,157,0,0,0]
--> [7:+FHS:A1]
REMOTE HANGUP: RSPREC invalid response received (code A1)
--> [2:OK]
Solution: I contacted USR about this one and they suggested that I
set the following registers:
S7=3D90
S36=3D0
I added this to the ModemHardFlowCmd. Originally S7 was 60, just changing
S7 to 90 did not help. Changing S36 to 0 was the correct magic. The S36
register is not documented. Does any know what it does?
Problem 3. When trying to handling incoming data connections under
SCO 3.2v4.2, the modem would drop the connection during the transfer of
control from faxgetty to getty. This would cause the SCO getty to hang and
locking the port until it was killed manually.
Solution. I had to set the S25 register to 200. This is probably way
to high but it does work. This register tells the modem not to
interpet a short drop in DTR as loss of communications. I guess it
simply takes too long on a pentium 133 to transfer control over to getty.
Problem 4. After FaxGetty was started I could only receive one fax.
With all subsequent faxes I would receive this message (with log snippet)
<-- [4:ATA\r]
--> [10:NO CARRIER]
ANSWER: Ring detected without successful handshake
The modem seemed to be trying to initiate a data connection with the
remove fax machine. I did not have this problem if I limited the
modem to Class 1.
Solution. I don't know if this the correct solution but it does
seem to be working. I put +FCLASS=3D1 in ModemHardFlowCmd. When
FaxGetty initializes the modem it first sends the ModemHardFlowCmd
to the modem setting it into Class 1. It then queries the modem for
what classes are available and since I specified in the config
file to use Class 2.0 it then sets the modem into Class2.0 mode.
This hack seems to be working for incoming fax connections. See
Problem 5 for an unsolved problem.
Problem 5. This is my only unresolved problem and it relates to
Problem 4. If I accept an incoming data connection and it=20
disconnects normally some time later, the next attempt to fax in
will not work. The same symptoms described in Problem 4 occur.
However, if the sender tries again it will work.
Does anyone have a solution for this problem? If you do, I'll
be greatly appreciative and will be able to sleep well this weekend.
Here is my current config file.
## This config file is for a USRobotics 33.6 modem with
## the EPROM and DSP dates from 10/18/95. This configuration
## works on SCO Unix 3.2v4.2
CountryCode: 1
AreaCode: 250
FAXNumber: "+1 250 479 0764"
LongDistancePrefix: 1
InternationalPrefix: 011
DialStringRules: "etc/dialrules"
ServerTracing: 1
SessionTracing: 11
RecvFileMode: 0644
LogFileMode: 0644
DeviceMode: 0644
SpeakerVolume: off
GettyArgs: "-n -h -t 60 %l dx_%s"
LocalIdentifier: "AIInc 250 479 0764"
TagLineFont: etc/lutRS18.pcf
TagLineFormat: "From %%l|%c|Page %%p of %%t"
MaxRecvPages: 50
RingsBeforeAnswer: 1
PercentGoodLines: 0
MaxConsecutiveBadLines: 0
#
# Modem-related stuff
#
ModemType: Class2.0 # use class 2.0 interface
ModemRate: 38400 # DCE-DTE communication rate
ModemFlowControl: rtscts # XON/XOFF flow control assumed
#
ModemNoFlowCmd: AT&H0&I0&R1 # setup modem for no flow control
#
# setup modem for hardware flow control. USR told me to set S7=3D90
# but S7=3D60 is the default and does work. USR also told me to set S36=3D0.
# No idea what this does but is a magic bullet. S10=3D30 is just a little
# paranoia by me. I don't think it solves any problems but doesn't hurt
# anything. +FCLASS=3D1 solves a problem where the first incoming fax works
# but the modem will not negotiate a connection to subsequent fax=
connections.
# =09
ModemHardFlowCmd: AT&H1&I0&R2S7=3D60S36=3D0S10=3D30+FCLASS=3D1
ModemSoftFlowCmd: AT&H2&I2&R1 # setup modem for software flow control
#
ModemSetupDTRCmd: ATS13=3D1&D2 # setup so DTR drop resets modem
ModemSetupDCDCmd: AT&C1 # setup so DCD reflects carrier (or not)
ModemResultCodesCmd: ATQ0X4 # enable extended result codes
#
AdaptiveAnswer: yes
ModemWaitForConnect: yes
#
# NB: adaptive answer only seems to work properly when
# the modem is left idling in Class 2.0
#
ModemSetupAACmd: AT+FAA=3D1
#
# Set modem speaker volume commands: OFF QUIET LOW MEDIUM HIGH.
# Note that we both turn the speaker on/off and set volume.
#
ModemSetVolumeCmd: "ATM0 ATM1 ATM1 ATM1 ATM1"
#
# Modem does not support HDLC frame tracing; we add this just
# to eliminate spurious ERROR results that confuse the naive.
#
Class2BUGCmd: AT+FBU=3D0
#
# The modem doesn't support copy quality checking, even though it
# returns (0-2,0-2) for AT+FCQ=3D?; therefore we override the query
# response so that the server will do copy quality checking.
#
Class2CQQueryCmd: !(0),(0) # override modem response
#
# This supposidly fixes a bug in USR firmware
#
Class2NRCmd: AT+FNR=3D1,1,1,0 # setup status reporting command
Here is an ATI4
B0 E0 F1 M0 Q0 V1 X4 Y0
BAUD=3D57600 PARITY=3DN WORDLEN=3D8
DIAL=3DHUNT ON HOOK
&A0 &B1 &C1 &D2 &G0 &H1 &I0 &K1 &M4 &N0
&P0 &R2 &S1 &T5 &U0 &Y1
S00=3D000 S01=3D000 S02=3D043 S03=3D013 S04=3D010 S05=3D008 S06=3D0=
02
S07=3D060 S08=3D002 S09=3D006 S10=3D030 S11=3D050 S12=3D050 S13=3D0=
01
S15=3D000 S16=3D000 S18=3D000 S19=3D000 S21=3D010 S22=3D017 S23=3D0=
19
S25=3D200 S27=3D000 S28=3D008 S29=3D020 S30=3D000 S31=3D128 S32=3D0=
02
S33=3D000 S34=3D000 S36=3D000 S38=3D001
I hope this helps someone.
---
Robert Side Voice: (250) 479 8646 =20
Acquired Intelligence Inc. Fax: (250) 479 0764
#205 - 1095 McKenzie Ave Email: rside@aiinc.bc.ca
Victoria, B.C, CANADA V8P 2L5 URL: http://vvv.com/ai
Acquire=AE is a registered trademark of Acquired Intelligence Inc.