Can oFono support SIM COM A7672SA or SIM7600SA?

2022-03-28 Thread Jupiter
Hi,

Marcel added SIM COM modems and setup_simcom many years ago,
appreciate your advice if oFono can support A7672SA or SIM7600SA QMI
data or not.

Thank you very much.

Kind regards,

jupiter
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


Quectel 4G LTE QMI data modem

2022-03-14 Thread Jupiter
Thanks Sergei , EC200T is for Cat 4 where I am looking for Cat 1.

Has anyone known if oFono supports Quectel EG91 QMI data?

Thank you very much.

Kind regards,

- jupiter

On 3/12/22, Sergei Golubtsov  wrote:
> Hi Jupiter,
>
> I work with EC200T. It works fine with Ofono and is pretty stable. QMI is
> not used nor tested. I have never worked with EC200U.
>
> Yours sincerely,
> Sergei Golubtsov
>
>
> On Fri, Mar 11, 2022 at 10:41 PM Jupiter  wrote:
>
>> Hi Sergei,
>>
>> You added Quectel EC200 USB modem last year, does EC200U work with QMI
>> and AT in oFono? How stable is the EC200U? Are there any issues?
>>
>> Apologize for asking you so many questions.
>>
>> Thank you very much.
>>
>> Kind regards,
>>
>> Jupiter
>>
>


--
"A man can fail many times, but he isn't a failure until he begins to
blame somebody else."
-- John Burroughs
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


EC200U modem

2022-03-11 Thread Jupiter
Hi Sergei,

You added Quectel EC200 USB modem last year, does EC200U work with QMI
and AT in oFono? How stable is the EC200U? Are there any issues?

Apologize for asking you so many questions.

Thank you very much.

Kind regards,

Jupiter
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


Re: Upgrade to version 1.32 broken 4G LTE connection

2021-11-24 Thread Jupiter
Hi,

Could anyone advise why the dbus worked fine in 1.30 but it is no
longer working in 1.32? Are there any changes in API?

# dbus-send --system --print-reply --dest=org.ofono /
org.ofono.Manager.GetModems
method return time=1628092736.610971 sender=:1.269 ->
destination=:1.278 serial=7 reply_serial=2
   array [
   ]

It is wired. I can run AT command to find that the modem is connected
and assigned an IP address, but I think that dbus is broken, and ofono
won't be able to provide LTE connection to connman.
Thank you.

- JH


