All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4] SARA R4 patches
@ 2021-02-22  9:08 Jupiter
  2021-02-22  9:08 ` [PATCH v3 1/4] Change 1: SARA R4 QMI support Jupiter
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Jupiter @ 2021-02-22  9:08 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1747 bytes --]

From: jupiter <jupiter.hce@gmail.com>

Hi Jonas,

Is any reason you need to add ofono_modem_set_string(modem->modem, "Quirk", "SARAR4"); to static gboolean setup_sim7x00 rather than directly in static gboolean setup_ubloxqmi(struct modem_info *modem) ?

Your patch:

--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -1366,6 +1366,11 @@ static gboolean setup_sim7x00(struct modem_info
*modem)
                ofono_modem_set_string(modem->modem, "Audio", audio);
        }
  +     if ((g_strcmp0(modem->vendor, "0xffff") == 0) &&
+               (g_strcmp0(modem->model, "0xffff") == 0)) {
+               ofono_modem_set_string(modem->modem, "Quirk", "SARAR4");
+       }
+


My patch:
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -1194,6 +1194,45 @@ static gboolean setup_ublox(struct modem_info *modem)
    return TRUE;
 }

+static gboolean setup_ubloxqmi(struct modem_info *modem) {
..........
+   ofono_modem_set_string(modem->modem, "Device", qmi);
+   ofono_modem_set_string(modem->modem, "NetworkInterface", net);
+   ofono_modem_set_string(modem->modem, "Quirk", "SARAR4");
+   ofono_modem_set_driver(modem->modem, "gobi");
+
+   return TRUE;
+}

Thanks.

- jupiter


jupiter (4):
  Change 1: SARA R4 QMI support
  Change 2: Add SARA R4 vendor ID
  Change 3: Check SARA R4 vendor ID, need to make it conditional on the
    actions being attach and detach
  Change 4: Add SARA R4 vendor and enable vendor in gprs create

 drivers/atmodem/vendor.h |  1 +
 drivers/qmimodem/gprs.c  | 15 +++++++++++++++
 plugins/gobi.c           | 11 ++++++++++-
 plugins/udevng.c         | 41 ++++++++++++++++++++++++++++++++++++++++
 4 files changed, 67 insertions(+), 1 deletion(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v3 1/4] Change 1: SARA R4 QMI support
  2021-02-22  9:08 [PATCH v3 0/4] SARA R4 patches Jupiter
@ 2021-02-22  9:08 ` Jupiter
  2021-02-22  9:08 ` [PATCH v3 2/4] Change 2: Add SARA R4 vendor ID Jupiter
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Jupiter @ 2021-02-22  9:08 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 2255 bytes --]

From: jupiter <jupiter.hce@gmail.com>

---
 plugins/udevng.c | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/plugins/udevng.c b/plugins/udevng.c
index 34ac1cc0..63d95055 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -1194,6 +1194,45 @@ static gboolean setup_ublox(struct modem_info *modem)
 	return TRUE;
 }
 
+static gboolean setup_ubloxqmi(struct modem_info *modem) {
+	const char *qmi = NULL, *net = NULL, *gps = NULL, *aux = NULL;
+	GSList *list;
+
+	DBG("%s", modem->syspath);
+
+	for (list = modem->devices; list; list = g_slist_next(list)) {
+		struct device_info *info = list->data;
+
+		DBG("%s %s %s %s %s", info->devnode, info->interface,
+				info->number, info->label, info->subsystem);
+
+		if (g_strcmp0(info->interface, "255/255/255") == 0 &&
+				g_strcmp0(info->number, "03") == 0) {
+			if (g_strcmp0(info->subsystem, "net") == 0)
+				net = info->devnode;
+			else if (g_strcmp0(info->subsystem, "usbmisc") == 0)
+				qmi = info->devnode;
+		}
+	}
+
+	DBG("qmi=%s net=%s", qmi, net);
+
+	if (qmi == NULL || net == NULL)
+		return FALSE;
+
+	DBG("qmi=%s net=%s", qmi, net);
+
+	ofono_modem_set_string(modem->modem, "Device", qmi);
+	ofono_modem_set_string(modem->modem, "NetworkInterface", net);
+    ofono_modem_set_string(modem->modem, "Quirk", "SARAR4");
+
+	DBG("gps=%s aux=%s", gps, aux);
+
+	ofono_modem_set_driver(modem->modem, "gobi");
+
+	return TRUE;
+}
+
 static gboolean setup_gemalto(struct modem_info* modem)
 {
 	const char *app = NULL, *gps = NULL, *mdm = NULL,
@@ -1441,6 +1480,7 @@ static struct {
 	{ "quectel",	setup_quectel	},
 	{ "quectelqmi",	setup_quectelqmi},
 	{ "ublox",	setup_ublox	},
+    { "ubloxqmi",   setup_ubloxqmi  },
 	{ "gemalto",	setup_gemalto	},
 	{ "xmm7xxx",	setup_xmm7xxx	},
 	{ "mbim",	setup_mbim	},
@@ -1850,6 +1890,7 @@ static struct {
 	{ "ublox",	"cdc_ncm",	"1546", "110a"	},
 	{ "ublox",	"rndis_host",	"1546", "1146"	},
 	{ "ublox",	"cdc_acm",	"1546", "1146"	},
+    { "ubloxqmi",   "qmi_wwan", "05c6", "90b2"  },
 	{ "gemalto",	"option",	"1e2d",	"0053"	},
 	{ "gemalto",	"cdc_wdm",	"1e2d",	"0053"	},
 	{ "gemalto",	"qmi_wwan",	"1e2d",	"0053"	},
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v3 2/4] Change 2: Add SARA R4 vendor ID
  2021-02-22  9:08 [PATCH v3 0/4] SARA R4 patches Jupiter
  2021-02-22  9:08 ` [PATCH v3 1/4] Change 1: SARA R4 QMI support Jupiter
