![]() |
Hello all, my system: HylaFAX v4.0pl2 under Linux 2.2.13 Debian potato frozen; with Boca SE1440 ISA modem, firmware 1.04. I have found something which I think is a glaring bug. faxsend does: Feb 7 21:06:28 gate FaxSend[12347]: <-- [16:ATZE0V1Q0S0=0H0\r] This is WRONG !! Placing any commands behind an ATZ is prone to failure in many cases. Even I remember such a limitation, and I haven't been using any modems since 95, and even until then not too actively. In my case the ATE0 wasn't executed, which lead to the echo still being on and faxsend yelling at me "modem is wedged". (I hate that error message, BTW !!) Of course I didn't find out what was wrong, because the modem just correctly returned its OKs and suddenly there was this wedged thing: Feb 7 21:08:51 gate FaxSend[12371]: <-- [16:ATZE0V1Q0S0=0H0\r] Feb 7 21:08:52 gate FaxSend[12371]: --> [15:ATZE0V1Q0S0=0H0] Feb 7 21:08:52 gate FaxSend[12371]: --> [2:OK] Feb 7 21:08:52 gate FaxSend[12371]: <-- [21:ATS8=2S7=60\Q1&D2&C1\r] Feb 7 21:08:52 gate FaxSend[12371]: --> [20:ATS8=2S7=60\Q1&D2&C1] Feb 7 21:08:52 gate FaxSend[12371]: --> [2:OK] Feb 7 21:08:52 gate FaxSend[12371]: <-- [12:AT+FCLASS=?\r] Feb 7 21:08:52 gate FaxSend[12371]: --> [11:AT+FCLASS=?] Feb 7 21:08:52 gate FaxSend[12371]: --> [3:0,1] Feb 7 21:08:52 gate FaxSend[12371]: --> [2:OK] Feb 7 21:08:52 gate FaxQueuer[12342]: MODEM /dev/ttyS1 appears to be wedged Feb 7 21:08:52 gate FaxQueuer[12342]: MODEM WEDGED: bin/wedged "ttyS1" "/dev/ttyS1" And of course I didn't figure out until lately that the echo thing is the cause. IMHO HylaFAX still is pretty crappy. I had several rather severe problems to solve until I got even that far. It would be a *very* good thing if HylaFAX emitted some *useful* error messages instead of that stupid wedged thing. This is much less useful than e.g. with pppd; and you know how many desperate cries for help even with pppd the usenet has already seen... So ultimately using minicom to do ATZ; ATE0; AT&W0 to modify the default ATZ profile for using echo off did the trick. All in all this is a pretty poor performance of HylaFAX. (three complete evenings and several internet $$ wasted) And of course I still have that faxrm problem "Operation not permitted" waiting to be solved... strace -p'ing on the hfaxd process responsible for that when doing a faxrm shows that some weird things with failing stat()s and an ELOOP errno are going on. Don't ask me what that means... My config, BTW: ModemType: Class1 # use this to supply a hint ModemRate: 57600 ModemFlowControl: rtscts # RTC/CTS flow control # ModemSetupDTRCmd: AT&D3 # setup so DTR drop resets modem ModemSetupDCDCmd: AT&C1 # setup so DCD follows carrier ModemDialCmd: ATDT0,%s ModemResetCmds: ATZ # stuff to do when modem is reset ModemAnswerCmd: ATA # use this to answer phone ModemNoFlowCmd: AT\Q0 # disable flow control cmd ModemHardFlowCmd: AT\Q3 # hardware flow control cmd ModemSoftFlowCmd: AT\Q1 # software flow control cmd (AT&K4) ModemNoAutoAnswerCmd: ATS0=0 # disable auto-answer ModemSetVolumeCmd: "ATM0 ATL0M1 ATL1M1 ATL2M1 ATL3M1" ModemEchoOffCmd: ATE0 # disable command echo ModemVerboseResultsCmd: ATV1 # enable verbose command results 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 & responseClass1SendPPMDelay: 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 ModemMfrQueryCmd: AT+FMFR? ModemModelQueryCmd: AT+FMDL? ModemRevQueryCmd: AT+FREV? (you can clearly see here that it's not me that's doing such crazy stuff as placing commands behind an ATZ) ATZ is *always* to be used with ATZ<return>, *nothing* else ! Thank you ! -- Andreas Mohr Tel.: +49 7159 800604 private (preferred) Stauferstr. 6 927883 main line (family) D-71272 Renningen http://home.germany.net/100-30936/ Germany languages: german, english, french