On 11/24/21, Jupiter  wrote:
> Hi,
>
> I built ofono version 1.30 in Zeus, it worked well for connecting to
> 4G LTE. I've just updated to Honister, the ofono version is now 1.32,
> it completely broken, no wwan0 interface:
>
> # ifconfig
> loLink encap:Local Loopback
>   inet addr:127.0.0.1  Mask:255.0.0.0
>   UP LOOPBACK RUNNING  MTU:65536  Metric:1
>   RX packets:1540 errors:0 dropped:0 overruns:0 frame:0
>   TX packets:1540 errors:0 dropped:0 overruns:0 carrier:0
>   collisions:0 txqueuelen:1000
>   RX bytes:98308 (96.0 KiB)  TX bytes:98308 (96.0 KiB)
>
>
> I tried dbus command:
>
> # dbus-send --system --print-reply --dest=org.ofono /
> org.ofono.Manager.GetModems
> method return time=1628090432.089231 sender=:1.63 -> destination=:1.68
> serial=7 reply_serial=2
>array [
>   ]
>
> # journalctl -u ofono
> -- Journal begins at Wed 2021-08-04 15:10:56 UTC, ends at Wed
> 2021-08-04 15:27:35 UTC. --
> Aug 04 15:11:17 solar systemd[1]: Starting Telephony service...
> Aug 04 15:11:18 solar ofonod[179]: oFono version 1.32
> Aug 04 15:11:18 solar systemd[1]: Started Telephony service.
> Aug 04 15:12:39 solar ofonod[179]: Terminating
> Aug 04 15:12:39 solar ofonod[179]: Exit
> Aug 04 15:12:39 solar systemd[1]: Stopping Telephony service...
> Aug 04 15:12:39 solar systemd[1]: ofono.service: Deactivated successfully.
> Aug 04 15:12:39 solar systemd[1]: Stopped Telephony service.
> Aug 04 15:12:39 solar systemd[1]: Starting Telephony service...
> Aug 04 15:12:40 solar ofonod[1671]: oFono version 1.32
> Aug 04 15:12:40 solar systemd[1]: Started Telephony service.
> Aug 04 15:13:39 solar ofonod[1671]: Terminating
> Aug 04 15:13:39 solar ofonod[1671]: Exit
>
> But ofono seems running well:
>
> # systemctl status ofono -l
> * ofono.service - Telephony service
>  Loaded: loaded
> (8;;file://solar/lib/systemd/system/ofono.service/lib/systemd/system/ofono.service8;;;
> enabled; vendor preset: enabled)
>  Active: active (running) since Wed 2021-08-04 15:28:35 UTC; 33s ago
>Main PID: 9226 (ofonod)
>  CGroup: /system.slice/ofono.service
>  `-9226 /usr/sbin/ofonod -n
>
> Aug 04 15:28:34 solar systemd[1]: Starting Telephony service...
> Aug 04 15:28:35 solar ofonod[9226]: oFono version 1.32
> Aug 04 15:28:35 solar systemd[1]: Started Telephony service.
>
> I tried to run the AT command on the 4G LTE modem, I could see the
> modem was connected well with the IP address.
>
> Are you aware of any issues in ofono version 1.32? Or are there any
> changes or dbus APIs since ofono 1.30?
>
> Thank you.
>
> Kind regards,
>
> - JH
>


--
"A man can fail many times, but he isn't a failure until he begins to
blame somebody else."
-- John Burroughs
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


Upgrade to version 1.32 broken 4G LTE connection

2021-11-23 Thread Jupiter
Hi,

I built ofono version 1.30 in Zeus, it worked well for connecting to
4G LTE. I've just updated to Honister, the ofono version is now 1.32,
it completely broken, no wwan0 interface:

# ifconfig
loLink encap:Local Loopback
  inet addr:127.0.0.1  Mask:255.0.0.0
  UP LOOPBACK RUNNING  MTU:65536  Metric:1
  RX packets:1540 errors:0 dropped:0 overruns:0 frame:0
  TX packets:1540 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000
  RX bytes:98308 (96.0 KiB)  TX bytes:98308 (96.0 KiB)


I tried dbus command:

# dbus-send --system --print-reply --dest=org.ofono /
org.ofono.Manager.GetModems
method return time=1628090432.089231 sender=:1.63 -> destination=:1.68
serial=7 reply_serial=2
   array [
  ]

# journalctl -u ofono
-- Journal begins at Wed 2021-08-04 15:10:56 UTC, ends at Wed
2021-08-04 15:27:35 UTC. --
Aug 04 15:11:17 solar systemd[1]: Starting Telephony service...
Aug 04 15:11:18 solar ofonod[179]: oFono version 1.32
Aug 04 15:11:18 solar systemd[1]: Started Telephony service.
Aug 04 15:12:39 solar ofonod[179]: Terminating
Aug 04 15:12:39 solar ofonod[179]: Exit
Aug 04 15:12:39 solar systemd[1]: Stopping Telephony service...
Aug 04 15:12:39 solar systemd[1]: ofono.service: Deactivated successfully.
Aug 04 15:12:39 solar systemd[1]: Stopped Telephony service.
Aug 04 15:12:39 solar systemd[1]: Starting Telephony service...
Aug 04 15:12:40 solar ofonod[1671]: oFono version 1.32
Aug 04 15:12:40 solar systemd[1]: Started Telephony service.
Aug 04 15:13:39 solar ofonod[1671]: Terminating
Aug 04 15:13:39 solar ofonod[1671]: Exit

But ofono seems running well:

# systemctl status ofono -l
* ofono.service - Telephony service
 Loaded: loaded
(8;;file://solar/lib/systemd/system/ofono.service/lib/systemd/system/ofono.service8;;;
enabled; vendor preset: enabled)
 Active: active (running) since Wed 2021-08-04 15:28:35 UTC; 33s ago
   Main PID: 9226 (ofonod)
 CGroup: /system.slice/ofono.service
 `-9226 /usr/sbin/ofonod -n

Aug 04 15:28:34 solar systemd[1]: Starting Telephony service...
Aug 04 15:28:35 solar ofonod[9226]: oFono version 1.32
Aug 04 15:28:35 solar systemd[1]: Started Telephony service.

I tried to run the AT command on the 4G LTE modem, I could see the
modem was connected well with the IP address.

Are you aware of any issues in ofono version 1.32? Or are there any
changes or dbus APIs since ofono 1.30?

Thank you.

Kind regards,

- JH
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


Support eSIM

2021-10-24 Thread Jupiter
Hi,

I am looking to use eSIM which is able to change carriers remotely,
does the eSIM need to be supported in oFono or is that irreverent in
oFono?

Does anyone know which vendor is selling eSIM SoC?

Thank you.

Kind regards,

