On Sun, 2002-07-14 at 00:27, Oded Arbel wrote: > >Either I don't understand what you are saying > > > Yep :-) > > >or you should perhaps take > >another look at the patch. The patch introduces the new directive > >"disable-crtscts". If this directive is set to "true" for the modem, the > >CRTSCTS bit is turned off. If the directive is missing or set to > >"false", the CRTSCTS is set on as per the default. > > > Got all that - but still I think the logic you imploy is not correct: > since CRTSCTS is already being set for the modem device, its kind of > silly to set it and then disable it again - instead, simply enable it if > needed (disable-crtscts not being set). I submit exhibit A - smsc_at2 > disable-crtscts patch, the Oded way ;-) > > -- > Oded Arbel > m-Wise mobile solutions > > > ---- >
> --- gw/smsc_at2.c 2002-06-06 17:09:24.000000000 +0000 > +++ gw/smsc_at2.c 2002-07-13 14:22:47.000000000 +0000 > @@ -79,7 +79,8 @@ > tios.c_oflag &= ~ONLCR; /* no NL to CR-NL mapping outgoing */ > tios.c_iflag |= IGNPAR; /* ignore parity */ > tios.c_iflag &= ~INPCK; > - tios.c_cflag |= CRTSCTS; /* enable hardware flow control */ > + if (privdata->modem->use_crtscts) > + tios.c_cflag |= CRTSCTS; /* enable hardware flow control */ > tios.c_cc[VSUSP] = 0; /* otherwhise we can not send CTRL Z */ > > /* > @@ -2053,6 +2131,9 @@ > modem->message_storage = cfg_get(grp, octstr_imm("message-storage")); > > cfg_get_bool(&modem->enable_mms, grp, octstr_imm("enable-mms")); > + > + cfg_get_bool(&modem->use_crtscts, grp, octstr_imm("disable-crtscts")); > + modem->use_crtscts = !modem->use_crtscts; > > /* > if (modem->message_storage == NULL) May I know where use_crtscts is from? In order to support the "disable-crtscts" directive, I have added "disable_crtscts" attribute into the ModemDef structure in smsc_at2.h. By default, Kannel opens the serial port with hardware flow control. What I did was merely turn it off when it sees "disable-crtscts = true" in the configuration file. What you have done appears convoluted and requires the addition of 2 directives rather than 1. I think my original patch is simpler and it has been tested to work. Regards, Eric Yeo