* [PATCH v2 0/3] droid: migrate to gobi QMI driver
@ 2025-07-29 5:21 Ivaylo Dimitrov
2025-07-29 5:21 ` [PATCH 1/3] gobi: do not assume LTE is supported, detect it Ivaylo Dimitrov
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Ivaylo Dimitrov @ 2025-07-29 5:21 UTC (permalink / raw)
To: ofono; +Cc: denkenz, absicsz, merlijn
[PATCH 1/3] gobi: do not assume LTE is supported, detect it
[PATCH 2/3] gobi: Add "OfflineOperatingMode" property
[PATCH 3/3] plugins: drop droid and use gobi for droid4 modem instead
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/3] gobi: do not assume LTE is supported, detect it
2025-07-29 5:21 [PATCH v2 0/3] droid: migrate to gobi QMI driver Ivaylo Dimitrov
@ 2025-07-29 5:21 ` Ivaylo Dimitrov
2025-07-29 22:13 ` Denis Kenzior
2025-07-29 5:21 ` [PATCH 2/3] gobi: Add "OfflineOperatingMode" property Ivaylo Dimitrov
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Ivaylo Dimitrov @ 2025-07-29 5:21 UTC (permalink / raw)
To: ofono; +Cc: denkenz, absicsz, merlijn, Ivaylo Dimitrov
---
plugins/gobi.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/plugins/gobi.c b/plugins/gobi.c
index 3d4d133c..d5a7fc18 100644
--- a/plugins/gobi.c
+++ b/plugins/gobi.c
@@ -57,6 +57,7 @@
#define GOBI_UIM (1 << 5)
#define GOBI_VOICE (1 << 6)
#define GOBI_WDA (1 << 7)
+#define GOBI_LTE (1 << 8)
#define MAX_CONTEXTS 4
#define DEFAULT_MTU 1400
@@ -263,7 +264,6 @@ static int gobi_probe(struct ofono_modem *modem)
data->max_aggregation_size = 16384;
ofono_modem_set_data(modem, data);
- ofono_modem_set_capabilities(modem, OFONO_MODEM_CAPABILITY_LTE);
return 0;
}
@@ -480,8 +480,17 @@ static void get_caps_cb(struct qmi_result *result, void *user_data)
DBG("service capabilities %d", caps->data_capa);
DBG("sim supported %d", caps->sim_supported);
- for (i = 0; i < caps->radio_if_count; i++)
- DBG("radio = %d", caps->radio_if[i]);
+ for (i = 0; i < caps->radio_if_count; i++) {
+ uint8_t iface = caps->radio_if[i];
+
+ DBG("radio = %d", iface);
+
+ if (iface & QMI_DMS_RADIO_IF_LTE)
+ data->features |= GOBI_LTE;
+ }
+
+ if (data->features & GOBI_LTE)
+ ofono_modem_set_capabilities(modem, OFONO_MODEM_CAPABILITY_LTE);
if (qmi_service_send(data->dms, QMI_DMS_GET_OPER_MODE, NULL,
get_oper_mode_cb, modem, NULL) > 0)
@@ -1144,7 +1153,7 @@ static void gobi_post_sim(struct ofono_modem *modem)
DBG("%p", modem);
- if (data->features & GOBI_WDS)
+ if (data->features & GOBI_WDS && data->features & GOBI_LTE)
ofono_lte_create(modem, 0, "qmimodem",
qmi_service_clone(data->wds));
--
2.25.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/3] gobi: Add "OfflineOperatingMode" property
2025-07-29 5:21 [PATCH v2 0/3] droid: migrate to gobi QMI driver Ivaylo Dimitrov
2025-07-29 5:21 ` [PATCH 1/3] gobi: do not assume LTE is supported, detect it Ivaylo Dimitrov
@ 2025-07-29 5:21 ` Ivaylo Dimitrov
2025-07-29 5:21 ` [PATCH 3/3] plugins: drop droid and use gobi for droid4 modem instead Ivaylo Dimitrov
2025-07-29 22:20 ` [PATCH v2 0/3] droid: migrate to gobi QMI driver patchwork-bot+ofono
3 siblings, 0 replies; 8+ messages in thread
From: Ivaylo Dimitrov @ 2025-07-29 5:21 UTC (permalink / raw)
To: ofono; +Cc: denkenz, absicsz, merlijn, Ivaylo Dimitrov
Some modems properly support PersistentLowPower mode when disabled, allow
them to request that
---
plugins/gobi.c | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/plugins/gobi.c b/plugins/gobi.c
index d5a7fc18..ea78a519 100644
--- a/plugins/gobi.c
+++ b/plugins/gobi.c
@@ -109,6 +109,7 @@ struct gobi_data {
uint32_t set_powered_id;
uint32_t set_mtu_id;
enum wda_data_format data_format;
+ uint8_t off_opmode;
bool no_pass_through : 1;
};
@@ -217,12 +218,14 @@ static int gobi_probe(struct ofono_modem *modem)
struct gobi_data *data;
const char *if_driver;
const char *ifname;
+ const char *opmode;
uint8_t interface_number;
int ifindex;
const char *bus;
struct stat st;
_auto_(l_free) char *pass_through = NULL;
bool no_pass_through = false;
+ uint8_t off_opmode = QMI_DMS_OPER_MODE_LOW_POWER;
DBG("%p", modem);
@@ -231,6 +234,7 @@ static int gobi_probe(struct ofono_modem *modem)
ifname = ofono_modem_get_string(modem, "NetworkInterface");
ifindex = ofono_modem_get_integer(modem, "NetworkInterfaceIndex");
bus = ofono_modem_get_string(modem, "Bus");
+ opmode = ofono_modem_get_string(modem, "OfflineOperatingMode");
DBG("net: %s[%s](%d) %s", ifname, if_driver, ifindex, bus);
@@ -255,6 +259,15 @@ static int gobi_probe(struct ofono_modem *modem)
return -errno;
}
+ if (opmode) {
+ DBG("offline power mode: %s", opmode);
+
+ if (!strcmp(opmode, "PersistentLowPower"))
+ off_opmode = QMI_DMS_OPER_MODE_PERSIST_LOW_POWER;
+ else if (strcmp(opmode, "LowPower"))
+ return -ENOTSUP;
+ }
+
data = l_new(struct gobi_data, 1);
data->main_net_ifindex = ifindex;
l_strlcpy(data->main_net_name, ifname, sizeof(data->main_net_name));
@@ -262,6 +275,7 @@ static int gobi_probe(struct ofono_modem *modem)
data->no_pass_through = no_pass_through;
/* See drivers/net/ethernet/qualcomm/rmnet/rmnet_private.h */
data->max_aggregation_size = 16384;
+ data->off_opmode = off_opmode;
ofono_modem_set_data(modem, data);
@@ -442,7 +456,7 @@ static void get_oper_mode_cb(struct qmi_result *result, void *user_data)
switch (data->oper_mode) {
case QMI_DMS_OPER_MODE_ONLINE:
param = qmi_param_new_uint8(QMI_DMS_PARAM_OPER_MODE,
- QMI_DMS_OPER_MODE_LOW_POWER);
+ data->off_opmode);
if (!param) {
shutdown_device(modem);
return;
@@ -935,8 +949,7 @@ static int gobi_disable(struct ofono_modem *modem)
if (ofono_modem_get_boolean(modem, "AlwaysOnline"))
goto out;
- param = qmi_param_new_uint8(QMI_DMS_PARAM_OPER_MODE,
- QMI_DMS_OPER_MODE_LOW_POWER);
+ param = qmi_param_new_uint8(QMI_DMS_PARAM_OPER_MODE, data->off_opmode);
if (!param)
return -ENOMEM;
--
2.25.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/3] plugins: drop droid and use gobi for droid4 modem instead
2025-07-29 5:21 [PATCH v2 0/3] droid: migrate to gobi QMI driver Ivaylo Dimitrov
2025-07-29 5:21 ` [PATCH 1/3] gobi: do not assume LTE is supported, detect it Ivaylo Dimitrov
2025-07-29 5:21 ` [PATCH 2/3] gobi: Add "OfflineOperatingMode" property Ivaylo Dimitrov
@ 2025-07-29 5:21 ` Ivaylo Dimitrov
2025-07-29 22:13 ` Denis Kenzior
2025-07-29 22:20 ` [PATCH v2 0/3] droid: migrate to gobi QMI driver patchwork-bot+ofono
3 siblings, 1 reply; 8+ messages in thread
From: Ivaylo Dimitrov @ 2025-07-29 5:21 UTC (permalink / raw)
To: ofono; +Cc: denkenz, absicsz, merlijn, Ivaylo Dimitrov
---
Makefile.am | 1 -
plugins/droid.c | 172 -----------------------------------------------
plugins/udevng.c | 32 ++++++---
3 files changed, 21 insertions(+), 184 deletions(-)
delete mode 100644 plugins/droid.c
diff --git a/Makefile.am b/Makefile.am
index c013e77d..cf51cdf1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -578,7 +578,6 @@ builtin_sources += plugins/telit.c
builtin_sources += plugins/quectel.c
builtin_sources += plugins/ublox.c
builtin_sources += plugins/xmm7xxx.c
-builtin_sources += plugins/droid.c
builtin_modules += stemgr
builtin_sources += plugins/stemgr.c
diff --git a/plugins/droid.c b/plugins/droid.c
deleted file mode 100644
index 1dfae9ee..00000000
--- a/plugins/droid.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * oFono - Open Source Telephony
- * Copyright (C) 2008-2011 Intel Corporation
- * Copyright (C) 2009 Collabora Ltd
- * Copyright (C) 2020 Pavel Machek
- *
- * SPDX-License-Identifier: GPL-2.0-only
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <stdlib.h>
-#include <errno.h>
-
-#include <glib.h>
-#include <gatchat.h>
-#include <gattty.h>
-
-#define OFONO_API_SUBJECT_TO_CHANGE
-#include <ofono/plugin.h>
-#include <ofono/log.h>
-#include <ofono/modem.h>
-#include <ofono/call-barring.h>
-#include <ofono/call-forwarding.h>
-#include <ofono/call-meter.h>
-#include <ofono/call-settings.h>
-#include <ofono/devinfo.h>
-#include <ofono/message-waiting.h>
-#include <ofono/netreg.h>
-#include <ofono/phonebook.h>
-#include <ofono/sim.h>
-#include <ofono/sms.h>
-#include <ofono/ussd.h>
-#include <ofono/voicecall.h>
-
-#include <drivers/atmodem/atutil.h>
-#include <drivers/atmodem/vendor.h>
-
-static void droid_debug(const char *str, void *user_data)
-{
- const char *prefix = user_data;
-
- ofono_info("%s%s", prefix, str);
-}
-
-/* Detect hardware, and initialize if found */
-static int droid_probe(struct ofono_modem *modem)
-{
- DBG("");
-
- return 0;
-}
-
-static void droid_remove(struct ofono_modem *modem)
-{
- GAtChat *chat = ofono_modem_get_data(modem);
-
- DBG("");
-
- if (chat) {
- g_at_chat_unref(chat);
- ofono_modem_set_data(modem, NULL);
- }
-}
-
-static void cfun_set_on_cb(gboolean ok, GAtResult *result, gpointer user_data)
-{
- struct ofono_modem *modem = user_data;
-
- DBG("");
-
- if (ok)
- ofono_modem_set_powered(modem, TRUE);
-}
-
-/* power up hardware */
-static int droid_enable(struct ofono_modem *modem)
-{
- GAtChat *chat;
-
- DBG("");
-
- chat = at_util_open_device(modem, "Device", droid_debug, "", NULL);
- ofono_modem_set_data(modem, chat);
-
- /* ensure modem is in a known state; verbose on, echo/quiet off */
- g_at_chat_send(chat, "ATE0Q0V1", NULL, NULL, NULL, NULL);
-
- /* power up modem */
- g_at_chat_send(chat, "AT+CFUN=1", NULL, cfun_set_on_cb, modem, NULL);
-
- return 0;
-}
-
-static void cfun_set_off_cb(gboolean ok, GAtResult *result, gpointer user_data)
-{
- struct ofono_modem *modem = user_data;
- GAtChat *chat = ofono_modem_get_data(modem);
-
- DBG("");
-
- g_at_chat_unref(chat);
- ofono_modem_set_data(modem, NULL);
-
- if (ok)
- ofono_modem_set_powered(modem, FALSE);
-}
-
-static int droid_disable(struct ofono_modem *modem)
-{
- GAtChat *chat = ofono_modem_get_data(modem);
-
- DBG("");
-
- /* power down modem */
- g_at_chat_cancel_all(chat);
- g_at_chat_unregister_all(chat);
- g_at_chat_send(chat, "AT+CFUN=0", NULL, cfun_set_off_cb, modem, NULL);
-
- return -EINPROGRESS;
-}
-
-static void droid_pre_sim(struct ofono_modem *modem)
-{
- GAtChat *chat = ofono_modem_get_data(modem);
- struct ofono_sim *sim;
-
- DBG("");
-
- ofono_devinfo_create(modem, 0, "atmodem", chat);
- sim = ofono_sim_create(modem, OFONO_VENDOR_DROID, "atmodem", chat);
- ofono_voicecall_create(modem, OFONO_VENDOR_DROID, "atmodem", chat);
-
- if (sim)
- ofono_sim_inserted_notify(sim, TRUE);
-}
-
-static void droid_post_sim(struct ofono_modem *modem)
-{
- GAtChat *chat = ofono_modem_get_data(modem);
- struct ofono_message_waiting *mw;
-
- DBG("");
-
- ofono_ussd_create(modem, 0, "atmodem", chat);
- ofono_call_forwarding_create(modem, 0, "atmodem", chat);
- ofono_call_settings_create(modem, 0, "atmodem", chat);
- ofono_netreg_create(modem, 0, "atmodem", chat);
- /*
- * Droid 4 modem has problems with AT+CPUC?, avoid call meter for now.
- */
- ofono_call_barring_create(modem, 0, "atmodem", chat);
- ofono_sms_create(modem, OFONO_VENDOR_DROID, "atmodem", chat);
- ofono_phonebook_create(modem, 0, "atmodem", chat);
-
- mw = ofono_message_waiting_create(modem);
- if (mw)
- ofono_message_waiting_register(mw);
-}
-
-static struct ofono_modem_driver droid_driver = {
- .probe = droid_probe,
- .remove = droid_remove,
- .enable = droid_enable,
- .disable = droid_disable,
- .pre_sim = droid_pre_sim,
- .post_sim = droid_post_sim,
-};
-
-OFONO_MODEM_DRIVER_BUILTIN(droid, &droid_driver)
diff --git a/plugins/udevng.c b/plugins/udevng.c
index 320cd3a6..18954d44 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -870,7 +870,9 @@ static gboolean setup_telitqmi(struct modem_info *modem)
static gboolean setup_droid(struct modem_info *modem)
{
- const char *at = NULL;
+ const struct device_info *qmi = NULL;
+ const struct device_info *net = NULL;
+
GSList *list;
DBG("%s", modem->syspath);
@@ -878,23 +880,31 @@ static gboolean setup_droid(struct modem_info *modem)
for (list = modem->devices; list; list = list->next) {
struct device_info *info = list->data;
const char *subsystem =
- udev_device_get_subsystem(info->udev_device);
-
- DBG("%s %s %s %s %s", info->devnode, info->interface,
- info->number, info->label, subsystem);
+ udev_device_get_subsystem(info->udev_device);
+ DBG("%s %s %s %s %s %s", info->devnode, info->interface,
+ info->number, info->label,
+ info->sysattr, subsystem);
- if (g_strcmp0(info->interface, "255/255/255") == 0 &&
- g_strcmp0(info->number, "04") == 0) {
- at = info->devnode;
+ if (g_strcmp0(subsystem, "usbmisc") == 0) {
+ if (g_strcmp0(info->number, "05") == 0)
+ qmi = info;
+ } else if (g_strcmp0(subsystem, "net") == 0) {
+ if (g_strcmp0(info->number, "05") == 0)
+ net = info;
}
}
- if (at == NULL)
+ if (qmi == NULL || net == NULL)
return FALSE;
- ofono_modem_set_string(modem->modem, "Device", at);
- ofono_modem_set_driver(modem->modem, "droid");
+ DBG("qmi=%s net=%s", qmi->devnode, get_ifname(net));
+
+
+ if (setup_qmi_qmux(modem, qmi, net) < 0)
+ return FALSE;
+ ofono_modem_set_string(modem->modem, "OfflineOperatingMode",
+ "PersistentLowPower");
return TRUE;
}
--
2.25.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] gobi: do not assume LTE is supported, detect it
2025-07-29 5:21 ` [PATCH 1/3] gobi: do not assume LTE is supported, detect it Ivaylo Dimitrov
@ 2025-07-29 22:13 ` Denis Kenzior
2025-07-30 5:24 ` Ivaylo Dimitrov
0 siblings, 1 reply; 8+ messages in thread
From: Denis Kenzior @ 2025-07-29 22:13 UTC (permalink / raw)
To: Ivaylo Dimitrov, ofono; +Cc: absicsz, merlijn
Hi Ivo,
On 7/29/25 12:21 AM, Ivaylo Dimitrov wrote:
> ---
> plugins/gobi.c | 17 +++++++++++++----
> 1 file changed, 13 insertions(+), 4 deletions(-)
<snip>
> @@ -480,8 +480,17 @@ static void get_caps_cb(struct qmi_result *result, void *user_data)
> DBG("service capabilities %d", caps->data_capa);
> DBG("sim supported %d", caps->sim_supported);
>
> - for (i = 0; i < caps->radio_if_count; i++)
> - DBG("radio = %d", caps->radio_if[i]);
> + for (i = 0; i < caps->radio_if_count; i++) {
> + uint8_t iface = caps->radio_if[i];
> +
> + DBG("radio = %d", iface);
> +
> + if (iface & QMI_DMS_RADIO_IF_LTE)
QMI_DMS_RADIO_IF_* do not seem to be values that can be used in a bitset, so I
amended this line to use '==' instead of '&'.
> + data->features |= GOBI_LTE;
> + }
> +
> + if (data->features & GOBI_LTE)
> + ofono_modem_set_capabilities(modem, OFONO_MODEM_CAPABILITY_LTE);
>
> if (qmi_service_send(data->dms, QMI_DMS_GET_OPER_MODE, NULL,
> get_oper_mode_cb, modem, NULL) > 0)
Regards,
-Denis
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] plugins: drop droid and use gobi for droid4 modem instead
2025-07-29 5:21 ` [PATCH 3/3] plugins: drop droid and use gobi for droid4 modem instead Ivaylo Dimitrov
@ 2025-07-29 22:13 ` Denis Kenzior
0 siblings, 0 replies; 8+ messages in thread
From: Denis Kenzior @ 2025-07-29 22:13 UTC (permalink / raw)
To: Ivaylo Dimitrov, ofono; +Cc: absicsz, merlijn
Hi Ivo,
On 7/29/25 12:21 AM, Ivaylo Dimitrov wrote:
> ---
> Makefile.am | 1 -
> plugins/droid.c | 172 -----------------------------------------------
Love it. Thanks for doing this.
> plugins/udevng.c | 32 ++++++---
> 3 files changed, 21 insertions(+), 184 deletions(-)
> delete mode 100644 plugins/droid.c
>
Regards,
-Denis
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/3] droid: migrate to gobi QMI driver
2025-07-29 5:21 [PATCH v2 0/3] droid: migrate to gobi QMI driver Ivaylo Dimitrov
` (2 preceding siblings ...)
2025-07-29 5:21 ` [PATCH 3/3] plugins: drop droid and use gobi for droid4 modem instead Ivaylo Dimitrov
@ 2025-07-29 22:20 ` patchwork-bot+ofono
3 siblings, 0 replies; 8+ messages in thread
From: patchwork-bot+ofono @ 2025-07-29 22:20 UTC (permalink / raw)
To: Ivaylo Dimitrov; +Cc: ofono, denkenz, absicsz, merlijn
Hello:
This series was applied to ofono.git (master)
by Denis Kenzior <denkenz@gmail.com>:
On Tue, 29 Jul 2025 08:21:29 +0300 you wrote:
> [PATCH 1/3] gobi: do not assume LTE is supported, detect it
> [PATCH 2/3] gobi: Add "OfflineOperatingMode" property
> [PATCH 3/3] plugins: drop droid and use gobi for droid4 modem instead
Here is the summary with links:
- [1/3] gobi: do not assume LTE is supported, detect it
(no matching commit)
- [2/3] gobi: Add "OfflineOperatingMode" property
https://git.kernel.org/pub/scm/network/ofono/ofono.git/?id=6e2b8a43d09b
- [3/3] plugins: drop droid and use gobi for droid4 modem instead
https://git.kernel.org/pub/scm/network/ofono/ofono.git/?id=3767c404af67
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] gobi: do not assume LTE is supported, detect it
2025-07-29 22:13 ` Denis Kenzior
@ 2025-07-30 5:24 ` Ivaylo Dimitrov
0 siblings, 0 replies; 8+ messages in thread
From: Ivaylo Dimitrov @ 2025-07-30 5:24 UTC (permalink / raw)
To: Denis Kenzior, ofono; +Cc: absicsz, merlijn
On 30.07.25 г. 1:13 ч., Denis Kenzior wrote:
> Hi Ivo,
>
> On 7/29/25 12:21 AM, Ivaylo Dimitrov wrote:
>> ---
>> plugins/gobi.c | 17 +++++++++++++----
>> 1 file changed, 13 insertions(+), 4 deletions(-)
>
> <snip>
>
>> @@ -480,8 +480,17 @@ static void get_caps_cb(struct qmi_result
>> *result, void *user_data)
>> DBG("service capabilities %d", caps->data_capa);
>> DBG("sim supported %d", caps->sim_supported);
>> - for (i = 0; i < caps->radio_if_count; i++)
>> - DBG("radio = %d", caps->radio_if[i]);
>> + for (i = 0; i < caps->radio_if_count; i++) {
>> + uint8_t iface = caps->radio_if[i];
>> +
>> + DBG("radio = %d", iface);
>> +
>> + if (iface & QMI_DMS_RADIO_IF_LTE)
>
> QMI_DMS_RADIO_IF_* do not seem to be values that can be used in a
> bitset, so I amended this line to use '==' instead of '&'.
>
Ugh, right, how did I not see it.
Thanks!
>> + data->features |= GOBI_LTE;
>> + }
>> +
>> + if (data->features & GOBI_LTE)
>> + ofono_modem_set_capabilities(modem, OFONO_MODEM_CAPABILITY_LTE);
>> if (qmi_service_send(data->dms, QMI_DMS_GET_OPER_MODE, NULL,
>> get_oper_mode_cb, modem, NULL) > 0)
>
> Regards,
> -Denis
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-07-30 5:24 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-29 5:21 [PATCH v2 0/3] droid: migrate to gobi QMI driver Ivaylo Dimitrov
2025-07-29 5:21 ` [PATCH 1/3] gobi: do not assume LTE is supported, detect it Ivaylo Dimitrov
2025-07-29 22:13 ` Denis Kenzior
2025-07-30 5:24 ` Ivaylo Dimitrov
2025-07-29 5:21 ` [PATCH 2/3] gobi: Add "OfflineOperatingMode" property Ivaylo Dimitrov
2025-07-29 5:21 ` [PATCH 3/3] plugins: drop droid and use gobi for droid4 modem instead Ivaylo Dimitrov
2025-07-29 22:13 ` Denis Kenzior
2025-07-29 22:20 ` [PATCH v2 0/3] droid: migrate to gobi QMI driver patchwork-bot+ofono
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox