We have an old Ericsson GM12 with a custom-made serial cable that does
not have the control signals wired. When running Kannel 1.2.0, no
communications occurs. Turning off hardware flow control helps.
Attached is a patch against Kannel 1.2.0 that add an extra directive to
the modems group (disable-crtscts). Might help some people.
Regards,
Eric Yeo
Only in gateway-1.2.0-ttey/doc/alligata: alligata.tex
Only in gateway-1.2.0-ttey/doc/alligata: alligata.tmp
diff -r -c gateway-1.2.0/gw/smsc_at2.c gateway-1.2.0-ttey/gw/smsc_at2.c
*** gateway-1.2.0/gw/smsc_at2.c Tue May 14 09:57:36 2002
--- gateway-1.2.0-ttey/gw/smsc_at2.c Fri Jul 12 15:01:54 2002
***************
*** 82,87 ****
--- 82,91 ----
tios.c_cflag |= CRTSCTS; /* enable hardware flow control */
tios.c_cc[VSUSP] = 0; /* otherwhise we can not send CTRL Z */
+ if (privdata->modem->disable_crtscts) {
+ tios.c_cflag &= ~CRTSCTS; /* disable hardware flow control */
+ }
+
/*
if ( ModemTypes[privdata->modemid].enable_parity )
tios.c_cflag ^= PARODD;
***************
*** 2033,2038 ****
--- 2037,2044 ----
modem->speed = 9600;
cfg_get_integer(&modem->speed, grp, octstr_imm("speed"));
+ cfg_get_bool(&modem->disable_crtscts, grp, octstr_imm("disable-crtscts"));
+
cfg_get_bool(&modem->need_sleep, grp, octstr_imm("need-sleep"));
modem->enable_hwhs = cfg_get(grp, octstr_imm("enable-hwhs"));
diff -r -c gateway-1.2.0/gw/smsc_at2.h gateway-1.2.0-ttey/gw/smsc_at2.h
*** gateway-1.2.0/gw/smsc_at2.h Thu Apr 11 12:46:42 2002
--- gateway-1.2.0-ttey/gw/smsc_at2.h Fri Jul 12 14:50:30 2002
***************
*** 54,59 ****
--- 54,60 ----
int broken;
Octstr *message_storage;
int enable_mms;
+ int disable_crtscts;
} ModemDef;
typedef struct PrivAT2data {
diff -r -c gateway-1.2.0/gwlib/cfg.def gateway-1.2.0-ttey/gwlib/cfg.def
*** gateway-1.2.0/gwlib/cfg.def Tue Jun 25 20:32:06 2002
--- gateway-1.2.0-ttey/gwlib/cfg.def Fri Jul 12 14:52:50 2002
***************
*** 326,331 ****
--- 326,332 ----
OCTSTR(init-string)
OCTSTR(speed)
OCTSTR(enable-hwhs)
+ OCTSTR(disable-crtscts)
OCTSTR(need-sleep)
OCTSTR(no-pin)
OCTSTR(no-smsc)