From 23c78bd316651e35d3bcc9120581a7ad1895c3f5 Mon Sep 17 00:00:00 2001 From: Sergey Matyukevich Date: Tue, 18 Aug 2020 23:43:47 +0300 Subject: [PATCH] plugins: gemalto: alternative gprs-context driver Use alternative gprs context driver for gemalto modems that provide USB ethernet interfaces for data path. --- plugins/gemalto.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/plugins/gemalto.c b/plugins/gemalto.c index 13950742..238c7cc4 100644 --- a/plugins/gemalto.c +++ b/plugins/gemalto.c @@ -588,6 +588,8 @@ static void gemalto_post_sim(struct ofono_modem *modem) struct ofono_gprs *gprs; struct ofono_gprs_context *gc; const char *model = ofono_modem_get_string(modem, "Model"); + const char *driver = NULL; + const char *iface = NULL; DBG("%p", modem); @@ -596,7 +598,15 @@ static void gemalto_post_sim(struct ofono_modem *modem) ofono_sms_create(modem, OFONO_VENDOR_GEMALTO, "atmodem", data->app); gprs = ofono_gprs_create(modem, 0, "atmodem", data->app); - gc = ofono_gprs_context_create(modem, 0, "atmodem", data->mdm); + + iface = ofono_modem_get_string(modem, "NetworkInterface"); + if (iface) { + driver = "gemaltomodem"; + } else { + driver = "atmodem"; + } + + gc = ofono_gprs_context_create(modem, 0, driver, data->mdm); if (gprs && gc) ofono_gprs_add_context(gprs, gc);