@ 2021-02-22  9:08 ` Jupiter
  2021-02-22  9:08 ` [PATCH v3 3/4] Change 3: Check SARA R4 vendor ID, need to make it conditional on the actions being attach and detach Jupiter
  2021-02-22  9:08 ` [PATCH v3 4/4] Change 4: Add SARA R4 vendor and enable vendor in gprs create Jupiter
  3 siblings, 0 replies; 5+ messages in thread
From: Jupiter @ 2021-02-22  9:08 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 499 bytes --]

From: jupiter <jupiter.hce@gmail.com>

---
 drivers/atmodem/vendor.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/atmodem/vendor.h b/drivers/atmodem/vendor.h
index 82284e44..38613679 100644
--- a/drivers/atmodem/vendor.h
+++ b/drivers/atmodem/vendor.h
@@ -48,6 +48,7 @@ enum ofono_vendor {
 	OFONO_VENDOR_QUECTEL_EC2X,
 	OFONO_VENDOR_QUECTEL_SERIAL,
 	OFONO_VENDOR_UBLOX,
+    OFONO_VENDOR_UBLOX_SARA_R4,
 	OFONO_VENDOR_XMM,
 	OFONO_VENDOR_GEMALTO,
 };
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v3 3/4] Change 3: Check SARA R4 vendor ID, need to make it conditional on the actions being attach and detach
  2021-02-22  9:08 [PATCH v3 0/4] SARA R4 patches Jupiter
  2021-02-22  9:08 ` [PATCH v3 1/4] Change 1: SARA R4 QMI support Jupiter
  2021-02-22  9:08 ` [PATCH v3 2/4] Change 2: Add SARA R4 vendor ID Jupiter
@ 2021-02-22  9:08 ` Jupiter
  2021-02-22  9:08 ` [PATCH v3 4/4] Change 4: Add SARA R4 vendor and enable vendor in gprs create Jupiter
  3 siblings, 0 replies; 5+ messages in thread
From: Jupiter @ 2021-02-22  9:08 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1496 bytes --]

From: jupiter <jupiter.hce@gmail.com>

---
 drivers/qmimodem/gprs.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/qmimodem/gprs.c b/drivers/qmimodem/gprs.c
index 896a9e4c..64d90257 100644
--- a/drivers/qmimodem/gprs.c
+++ b/drivers/qmimodem/gprs.c
@@ -26,6 +26,7 @@
 #include <ofono/log.h>
 #include <ofono/modem.h>
 #include <ofono/gprs.h>
+#include <drivers/atmodem/vendor.h>
 
 #include "qmi.h"
 #include "nas.h"
@@ -35,6 +36,7 @@
 #include "qmimodem.h"
 
 struct gprs_data {
+    unsigned int vendor;
 	struct qmi_device *dev;
 	struct qmi_service *nas;
 	struct qmi_service *wds;
@@ -284,6 +286,18 @@ static void qmi_set_attached(struct ofono_gprs *gprs, int attached,
 
 	DBG("attached %d", attached);
 
+    if (data->vendor == OFONO_VENDOR_UBLOX_SARA_R4) {
+        /* This assumes neither 'attach' nor 'detach' are
+         * necessary... if 'attach' is required, then you'll
+         * need to make this section conditional on the action
+         * being 'detach'
+         */
+	    DBG("Debug vendor = OFONO_VENDOR_UBLOX_SARA_R4");
+        CALLBACK_WITH_SUCCESS(cb, cbd->data);
+        g_free(cbd);
+        return;
+    }
+    
 	if (attached)
 		action = QMI_NAS_ATTACH_ACTION_ATTACH;
 	else
@@ -406,6 +420,7 @@ static int qmi_gprs_probe(struct ofono_gprs *gprs,
 	DBG("");
 
 	data = g_new0(struct gprs_data, 1);
+    data->vendor = vendor;
 
 	ofono_gprs_set_data(gprs, data);
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v3 4/4] Change 4: Add SARA R4 vendor and enable vendor in gprs create
  2021-02-22  9:08 [PATCH v3 0/4] SARA R4 patches Jupiter
                   ` (2 preceding siblings ...)
  2021-02-22  9:08 ` [PATCH v3 3/4] Change 3: Check SARA R4 vendor ID, need to make it conditional on the actions being attach and detach Jupiter
@ 2021-02-22  9:08 ` Jupiter
  3 siblings, 0 replies; 5+ messages in thread