- jupiter
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


oFono Version 1.31 ofonod crash

2021-08-20 Thread Jupiter
Hi,

I build ofono v1.31 from git://git.yoctoproject.org/poky branch hardknott,

$ cat meta/recipes-connectivity/ofono/ofono_1.31.bb

SUMMARY = "open source telephony"
DESCRIPTION = "oFono is a stack for mobile telephony devices on Linux.
oFono supports speaking to telephony devices through specific drivers,
or with generic AT commands."
HOMEPAGE = "http://www.ofono.org;
BUGTRACKER = "https://01.org/jira/browse/OF;
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \

file://src/ofono.h;beginline=1;endline=20;md5=3ce17d5978ef3445def265b98899c2ee"
DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info ell"

SRC_URI = "\
${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
file://ofono \
file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \
"
SRC_URI[md5sum] = "1c26340e3c6ed132cc812595081bb3dc"
SRC_URI[sha256sum] =
"a15c5d28096c10eb30e47a68b6dc2e7c4a5a99d7f4cfedf0b69624f33d859e9b"

inherit autotools pkgconfig update-rc.d systemd gobject-introspection-data

INITSCRIPT_NAME = "ofono"
INITSCRIPT_PARAMS = "defaults 22"
SYSTEMD_SERVICE_${PN} = "ofono.service"

PACKAGECONFIG ??= "\
${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
"
PACKAGECONFIG[systemd] =
"--with-systemdunitdir=${systemd_unitdir}/system/,--with-systemdunitdir="
PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5"

EXTRA_OECONF += "--enable-test --enable-external-ell"

do_install_append() {
  install -d ${D}${sysconfdir}/init.d/
  install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono
}

PACKAGES =+ "${PN}-tests"

FILES_${PN} += "${systemd_unitdir}"
FILES_${PN}-tests = "${libdir}/${BPN}/test"

RDEPENDS_${PN} += "dbus"
RDEPENDS_${PN}-tests = "\
python3-core \
python3-dbus \
${@bb.utils.contains('GI_DATA_ENABLED', 'True',
'python3-pygobject', '', d)} \
"

RRECOMMENDS_${PN} += "kernel-module-tun mobile-broadband-provider-info"

The build was fine, but running the v1.31 ofono.service crashed at
udevng.c missing OFONO_DRIVER property, the ofono.service was repeated
to be restarted every 6 seconds:

.

ofonod[9005]: ../ofono-1.31/plugins/udevng.c:add_serial_device()
Device is missing required OFONO_DRIVER property
ofonod[9005]: ../ofono-1.31/plugins/udevng.c:add_serial_device()
Device is missing required OFONO_DRIVER property
..

I am not quite sure if it is ofono 1.31 problem or oe-core
ofono_1.31.bb problem, could anyone have a look at and advise? Let me
know if you need more debug information.

Thank you.

Kind regards,

- jupiter


On 8/20/21, Jupiter  wrote:
> Hi,
>
> I upgraded from Zeus to Hardknotte, I was able to run dbus to get
> interface properties, but I failed on Hardknotte ofono 1.31. Has
> anyone got oFono 1.31 dbus work?
>
> Thank you.
>
> Kind regards,
>
> - jupiter
>
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


Failed dbus on Hardknott oFono 1.31

2021-08-20 Thread Jupiter
Hi,

I upgraded from Zeus to Hardknotte, I was able to run dbus to get
interface properties, but I failed on Hardknotte ofono 1.31. Has
anyone got oFono 1.31 dbus work?

Thank you.

Kind regards,

- jupiter
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


Re: [PATCH v5 4/4] Detect SARA R4 QMI device

2021-08-18 Thread Jupiter
Hi Denis,

Any chance that patch can be processed?

Thank you very much.

Kind regards,

Jupiter


On 5/12/21, Jonas Bonn  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.
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v5 1/4] Detect SARA R4 QMI device

2021-05-12 Thread Bing Jupiter
---
 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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v5 2/4] Detect SARA R4 QMI device

2021-05-12 Thread Bing Jupiter
---
 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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v5 4/4] Detect SARA R4 QMI device

2021-05-12 Thread Bing Jupiter
---
 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 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v5 3/4] Detect SARA R4 QMI device

2021-05-12 Thread Bing Jupiter
---
 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 
 #include 
 #include 
+#include 
 
 #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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v5 0/4]

2021-05-12 Thread Bing Jupiter
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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v2 3/4] Add SARA R4 vendor ID

2021-02-24 Thread Bing Jupiter
---
 drivers/atmodem/vendor.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/atmodem/vendor.h b/drivers/atmodem/vendor.h
