[hcflinux] Re: [hylafax-devel] Re: HCF driver with Hylafax
Marc Boucher
marc at mbsi.ca
Sat Jun 1 17:04:16 EDT 2002
Please disregard this patch; the HCF driver has been changed not to generate
such prefixes for AT+F commands.
Marc
On Wed, May 29, 2002 at 07:43:17AM -0400, Marc Boucher wrote:
> Hi Lee,
>
> On Wed, May 29, 2002 at 12:37:17AM -0700, Lee Howard wrote:
> > On 2002.05.28 22:15 Marc Boucher wrote:
> > >On Wed, May 29, 2002 at 12:56:26AM -0400, Alok K. Dhir wrote:
> >
> > >> AT+FCLASS=?
> > >> +FCLASS:(0,1,1.0)
> >
> > >faxaddmodem is confused by the +FCLASS: prefix in the modem's response;
> > >that's easy to fix (see patch below)
> >
> > >--- faxaddmodem.ORIG Wed May 29 01:01:55 2002
> > >+++ faxaddmodem Wed May 29 01:08:46 2002
> > >@@ -1178,7 +1178,7 @@
> > > echo ""
> > > if [ "$RESULT" = "OK" ]; then
> > > # Looks like a Class 1, 2, or 2.0 modem, get more information
> > >- case "`echo $RESPONSE | $SED -e 's/[()]//g'`" in
> > >+ case "`echo $RESPONSE | $SED -e 's/\+FCLASS://' -e 's/[()]//g'`" in
> > > 1) configureClass1Modem;;
> > > 2) configureClass2Modem;;
> > > 2.0) configureClass2dot0Modem;;
> >
> > This section of code changed in HylaFAX CVS last week with the initial
> > Class 2.1 support. The particular usage of sed has not changed, but the
> > manner in which the response is parsed has changed, and in this case
> > HylaFAX CVS (to eventually become 4.1.3) will work just fine with the
> > "+FCLASS:(0,1,1.0)" response to AT+FCLASS=?. It would not have worked if
> > the response were "+FCLASS:(1,1.0)".
>
> Yes, I saw these changes in CVS just after sending the email. :-)
>
> > Note, however, that if the HCF driver follows this pattern of reporting,
> > i.e.:
> >
> > AT+FTM=?
> > +FTM:(3,24,48,72,73,74,96,97,98,121,122,145,146)
> >
> > that there will be further problems, and if it doesn't continue the
> > pattern of reporting, then the exception in the case of +FCLASS=? seems
> > unfortunate.
>
> It does continue with this pattern. The patch below (against CVS)
> implements a workaround for the problem in the places where I have hit
> it until now (presently facing other blocking points due to HCF driver
> issues which I'm working to solve..).
>
> Regards
> Marc
>
>
> --- faxd/Class1.c++ 2002/05/29 07:20:38 1.1
> +++ faxd/Class1.c++ 2002/05/29 07:30:43
> @@ -904,6 +904,7 @@
> Class1Modem::parseQuery(const char* cp, Class1Cap caps[])
> {
> bool bracket = false, first = true;
> + char *cp2;
>
> while (cp[0]) {
> if (cp[0] == SPACE) { // ignore white space
> @@ -911,6 +912,13 @@
> continue;
> }
>
> + /* some modems, such as Conexant HCF include the original +CMD:
> + * as prefix in the response; ignore it -marc at mbsi.ca
> + */
> + if (cp[0]=='+' && first && (cp2 = strchr(cp, ':'))) {
> + cp = cp2 + 1;
> + }
> +
> /* by a.pogoda at web.de, jan 21st 2002
> * workaround for modems sending (<item>,<item>,...), i.e.
> * enclosed in brackets rather than just <item>,<item>,...
> --- faxd/ClassModem.c++ 2002/05/29 07:28:24 1.1
> +++ faxd/ClassModem.c++ 2002/05/29 07:31:09
> @@ -1057,6 +1057,15 @@
> while (nargs-- > 0) {
> while (cp[0] == SPACE)
> cp++;
> +
> + /* some modems, such as Conexant HCF include the original +FCLASS:
> + * as prefix in the response; ignore it -marc at mbsi.ca
> + */
> + char *cp2;
> + if (cp[0]=='+' && (cp2 = strchr(cp, ':'))) {
> + cp = cp2 + 1;
> + }
> +
> char matchc;
> bool acceptList;
> if (cp[0] == OPAREN) { // (<items>)
More information about the hcflinux
mailing list