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



Home
Report any problems to webmaster@hylafax.org

HylaFAX is a trademark of Silicon Graphics Corporation.
Internet connectivity for hylafax.org is provided by:
VirtuALL Private Host Services