index 82284e44..db9fa263 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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v2 1/4] SARA R4 QMI support

2021-02-24 Thread Bing Jupiter
---
 plugins/udevng.c | 41 +
 1 file changed, 41 insertions(+)

diff --git a/plugins/udevng.c b/plugins/udevng.c
index 34ac1cc0..9941145f 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.25.1
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v2 4/4] Make SARA R4 vendor ID conditional being attach and detach

2021-02-24 Thread Bing Jupiter
---
 drivers/qmimodem/gprs.c | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/drivers/qmimodem/gprs.c b/drivers/qmimodem/gprs.c
index 896a9e4c..90203dd3 100644
--- a/drivers/qmimodem/gprs.c
+++ b/drivers/qmimodem/gprs.c
@@ -26,6 +26,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #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.25.1
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v2 2/4] Enable SARA R4 vendor ID for gprs create

2021-02-24 Thread Bing Jupiter
---
 plugins/gobi.c | 11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/plugins/gobi.c b/plugins/gobi.c
index 9b5d7cff..3ca739d6 100644
--- a/plugins/gobi.c
+++ b/plugins/gobi.c
@@ -47,6 +47,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v2 0/4] oFono uBlox SARA R4 QMI

2021-02-24 Thread Bing Jupiter
Hi Denis,

Hope it can be accepted.

Thank you.

Kind regards,

- Jupiter

Bing Jupiter (4):
  SARA R4 QMI support
  Enable SARA R4 vendor ID for gprs create
  Add SARA R4 vendor ID
  Make SARA R4 vendor ID conditional being attach and detach

 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.25.1
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v1 5/5] Use tabs as Denis required

2021-02-22 Thread Bing Jupiter
From: Jupiter 

---
 drivers/atmodem/vendor.h |  2 +-
 drivers/qmimodem/gprs.c  | 26 +-
 plugins/gobi.c   | 14 +++---
 plugins/udevng.c |  6 +++---
 4 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/drivers/atmodem/vendor.h b/drivers/atmodem/vendor.h
index 38613679..db9fa263 100644
--- a/drivers/atmodem/vendor.h
+++ b/drivers/atmodem/vendor.h
@@ -48,7 +48,7 @@ enum ofono_vendor {
OFONO_VENDOR_QUECTEL_EC2X,
OFONO_VENDOR_QUECTEL_SERIAL,
OFONO_VENDOR_UBLOX,
-OFONO_VENDOR_UBLOX_SARA_R4,
+   OFONO_VENDOR_UBLOX_SARA_R4,
OFONO_VENDOR_XMM,
OFONO_VENDOR_GEMALTO,
 };
diff --git a/drivers/qmimodem/gprs.c b/drivers/qmimodem/gprs.c
index 64d90257..90203dd3 100644
--- a/drivers/qmimodem/gprs.c
+++ b/drivers/qmimodem/gprs.c
@@ -36,7 +36,7 @@
 #include "qmimodem.h"
 
 struct gprs_data {
-unsigned int vendor;
+   unsigned int vendor;
struct qmi_device *dev;
struct qmi_service *nas;
struct qmi_service *wds;
@@ -286,17 +286,17 @@ 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 (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;
@@ -420,7 +420,7 @@ static int qmi_gprs_probe(struct ofono_gprs *gprs,
DBG("");
 
data = g_new0(struct gprs_data, 1);
-data->vendor = vendor;
+   data->vendor = vendor;
 
ofono_gprs_set_data(gprs, data);
 
diff --git a/plugins/gobi.c b/plugins/gobi.c
index 5472dd83..3ca739d6 100644
--- a/plugins/gobi.c
+++ b/plugins/gobi.c
@@ -497,16 +497,16 @@ 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;
+   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;
-}
+   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);
diff --git a/plugins/udevng.c b/plugins/udevng.c
index 63d95055..9941145f 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -1224,7 +1224,7 @@ 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_string(modem->modem, "Quirk", "SARAR4");
 
DBG("gps=%s aux=%s", gps, aux);
 
@@ -1480,7 +1480,7 @@ static struct {
{ "quectel",setup_quectel   },
{ "quectelqmi", setup_quectelqmi},
{ "ublox",  setup_ublox },
-{ "ubloxqmi",   setup_ubloxqmi  },
+   { "ubloxqmi",   setup_ubloxqmi  },
{ "gemalto",setup_gemalto   },
{ "xmm7xxx",setup_xmm7xxx   },
{ "mbim",   setup_mbim  },
@@ -1890,7 +1890,7 @@ static struct {
{ "ublox",  "cdc_ncm",  "1546", "110a"  },
{ "ublox",  "rndis_host",   "1546", "1146"  },
{ "ublox",  "cdc_acm",  "1546", "1146"  },
-{ "ubloxqmi",   "qmi_wwan", "05c6", "90b2"  },
+   { "ubloxqmi",   "qmi_wwan", "05c6", "90b2"  },
{ "gemalto","option",   "1e2d", "0053"  },
{ "gemalto","cdc_wdm",  "1e2d", "0053"  },
{ "gemalto","qmi_wwan", "1e2d", "0053"  },
-- 
2.25.1
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v1 0/5] oFono uBlox SARA R4 QMI support

2021-02-22 Thread Bing Jupiter
Hi Denis,

Fixed taps,hope it satisfies your requirements.

Thank you.

Jupiter (1):
  Use tabs as Denis required

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.25.1
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v1 3/5] Change 3: Check SARA R4 vendor ID, need to make it conditional on the actions being attach and detach

2021-02-22 Thread Bing Jupiter
From: jupiter 

---
 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 
 #include 
 #include 
+#include 
 
 #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.25.1
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v1 2/5] Change 2: Add SARA R4 vendor ID

