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)