Hylafax Mailing List Archives
|
[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
Bug in Hylafax with FPTS ? (Retrain problem)
Hi all,
I had a problem with an Olitec modem which have a Rockwell chip.
This modem can't do the copy quality checking.
When receiving a fax it returns FPTS:2,2219,0,0 to the sender after
the AT+FDR command is issued. As you can read in the 'Modem Bugs and
Gotchas'
on the hylafax web site, the modems based on a rockwell chip (Suprafax,
Olitec, ...)
return a total nonsense AT+FPTS message...
For my modem it always returns +FPTS: 2,2219,0,0 whereas the fax is
good. And It results
in an error on the fax machine sender :(
As it is Hylafax which does the quality checking it should modify the
FPTS message to say
to the sender the fax is good. As I could read in the "Supra/Rockwell
Class 2 documentation":
"The DCE holds the post page response message to the remote facsimile
station (MCF, etc.), represented
in the +FPTS parameter until the next +FDR command. The DTE may modify
the +FPTS parameter before
issuing the +FDR command which releases that message. The DTE must
issue a +FDR command to release
Post Page Messages."
But Hylafax doesn't send the FPTS command to the modem :(
I think this is a bug (I'm right ?).
Here's the modification I've done in the Class 2 driver of Hylafax.
Function recvPage file Class2Recv.C++
...
if (ppr & 1) // page good, work complete
{
class2Cmd(ptsCmd, ppr); // Added this function call to send
the FPTS computed by Hylafax
return (TRUE);
}
} while (!hostDidCQ || class2Cmd(ptsCmd, ppr));
bad:
...
What do you think of this modification ? It works for me...
I join the patch of my modification.
Thanks for your advices.
Regards,
Benoit Foucher.
-----------------------------------
Imprimerie Vincent
29 av Charles Bedaux
37042 Tours Cedex
FRANCE
Index: hylafax/faxd/Class2Recv.c++
diff -c hylafax/faxd/Class2Recv.c++:1.1 hylafax/faxd/Class2Recv.c++:1.2
*** hylafax/faxd/Class2Recv.c++:1.1 Thu Feb 11 15:38:27 1999
--- hylafax/faxd/Class2Recv.c++ Tue Mar 9 15:26:39 1999
***************
*** 218,224 ****
--- 218,227 ----
recvResetPage(tif); // reset to overwrite data
tracePPR("RECV send", ppr);
if (ppr & 1) // page good, work complete
+ {
+ class2Cmd(ptsCmd, ppr);
return (TRUE);
+ }
} while (!hostDidCQ || class2Cmd(ptsCmd, ppr));
bad:
if (hangupCode[0] == 0)