From: Jupiter @ 2021-02-22  9:08 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1525 bytes --]

From: jupiter <jupiter.hce@gmail.com>

---
 plugins/gobi.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/plugins/gobi.c b/plugins/gobi.c
index 9b5d7cff..5472dd83 100644
--- a/plugins/gobi.c
+++ b/plugins/gobi.c
@@ -47,6 +47,7 @@
 #include <ofono/location-reporting.h>
 #include <ofono/log.h>
 #include <ofono/message-waiting.h>
+#include <drivers/atmodem/vendor.h>
 
 #include <drivers/qmimodem/qmi.h>
 #include <drivers/qmimodem/dms.h>
@@ -496,9 +497,17 @@ static void gobi_post_online(struct ofono_modem *modem)
 	struct gobi_data *data = ofono_modem_get_data(modem);
 	struct ofono_gprs *gprs;
 	struct ofono_gprs_context *gc;
+    const char* quirk;
+    unsigned int vendor = 0;
 
 	DBG("%p", modem);
 
+    quirk = ofono_modem_get_string(modem, "Quirk");
+    if (quirk) {
+	    DBG("Debug: vendor = OFONO_VENDOR_UBLOX_SARA_R4");
+        vendor = OFONO_VENDOR_UBLOX_SARA_R4;
+    }
+
 	if (data->features & GOBI_NAS) {
 		ofono_netreg_create(modem, 0, "qmimodem", data->device);
 		ofono_netmon_create(modem, 0, "qmimodem", data->device);
@@ -508,7 +517,7 @@ static void gobi_post_online(struct ofono_modem *modem)
 		ofono_ussd_create(modem, 0, "qmimodem", data->device);
 
 	if (data->features & GOBI_WDS) {
-		gprs = ofono_gprs_create(modem, 0, "qmimodem", data->device);
+		gprs = ofono_gprs_create(modem, vendor, "qmimodem", data->device);
 		gc = ofono_gprs_context_create(modem, 0, "qmimodem",
 							data->device);
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-02-22  9:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-22  9:08 [PATCH v3 0/4] SARA R4 patches Jupiter
2021-02-22  9:08 ` [PATCH v3 1/4] Change 1: SARA R4 QMI support Jupiter
2021-02-22  9:08 ` [PATCH v3 2/4] Change 2: Add SARA R4 vendor ID Jupiter
2021-02-22  9:08 ` [PATCH v3 3/4] Change 3: Check SARA R4 vendor ID, need to make it conditional on the actions being attach and detach Jupiter
2021-02-22  9:08 ` [PATCH v3 4/4] Change 4: Add SARA R4 vendor and enable vendor in gprs create Jupiter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.