Hylafax Developers Mailing List Archives
|
[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
[hylafax-devel] Re: New Feature Contribution: V.34 fax
guillaume.legoupil@conexant.com writes:
> Here it is.
>
> I have added V.34 fax in hylafax and also corrected Error Correction Mode.
>
> I do not know how to add the modification in CVS, so I attach the diff files
> using base code PVS March 9, 02:00pm and let you include it in CVS.
>
> I have tested it in Class1, Class2 and 2.0 and it looks fine.
>
> The differents modified are :
> /faxd/Class2.c++
> /faxd/Class2.h
> /faxd/Class20.c++
> /faxd/Class2Send.c++
> /faxd/FaxMachineInfo.c++
> /faxd/FaxModem.c++
> /faxd/FaxRequest.c++
> /faxd/ModemConfig.c++
> /man/sendfax.1
> /man/sendq.4f
> /sendfax/sendfax.c++
> /util/Class2Params.c++
> /util/Class2Params.h
> /util/SendFaxJob.c++
> /util/class2.h
> /util/recvstats.sh.in
> /util/xferfaxstats.sh.in
>
>
> Guillaume
>
> (See attached file: diff_ml_00030914EcmV34)
Guillaume,
Can you explain, why did you make the following changes:
[---cut---]
--- mainline.000309.14/faxd/Class2.c++ Sun Jun 13 00:41:01 1999
+++ mainline.000309.14EcmV34/faxd/Class2.c++ Fri Mar 10 18:42:43 2000
@@ -111,6 +111,13 @@
return (false);
}
traceModemParams();
+ /*
+ * Because V.34 fax use a V.8 negociation, we have to enable pre-dial DIS command hack
+ */
+ if(modemParams.br > BR_ALL_NO_V34) {
+ modemSupports("V.34, force pre-dial DIS command hack");
+ ddisCmd = disCmd;
+ }
/*
* Check to see if the modem supports copy quality checking.
* If the modem is capable, then enable it using the configured
[---cut---]
Why this DIS command hack is really needed? Before each dial attempt
Hylafax invokes setupDCC(), which sets the modem's best via AT+FCC=..., so
(I think) v.8 should be enabled by default without any hack. Wrong?
[---cut---]
diff -uNr mainline.000309.14/faxd/Class2.h mainline.000309.14EcmV34/faxd/Class2.h
--- mainline.000309.14/faxd/Class2.h Sun Jun 13 00:41:01 1999
+++ mainline.000309.14EcmV34/faxd/Class2.h Fri Mar 10 11:19:54 2000
@@ -43,6 +43,7 @@
fxStr dccCmd; // set configuration parameters command
fxStr dccQueryCmd; // modem capabilities query command
fxStr disCmd; // set session parameters command
+ fxStr ddisCmd; // set ses. params. command before dial
fxStr cigCmd; // set polling ID string command
fxStr splCmd; // set polling request command
fxStr nrCmd; // negotiation message reporting control
diff -uNr mainline.000309.14/faxd/Class20.c++ mainline.000309.14EcmV34/faxd/Class20.c++
--- mainline.000309.14/faxd/Class20.c++ Sun Jun 13 00:41:01 1999
+++ mainline.000309.14EcmV34/faxd/Class20.c++ Fri Mar 10 11:18:37 2000
@@ -48,6 +48,7 @@
setupDefault(lidCmd, conf.class2LIDCmd, "AT+FLI");
setupDefault(dccCmd, conf.class2DCCCmd, "AT+FCC");
setupDefault(disCmd, conf.class2DISCmd, "AT+FIS");
+ setupDefault(ddisCmd, conf.class2DISCmd, "");
setupDefault(cigCmd, conf.class2CIGCmd, "AT+FPI");
setupDefault(splCmd, conf.class2SPLCmd, "AT+FSP");
setupDefault(ptsCmd, conf.class2PTSCmd, "AT+FPS");
diff -uNr mainline.000309.14/faxd/Class2Send.c++ mainline.000309.14EcmV34/faxd/Class2Send.c++
--- mainline.000309.14/faxd/Class2Send.c++ Sun Jun 13 00:41:01 1999
+++ mainline.000309.14EcmV34/faxd/Class2Send.c++ Fri Mar 10 16:39:47 2000
@@ -59,8 +59,8 @@
Class2Params::bitRateNames[req.minsp], cmdFailed);
return (false);
}
- if (conf.class2DDISCmd != "") {
- if (!class2Cmd(conf.class2DDISCmd, dis)) {
+ if (ddisCmd != "") {
+ if (!class2Cmd(ddisCmd, dis)) {
emsg = fxStr::format("Unable to setup session parameters "
"prior to call%s", cmdFailed);
return (false);
[---cut---]
Well, if the hack is really needed, you should use conf.class2DDISCmd in
setupDefault() above, not conf.class2DISCmd.
BTW, which modem did you use to test your ECM & V.34 fixes?
Hope to hear from you soon,
Dmitry
____________________ HylaFAX(tm) Developers Mailing List ____________________
To unsub: mail -s unsubscribe hylafax-devel-request@hylafax.org < /dev/null