From e734a3261cb2290387eb20d6fc6871b3e2655313 Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Tue, 12 Jun 2007 10:26:57 +0000 Subject: libgsmd: update patches - drop plugin (accepted upstream) and qualcomm-extreply patches - start the modem-alive thread only after the interpreter is ready - add vendor plugin configurable extreply character support - add a command line option to set the initial interpreter_ready state - fix csq readings in the tihtc vendor module --- packages/gsm/files/extreplychars.patch | 70 ++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 packages/gsm/files/extreplychars.patch (limited to 'packages/gsm/files/extreplychars.patch') diff --git a/packages/gsm/files/extreplychars.patch b/packages/gsm/files/extreplychars.patch new file mode 100644 index 0000000000..8ebc343e27 --- /dev/null +++ b/packages/gsm/files/extreplychars.patch @@ -0,0 +1,70 @@ +Index: gsm/src/gsmd/atcmd.c +=================================================================== +--- gsm.orig/src/gsmd/atcmd.c 2007-06-03 10:46:19.000000000 +0200 ++++ gsm/src/gsmd/atcmd.c 2007-06-03 15:54:53.000000000 +0200 +@@ -208,7 +208,7 @@ + * TBD + */ + +- if (buf[0] == '+' || buf[0] == '%') { ++ if (buf[0] == '+' || strchr(g->vendorpl->ext_chars, buf[0])) { + /* an extended response */ + const char *colon = strchr(buf, ':'); + if (!colon) { +@@ -255,7 +255,7 @@ + } + + if (cmd) { +- if (cmd->buf[2] != '+' && cmd->buf[2] != '%') { ++ if (cmd->buf[2] != '+' && strchr(g->vendorpl->ext_chars, cmd->buf[2]) == NULL) { + gsmd_log(GSMD_ERROR, "extd reply to non-extd command?\n"); + return -EINVAL; + } +Index: gsm/src/gsmd/vendor_qc.c +=================================================================== +--- gsm.orig/src/gsmd/vendor_qc.c 2007-06-03 10:46:19.000000000 +0200 ++++ gsm/src/gsmd/vendor_qc.c 2007-06-03 11:45:58.000000000 +0200 +@@ -97,6 +97,7 @@ + + struct gsmd_vendor_plugin gsmd_vendor_plugin = { + .name = "Qualcomm msm6250", ++ .ext_chars = "@", + .num_unsolicit = ARRAY_SIZE(qc_unsolicit), + .unsolicit = qc_unsolicit, + .detect = &qc_detect, +Index: gsm/src/gsmd/vendor_ti.c +=================================================================== +--- gsm.orig/src/gsmd/vendor_ti.c 2007-06-03 10:46:19.000000000 +0200 ++++ gsm/src/gsmd/vendor_ti.c 2007-06-03 11:45:58.000000000 +0200 +@@ -303,6 +303,7 @@ + + struct gsmd_vendor_plugin gsmd_vendor_plugin = { + .name = "TI Calypso", ++ .ext_chars = "%@", + .num_unsolicit = ARRAY_SIZE(ticalypso_unsolicit), + .unsolicit = ticalypso_unsolicit, + .detect = &ticalypso_detect, +Index: gsm/include/gsmd/vendorplugin.h +=================================================================== +--- gsm.orig/include/gsmd/vendorplugin.h 2007-02-16 15:12:40.000000000 +0100 ++++ gsm/include/gsmd/vendorplugin.h 2007-06-03 11:45:58.000000000 +0200 +@@ -12,6 +12,7 @@ + struct gsmd_vendor_plugin { + struct llist_head list; + unsigned char *name; ++ unsigned char *ext_chars; + unsigned int num_unsolicit; + const struct gsmd_unsolicit *unsolicit; + int (*detect)(struct gsmd *g); +Index: gsm/src/gsmd/vendor_tihtc.c +=================================================================== +--- gsm.orig/src/gsmd/vendor_tihtc.c 2007-06-03 15:55:31.000000000 +0200 ++++ gsm/src/gsmd/vendor_tihtc.c 2007-06-03 15:55:43.000000000 +0200 +@@ -298,6 +298,7 @@ + + struct gsmd_vendor_plugin gsmd_vendor_plugin = { + .name = "TI Calypso / HTC firmware", ++ .ext_chars = "%", + .num_unsolicit = ARRAY_SIZE(tihtc_unsolicit), + .unsolicit = tihtc_unsolicit, + .detect = &tihtc_detect, -- cgit v1.2.3