All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/4]
@ 2021-05-12  7:40 Bing Jupiter
  2021-05-12  7:40 ` [PATCH v5 1/4] Detect SARA R4 QMI device Bing Jupiter
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Bing Jupiter @ 2021-05-12  7:40 UTC (permalink / raw)
  To: ofono

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

Cleaned up comments and resubmit

Bing Jupiter (4):
  Detect SARA R4 QMI device
  Detect SARA R4 QMI device
  Detect SARA R4 QMI device
  Detect SARA R4 QMI device

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

-- 
2.25.1

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

* [PATCH v5 1/4] Detect SARA R4 QMI device
  2021-05-12  7:40 [PATCH v5 0/4] Bing Jupiter
@ 2021-05-12  7:40 ` Bing Jupiter
  2021-05-12  7:55   ` Christophe Ronco
  2021-05-12  9:17   ` Jonas Bonn
  2021-05-12  7:40 ` [PATCH v5 2/4] " Bing Jupiter
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 13+ messages in thread
From: Bing Jupiter @ 2021-05-12  7:40 UTC (permalink / raw)
  To: ofono

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

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

diff --git a/plugins/udevng.c b/plugins/udevng.c
index 34ac1cc0..46bf5532 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -1194,6 +1194,46 @@ 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 +1481,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 +1891,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.25.1

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

* [PATCH v5 2/4] Detect SARA R4 QMI device
  2021-05-12  7:40 [PATCH v5 0/4] Bing Jupiter
  2021-05-12  7:40 ` [PATCH v5 1/4] Detect SARA R4 QMI device Bing Jupiter
@ 2021-05-12  7:40 ` Bing Jupiter
  2021-05-12  9:18   ` Jonas Bonn
  2021-05-12  7:40 ` [PATCH v5 3/4] " Bing Jupiter
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 13+ messages in thread
From: Bing Jupiter @ 2021-05-12  7:40 UTC (permalink / raw)
  To: ofono

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

---
 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.25.1

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

* [PATCH v5 3/4] Detect SARA R4 QMI device
  2021-05-12  7:40 [PATCH v5 0/4] Bing Jupiter
  2021-05-12  7:40 ` [PATCH v5 1/4] Detect SARA R4 QMI device Bing Jupiter
  2021-05-12  7:40 ` [PATCH v5 2/4] " Bing Jupiter
@ 2021-05-12  7:40 ` Bing Jupiter
  2021-05-12  9:23   ` Jonas Bonn
  2021-05-12  7:40 ` [PATCH v5 4/4] " Bing Jupiter
  2021-05-12  9:17 ` [PATCH v5 0/4] Jonas Bonn
  4 siblings, 1 reply; 13+ messages in thread
From: Bing Jupiter @ 2021-05-12  7:40 UTC (permalink / raw)
  To: ofono

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

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

diff --git a/drivers/qmimodem/gprs.c b/drivers/qmimodem/gprs.c
index 896a9e4c..fa20b809 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,13 @@ static void qmi_set_attached(struct ofono_gprs *gprs, int attached,
 
 	DBG("attached %d", attached);
 
+    if (data->vendor == OFONO_VENDOR_UBLOX_SARA_R4) {
+	    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 +415,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.25.1

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

* [PATCH v5 4/4] Detect SARA R4 QMI device
  2021-05-12  7:40 [PATCH v5 0/4] Bing Jupiter
                   ` (2 preceding siblings ...)
  2021-05-12  7:40 ` [PATCH v5 3/4] " Bing Jupiter
@ 2021-05-12  7:40 ` Bing Jupiter
  2021-05-12  9:27   ` Jonas Bonn
  2021-05-12  9:17 ` [PATCH v5 0/4] Jonas Bonn
  4 siblings, 1 reply; 13+ messages in thread
From: Bing Jupiter @ 2021-05-12  7:40 UTC (permalink / raw)
  To: ofono

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

---
 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.25.1

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

