summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/atgen.c12
-rw-r--r--plugins/modemconf.c1
2 files changed, 12 insertions, 1 deletions
diff --git a/plugins/atgen.c b/plugins/atgen.c
index 42b6c6b7..8300da27 100644
--- a/plugins/atgen.c
+++ b/plugins/atgen.c
@@ -113,7 +113,17 @@ static int atgen_enable(struct ofono_modem *modem)
return -EIO;
}
- syntax = g_at_syntax_new_gsmv1();
+ value = ofono_modem_get_string(modem, "GsmSyntax");
+ if (value) {
+ if (g_str_equal(value, "V1"))
+ syntax = g_at_syntax_new_gsmv1();
+ else if (g_str_equal(value, "Permissive"))
+ syntax = g_at_syntax_new_gsm_permissive();
+ else
+ return -EINVAL;
+ } else
+ syntax = g_at_syntax_new_gsmv1();
+
chat = g_at_chat_new(channel, syntax);
g_at_syntax_unref(syntax);
g_io_channel_unref(channel);
diff --git a/plugins/modemconf.c b/plugins/modemconf.c
index 440b205e..4b66590c 100644
--- a/plugins/modemconf.c
+++ b/plugins/modemconf.c
@@ -44,6 +44,7 @@ static const char *tty_opts[] = {
"Parity",
"XonXoff",
"RtsCts",
+ "GsmSyntax",
NULL,
};