2021-02-22 Thread Bing Jupiter
From: jupiter 

---
 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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v1 4/5] Change 4: Add SARA R4 vendor and enable vendor in gprs create

2021-02-22 Thread Bing Jupiter
From: jupiter 

---
 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 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v1 1/5] Change 1: SARA R4 QMI support

2021-02-22 Thread Bing Jupiter
From: jupiter 

---
 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.25.1
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH 4/4] Add SARA R4 vendor and enable vendor in gprs create

2021-02-22 Thread Jupiter
From: jupiter 

---
 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 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH 3/4] Check SARA R4 vendor ID, need to make it conditional on the actions being attach and detach

2021-02-22 Thread Jupiter
From: jupiter 

---
 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 
 #include 
 #include 
+#include 
 
 #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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH 2/4] Add SARA R4 vendor ID

2021-02-22 Thread Jupiter
From: jupiter 

---
 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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH 0/4] SARA R4 patches

2021-02-22 Thread Jupiter
From: jupiter 

Resubmit to write proper messages.

jupiter (4):
  SARA R4 QMI support based on uBlox model vendor ID
  Add OFONO_VENDOR_UBLOX_SARA_R4 
  Check SARA R4 vendor ID, need to make it conditional on the actions being 
attach and detach
  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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH 1/4] SARA R4 QMI support

2021-02-22 Thread Jupiter
From: jupiter 

---
 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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[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 Thread Jupiter
From: jupiter 

---
 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 
 #include 
 #include 
+#include 
 
 #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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v3 4/4] Change 4: Add SARA R4 vendor and enable vendor in gprs create

2021-02-22 Thread Jupiter
From: jupiter 

---
 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 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v3 0/4] SARA R4 patches

2021-02-22 Thread Jupiter
From: jupiter 

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, "0x") == 0) &&
+   (g_strcmp0(modem->model, "0x") == 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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v3 2/4] Change 2: Add SARA R4 vendor ID

2021-02-22 Thread Jupiter
From: jupiter 

---
 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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


[PATCH v3 1/4] Change 1: SARA R4 QMI support

2021-02-22 Thread Jupiter
From: jupiter 

---
 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
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


Re: Failed to reconnect after 4G LTE signaling strength level is back

2020-12-01 Thread Jupiter
Hi Christophe,

Thanks for the response.

> I agree with Jonas to say that all the magic is in ss_info_notify. At least 
> that's the case outside LTE, I don't know a lot about LTE specificities.

Any idea how to modify the source to get ss_info_notify running in
qmimodem The question is how to do it? Adding
qmi_service_register(data->nas, QMI_NAS_SS_INFO_IND, ss_info_notify,
netreg, NULL); to ss_info_notify network-registration.c just not
working.

> When you restart Ofono, radio stack of the modem will be reset
> (something like AT+CFUN=4, AT+CFUN=0 happens), that's why a new data
> registration process occurs.

You are right, restarting ofono is to reset modem, I can also run SARA
modem power reset via GPIO to bring the register back as well.

> I don't know if you have access to an AT channel or another QMI channel
> on your modem while Ofono is running. If this is the case, you could ask
> for registration status while ofono is running using AT commands or
> using qmicli. Let me know if you can do that and don't know the commands
> to do it.

Yes, there are two ports, /dev/ttyUSB0 is for QMI control,
/dev/ttyUSB1 is for AT, QMI modem does not use it. Yes, I can run AT
commands manually in the command line to get responses from
/dev/ttyUSB1.