* Re: [PATCH v5 1/4] Detect SARA R4 QMI device
  2021-05-12  7:40 ` [PATCH v5 1/4] Detect SARA R4 QMI device Bing Jupiter
@ 2021-05-12  7:55   ` Christophe Ronco
  2021-05-12  9:17   ` Jonas Bonn
  1 sibling, 0 replies; 13+ messages in thread
From: Christophe Ronco @ 2021-05-12  7:55 UTC (permalink / raw)
  To: ofono

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

Hello,

I didn't go through the whole patch but I think you mixed 4 spaces with
tab.

The same problem exist in your 4 patches.

Best Regards,

Christophe

On 5/12/21 9:40 AM, Bing Jupiter wrote:
> ---
>  plugins/udevng.c | 42 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 42 insertions(+)
>
> diff --git a/plugins/udevng.c b/plugins/udevng.c
> index 34ac1cc0..46bf5532 100644
> --- a/plugins/udevng.c
> +++ b/plugins/udevng.c
> @@ -1194,6 +1194,46 @@ 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");
Here
> +
> +
> +	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 +1481,7 @@ static struct {
>  	{ "quectel",	setup_quectel	},
>  	{ "quectelqmi",	setup_quectelqmi},
>  	{ "ublox",	setup_ublox	},
> +    { "ubloxqmi",   setup_ubloxqmi  },
Here
>  	{ "gemalto",	setup_gemalto	},
>  	{ "xmm7xxx",	setup_xmm7xxx	},
>  	{ "mbim",	setup_mbim	},
> @@ -1850,6 +1891,7 @@ static struct {
>  	{ "ublox",	"cdc_ncm",	"1546", "110a"	},
>  	{ "ublox",	"rndis_host",	"1546", "1146"	},
>  	{ "ublox",	"cdc_acm",	"1546", "1146"	},
> +    { "ubloxqmi",   "qmi_wwan", "05c6", "90b2"  },
Here
>  	{ "gemalto",	"option",	"1e2d",	"0053"	},
>  	{ "gemalto",	"cdc_wdm",	"1e2d",	"0053"	},
>  	{ "gemalto",	"qmi_wwan",	"1e2d",	"0053"	},

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

* Re: [PATCH v5 0/4]
  2021-05-12  7:40 [PATCH v5 0/4] Bing Jupiter
                   ` (3 preceding siblings ...)
  2021-05-12  7:40 ` [PATCH v5 4/4] " Bing Jupiter
@ 2021-05-12  9:17 ` Jonas Bonn
  2021-05-14 17:00   ` Denis Kenzior
  4 siblings, 1 reply; 13+ messages in thread
From: Jonas Bonn @ 2021-05-12  9:17 UTC (permalink / raw)
  To: ofono

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

Hi Denis,

If we're going to get anywhere with this, the onus probably falls on you 
to do some cleanup work on these patches.  I'll write some comments on 
the patches and maybe you can munge those into the commit messages...?

Bing Jupiter has been running this modem (uBlox SARA R4) for well over a 
year with these patches so they are somewhat tested.  That said, this 
modem isn't without issues, but it appears to me that those are mostly 
firmware related at this point.  Yeah, not great advertising for the 
product; probably best to stay away from it altogether, really...

/Jonas

On 12/05/2021 09:40, Bing Jupiter wrote:
> Cleaned up comments and resubmit
> 
> Bing Jupiter (4):
>    Detect SARA R4 QMI device
>    Detect SARA R4 QMI device
>    Detect SARA R4 QMI device
>    Detect SARA R4 QMI device
> 
>   drivers/atmodem/vendor.h |  1 +
>   drivers/qmimodem/gprs.c  | 10 ++++++++++
>   plugins/gobi.c           | 11 ++++++++++-
>   plugins/udevng.c         | 42 ++++++++++++++++++++++++++++++++++++++++
>   4 files changed, 63 insertions(+), 1 deletion(-)
> 

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

* Re: [PATCH v5 1/4] Detect SARA R4 QMI device
  2021-05-12  7:40 ` [PATCH v5 1/4] Detect SARA R4 QMI device Bing Jupiter
  2021-05-12  7:55   ` Christophe Ronco
@ 2021-05-12  9:17   ` Jonas Bonn
  1 sibling, 0 replies; 13+ messages in thread