Thank you.

Kind regards,

- j
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


Re: Failed to reconnect after 4G LTE signaling strength level is back

2020-11-29 Thread Jupiter
Hi Jonas,

> Looking at the log, it sure does seem like the modem just stops sending
> network status indications.  What happens if you re-assert interest in
> these notifications regularly... something like this?
>
> --- a/drivers/qmimodem/network-registration.c
> +++ b/drivers/qmimodem/network-registration.c
> @@ -211,6 +211,9 @@ static void ss_info_notify(struct qmi_result
> *result, void *user_data)
>  return;
>
>  status = remember_ss_info(data, status, lac, cellid, roaming);
> +
> +   qmi_service_register(data->nas, QMI_NAS_SS_INFO_IND,
> +   ss_info_notify, netreg, NULL);
>
>  ofono_netreg_status_notify(netreg, status, data->lac,
> data->cellid,
>
>   tech);

I made a patch to add qmi_service_register(data->nas,
QMI_NAS_SS_INFO_IND, ss_info_notify, netreg, NULL);, it broken ofono
completely, even I removed the patch, it could still not get ofono
back until I delete the whole build and rebuild it.

# systemctl status ofono
* ofono.service - Telephony service
   Loaded: loaded
(8;;file://solar/lib/systemd/system/ofono.service/lib/systemd/system/ofono.service8;;;
enabled; vendor preset: enabled)
   Active: failed (Result: timeout) since Mon 2020-11-30 01:03:02 UTC; 33min ago
  Process: 153 ExecStart=/usr/sbin/ofonod -n (code=killed, signal=KILL)
 Main PID: 153 (code=killed, signal=KILL)