From: Jonas Bonn @ 2021-05-12  9:17 UTC (permalink / raw)
  To: ofono

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

Hi Denis,

On 12/05/2021 09:40, Bing Jupiter wrote:

A comment along these lines might be appropriate:

Unlike other uBlox, the SARA R4 is actually a Qualcomm part and supports 
the QMI protocol mostly as implemented in ofono.  The AT command set for 
this modem does not correspond to that used by other uBlox modems; 
furthermore, it is quirky to a degree that it doesn't really play well 
with ofono.

This patch adds support for the uBlox SARA R4 modem as a QMI device.

/Jonas


> ---
>   plugins/udevng.c | 42 ++++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 42 insertions(+)
> 
> diff --git a/plugins/udevng.c b/plugins/udevng.c
> index 34ac1cc0..46bf5532 100644
> --- a/plugins/udevng.c
> +++ b/plugins/udevng.c
> @@ -1194,6 +1194,46 @@ 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 +1481,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 +1891,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"	},
> 

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

* Re: [PATCH v5 2/4] Detect SARA R4 QMI device
  2021-05-12  7:40 ` [PATCH v5 2/4] " Bing Jupiter
@ 2021-05-12  9:18   ` Jonas Bonn
  0 siblings, 0 replies; 13+ messages in thread
From: Jonas Bonn @ 2021-05-12  9:18 UTC (permalink / raw)
  To: ofono

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

Add vendor tag for uBlox SARA R4 modems.

This device is actually a Qualcomm part so it doesn't fall under the 
uBlox category of devices, at all.

/Jonas

On 12/05/2021 09:40, Bing Jupiter wrote:
> ---
>   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,
>   };
> 

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

* Re: [PATCH v5 3/4] Detect SARA R4 QMI device
  2021-05-12  7:40 ` [PATCH v5 3/4] " Bing Jupiter
@ 2021-05-12  9:23   ` Jonas Bonn
  0 siblings, 0 replies; 13+ messages in thread
From: Jonas Bonn @ 2021-05-12  9:23 UTC (permalink / raw)
  To: ofono

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

The SARA R4 modem detaches permanently from the network when the NAS 
Detach action is called.  This is problematic because ofono calls Detach 
when network connectivity is temporarily lost resulting in the modem 
never attempting to reattach again when the network once again becomes 
available.

In testing it was discovered, that the call to Attach doesn't appear to 
be required either.

This patch adds a quirk to the QMI GPRS atom to not call the NAS 
attach/detach actions for the uBlox SARA R4 device.

This has been tested on several SARA R4 devices that are running in 
long-term connectivity tests.  With this patch, the modem reconnects as 
the network comes and goes; without the patch, the modem goes idle the 
first time network connectivity is lost.

/Jonas