Nov 30 00:59:53 solar systemd[1]: Starting Telephony service...
Nov 30 00:59:55 solar ofonod[153]: oFono version 1.30
Nov 30 00:59:56 solar systemd[1]: Started Telephony service.
Nov 30 01:00:05 solar ofonod[153]: Interface org.ofono.AllowedAccessPoint...list
Nov 30 01:01:32 solar systemd[1]: Stopping Telephony service...
Nov 30 01:03:02 solar systemd[1]: ofono.service: State 'stop-sigterm' tim...ing.
Nov 30 01:03:02 solar systemd[1]: ofono.service: Killing process 153 (ofo...ILL.
Nov 30 01:03:02 solar systemd[1]: ofono.service: Main process exited, cod...KILL
Nov 30 01:03:02 solar systemd[1]: ofono.service: Failed with result 'timeout'.
Nov 30 01:03:02 solar systemd[1]: Stopped Telephony service.
Hint: Some lines were ellipsized, use -l to show in full.

The debug file is attached, but it was stuck at driver failure.

Thank you very much.

Kind regards,

- jupiter
root@solar:~# ofonod -d -n
ofonod[21984]: oFono version 1.30
ofonod[21984]: ../ofono-1.30/src/plugin.c:__ofono_plugin_init() 
ofonod[21984]: ../ofono-1.30/src/gprs-provision.c:ofono_gprs_provision_driver_re
gister() driver: 0x10ac64 name: GPRS context provisioning
ofonod[21984]: ../ofono-1.30/plugins/push-notification.c:push_notification_init(
) 
ofonod[21984]: ../ofono-1.30/plugins/smart-messaging.c:smart_messaging_init() 
ofonod[21984]: ../ofono-1.30/src/cdma-provision.c:ofono_cdma_provision_driver_re
gister() driver: 0x10ac38 name: CDMA provisioning
ofonod[21984]: ../ofono-1.30/src/gprs-provision.c:ofono_gprs_provision_driver_re
gister() driver: 0x10ac0c name: Provisioning
ofonod[21984]: ../ofono-1.30/plugins/xmm7xxx.c:xmm7xxx_init() 
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10abb4, name: xmm7xxx
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10ab64, name: ublox
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10aaec, name: quectel
ofonod[21984]: ../ofono-1.30/plugins/telit.c:telit_init() 
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10aa9c, name: telit
ofonod[21984]: ../ofono-1.30/plugins/connman.c:connman_init() 
ofonod[21984]: ../ofono-1.30/src/private-network.c:ofono_private_network_driver_
register() driver: 0x10aa70, name: ConnMan Private Network
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10aa28, name: sim7100
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10a9e0, name: sim900
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10a998, name: samsung
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10a950, name: speedupcdma
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10a900, name: speedup
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10a8b8, name: alcatel
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10a860, name: icera
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10a818, name: linktop
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10a7d0, name: nokiacdma
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10a788, name: nokia
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register() driver: 0
x10a730, name: gemalto
ofonod[21984]: ../ofono-1.30/src/modem.c:ofono_modem_driver_register(

Re: Broken ofono 4G LTE network

2020-11-29 Thread Jupiter
My apology, please ignore it, seems that there were build issues,
clear up the whole build directory, fixed the problem.

Sorry about it.

Thank you.

Kind regards,

- j

On 11/29/20, Jupiter  wrote:
> Hi,
>
> While I was playing with ofono source code qmitmodem to debug LTE
> re-register issue (in my another email), for some reason, it broken
> ofono, there was not network IP address, I ran the AT manually in
> command line, I can see the LTE modem is connected to the carrier, but
> ofono could not talk to modem, there is no IP address. I reversed the
> source code to remove changes, cleared the build, and rebuild the
> image, but it is still broken, no IP, tried following command, it was
> an empty string:
>
> # dbus-send --system --print-reply --dest=org.ofono /
> org.ofono.Manager.GetModems
>
> method return time=1606601259.667554 sender=:1.2 -> destination=:1.121
> serial=12
> 0 reply_serial=2
>array [
>]
>
> Sorry, what could I be missing?
>
> Thank you.
>
> Kind regards,
>
> - j
>


--
"A man can fail many times, but he isn't a failure until he begins to
blame somebody else."
-- John Burroughs
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


Broken ofono 4G LTE network

2020-11-28 Thread Jupiter
Hi,

While I was playing with ofono source code qmitmodem to debug LTE
re-register issue (in my another email), for some reason, it broken
ofono, there was not network IP address, I ran the AT manually in
command line, I can see the LTE modem is connected to the carrier, but
ofono could not talk to modem, there is no IP address. I reversed the
source code to remove changes, cleared the build, and rebuild the
image, but it is still broken, no IP, tried following command, it was
an empty string:

# dbus-send --system --print-reply --dest=org.ofono /
org.ofono.Manager.GetModems

method return time=1606601259.667554 sender=:1.2 -> destination=:1.121 serial=12
0 reply_serial=2
   array [
   ]

Sorry, what could I be missing?

Thank you.

Kind regards,

- j
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


Re: Failed to reconnect after 4G LTE signaling strength level is back

2020-11-27 Thread Jupiter
Hi Jonas,

Thanks for the response and kind helps.

> and the modem continues to reset itself.  Is this coincidental with
> you removing the antenna... I can't tell?

My apology, a watchdog to monitor and to restart ofono when it lost
register was still running.

I attached a new log which disabled watchdog.

Here is the issue when the antenna was pulled out (simulating to lose
signalling), the modem was unregistered but it stuck at rssi callback:

ofonod[27530]: ../ofono-1.30/src/gprs.c:ofono_gprs_status_notify()
/ubloxqmi_0 status unregistered (0)
ofonod[27530]: ../ofono-1.30/src/modem.c:get_modem_property() modem
0x13ae0e8 property SystemPath
ofonod[27530]: 
../ofono-1.30/drivers/qmimodem/netmon.c:qmi_netmon_request_update()
ofonod[27530]: ../ofono-1.30/drivers/qmimodem/netmon.c:get_rssi_cb()
ofonod[27530]: ../ofono-1.30/drivers/qmimodem/netmon.c:get_rssi_cb()
RSSI: 128 on RAT 0
ofonod[27530]: ../ofono-1.30/drivers/qmimodem/netmon.c:get_rssi_cb()
Bit error rate: 65535 on RAT 0
ofonod[27530]: ../ofono-1.30/src/modem.c:get_modem_property() modem
0x13ae0e8 property SystemPath
ofonod[27530]: 
../ofono-1.30/drivers/qmimodem/netmon.c:qmi_netmon_request_update()
ofonod[27530]: ../ofono-1.30/drivers/qmimodem/netmon.c:get_rssi_cb()
ofonod[27530]: ../ofono-1.30/drivers/qmimodem/netmon.c:get_rssi_cb()
RSSI: 128 on RAT 0
ofonod[27530]: ../ofono-1.30/drivers/qmimodem/netmon.c:get_rssi_cb()
Bit error rate: 65535 on RAT 0
.

It then stuck and repeated following statements forever:

ofonod[27530]: 
../ofono-1.30/drivers/qmimodem/netmon.c:qmi_netmon_request_update()
ofonod[27530]: ../ofono-1.30/drivers/qmimodem/netmon.c:get_rssi_cb()
ofonod[27530]: ../ofono-1.30/drivers/qmimodem/netmon.c:get_rssi_cb()
RSSI: 128 on RAT 0
ofonod[27530]: ../ofono-1.30/drivers/qmimodem/netmon.c:get_rssi_cb()
Bit error rate: 65535 on RAT 0

static void qmi_netmon_request_update(struct ofono_netmon *netmon,
ofono_netmon_cb_t cb, void *user_data) invokes get_rssi_cb:
if (qmi_service_send(data->nas, QMI_NAS_GET_RSSI, param, get_rssi_cb,
cbd, g_free) > 0)

static void get_rssi_cb(struct qmi_result *result, void *user_data)
checks signalling RSSI, RSRQ, RSRP, obviously there is no valid
signaling streangh as the modem is in unregistered status.

My question is, where and how does ofono or qmimodem check modem
register status? Calling rssi_cb is not capable of finding modem
register status. Is the register status in src/modem.c?

Appreciate to shed light on how should ofono or qmimodme to handle
modem register status changes.
Thank you.

Kind regards,

- jupiter


DebugOfono.log
Description: Binary data
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


Change code and commit process

2020-11-22 Thread Jupiter
How to commit code change, who should I contact for approving code change?

Thank you.

Kind regards,

- jupiter
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


Failed re-register, a bug or feature? (Original Failed to reconnect)

2020-11-21 Thread Jupiter
Hi,

After a few hours debugging, I think that the cause of ofono failed to
re-register at following (4) is that netreg_status_changed is not
called, the ofono checks signalling strength level RSSI, RSRQ and
RSRP, but that is not going to work when the modem changes
registration status not be be registered.

Could any ofono developer kindly shed light upon if that is ofono
feature or bug? If I was looking in the wrong direction, could you
point me in the right direction to fix that issue?

Thank you.

Kind regards,

- jupiter





On 11/21/20, Jupiter  wrote:
> Hi,
>
> My apology for keeping a post on the topic to seek list helps.
>
> After changing testing tactics, I now believe it could be something
> wrong, missing or bug in ofono, hope someone could kindly respond to
> shed some light on the cause.
>
> Here is my new test:
>
> (1) I pulled antenna out before starting ofonod, it failed network
> which was good.
>
> (2) I plugged antenna, ofono could connect to the network
> automatically (which was good)
>
> (3) I pulled the antenna out again, the network broken.
>
> (4) I plugged the antenna again, ofono was not able to connect to the
> network again.
>
> If the ofono could connect to the network automatically at (2), it
> should be able to connect to the network automatically at (4), right?
> What are the differences between (2) and (4)?
>
> (5) I had to restart ofono to get the network connected.
>
> Could you please advise how to get ofono to reconnect at (4)? Or could
> you please point me a direction on how to resolve it?
>
> Please let me know if you need more debugging.
>
>
> Thank you.
>
> Kind regards,
>
> - j
>


--
"A man can fail many times, but he isn't a failure until he begins to
blame somebody else."
-- John Burroughs
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


Re: 4G modem re-register

2020-11-16 Thread Jupiter
Hi,

Are there any calllback mechanism in ofono or connman when 4G LTE
modem is deregistered and the network is broken? I am currently
polling it in software to call modem power reset to bring the 4G
reconnected, polling is not efficient.

How do you usually handle 4G modem deregister? Am I the only one
missing something in ofono and connman?

Also, uBlox support advised not to use QMI in ofono, to use AT, how to
configure ofono to use AT rather than QMI?

Thank you and appreciate your kind advice.

Kind regards,

- jh



On 11/6/20, Jupiter  wrote:
> Hi,
>
> I am running oFono and Connman for uBlox SARA modem in QMI on iMX6,
> when the modem is deregistered due to low signal, it cannot not be
> re-registered automatically.
>
> The SARA modem is capable of re-register, I can verify that capacity
> in SARA EVK, but why that capacity cannot be performed in an oFono
> device? What could I be missing in oFono configuration?
>
> Thank you.
>
> Kind regards,
>
> - jh
>


--
"A man can fail many times, but he isn't a failure until he begins to
blame somebody else."
-- John Burroughs
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org


4G modem re-register

2020-11-05 Thread Jupiter
Hi,

I am running oFono and Connman for uBlox SARA modem in QMI on iMX6,
when the modem is deregistered due to low signal, it cannot not be
re-registered automatically.

The SARA modem is capable of re-register, I can verify that capacity
in SARA EVK, but why that capacity cannot be performed in an oFono
device? What could I be missing in oFono configuration?

Thank you.

Kind regards,

- jh
___
ofono mailing list -- ofono@ofono.org
To unsubscribe send an email to ofono-le...@ofono.org