On 12/05/2021 09:40, Bing Jupiter wrote:
> ---
>   drivers/qmimodem/gprs.c | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/qmimodem/gprs.c b/drivers/qmimodem/gprs.c
> index 896a9e4c..fa20b809 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,13 @@ static void qmi_set_attached(struct ofono_gprs *gprs, int attached,
>   
>   	DBG("attached %d", attached);
>   
> +    if (data->vendor == OFONO_VENDOR_UBLOX_SARA_R4) {
> +	    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 +415,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);
>   
> 

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

* Re: [PATCH v5 4/4] Detect SARA R4 QMI device
  2021-05-12  7:40 ` [PATCH v5 4/4] " Bing Jupiter
@ 2021-05-12  9:27   ` Jonas Bonn
  2021-08-19  5:56     ` Jupiter
  0 siblings, 1 reply; 13+ messages in thread
From: Jonas Bonn @ 2021-05-12  9:27 UTC (permalink / raw)
  To: ofono

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

Hi Denis,

This patch is fine, with one little fix below.

Patch message:

All QMI devices are currently piggy-backing on the 'gobi' driver to set 
up the QMI atoms.  For the SARA R4, this works with the addition of a quirk.

This patch adds the handling of a SARA R4 quirk to the 'gobi' driver.

On 12/05/2021 09:40, Bing Jupiter wrote:
> ---
>   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) {

Probably should have done:

if (quirk && !strcmp(quirk, "SARAR4")) {

/Jonas


> +	    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);
>   
> 

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

* Re: [PATCH v5 0/4]
  2021-05-12  9:17 ` [PATCH v5 0/4] Jonas Bonn
@ 2021-05-14 17:00   ` Denis Kenzior
  0 siblings, 0 replies; 13+ messages in thread
From: Denis Kenzior @ 2021-05-14 17:00 UTC (permalink / raw)
  To: ofono

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

Hi Jonas,

On 5/12/21 4:17 AM, Jonas Bonn wrote:
> Hi Denis,
> 
> If we're going to get anywhere with this, the onus probably falls on you to do 
> some cleanup work on these patches.  I'll write some comments on the patches and 
> maybe you can munge those into the commit messages...?

What now? ;)

Anyway, I am not taking this set since all patches seem to be whitespace damaged 
and this needs cleanup anyway.

> 
> Bing Jupiter has been running this modem (uBlox SARA R4) for well over a year 
> with these patches so they are somewhat tested.  That said, this modem isn't 
> without issues, but it appears to me that those are mostly firmware related at 
> this point.  Yeah, not great advertising for the product; probably best to stay 
> away from it altogether, really...

This is driver code, so unless there's something obviously wrong I'm fine taking 
it.  But it should at least comply with doc/coding-style.txt and someone should 
have ran checkpatch.pl against it to check for issues.

Given that a v6 is needed, do you want to work with Jupiter to make the 
editorial changes to the commit descriptions?

Regards,
-Denis

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

* Re: [PATCH v5 4/4] Detect SARA R4 QMI device
  2021-05-12  9:27   ` Jonas Bonn
@ 2021-08-19  5:56     ` Jupiter
  0 siblings, 0 replies; 13+ messages in thread
From: Jupiter @ 2021-08-19  5:56 UTC (permalink / raw)
  To: ofono

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

Hi Denis,

Any chance that patch can be processed?

Thank you very much.

Kind regards,

Jupiter


On 5/12/21, Jonas Bonn <jonas@norrbonn.se> wrote:
> Hi Denis,
>
> This patch is fine, with one little fix below.
>
> Patch message:
>
> All QMI devices are currently piggy-backing on the 'gobi' driver to set
> up the QMI atoms.  For the SARA R4, this works with the addition of a
> quirk.

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

end of thread, other threads:[~2021-08-19  5:56 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-12  7:40 [PATCH v5 0/4] Bing Jupiter
2021-05-12  7:40 ` [PATCH v5 1/4] Detect SARA R4 QMI device Bing Jupiter
2021-05-12  7:55   ` Christophe Ronco
2021-05-12  9:17   ` Jonas Bonn
2021-05-12  7:40 ` [PATCH v5 2/4] " Bing Jupiter
2021-05-12  9:18   ` Jonas Bonn
2021-05-12  7:40 ` [PATCH v5 3/4] " Bing Jupiter
2021-05-12  9:23   ` Jonas Bonn
2021-05-12  7:40 ` [PATCH v5 4/4] " Bing Jupiter
2021-05-12  9:27   ` Jonas Bonn
2021-08-19  5:56     ` Jupiter
2021-05-12  9:17 ` [PATCH v5 0/4] Jonas Bonn
2021-05-14 17:00   ` Denis Kenzior

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.