Signed-off-by: Bjørn Mork <bjorn(a)mork.no>
---
plugins/udevng.c | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/plugins/udevng.c b/plugins/udevng.c
index d27dd67..774d7b4 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -218,7 +218,7 @@ static gboolean setup_gobi(struct modem_info *modem)
static gboolean setup_sierra(struct modem_info *modem)
{
- const char *mdm = NULL, *app = NULL, *net = NULL, *diag = NULL;
+ const char *mdm = NULL, *app = NULL, *net = NULL, *diag = NULL, *qmi = NULL;
GSList *list;
DBG("%s", modem->syspath);
@@ -238,14 +238,27 @@ static gboolean setup_sierra(struct modem_info *modem)
app = info->devnode;
else if (g_strcmp0(info->number, "07") == 0)
net = info->devnode;
+ else if (g_strcmp0(info->number, "08") == 0) {
+ if (g_strcmp0(info->subsystem, "net") == 0)
+ net = info->devnode;
+ else
+ qmi = info->devnode;
+ }
}
}
+ if (qmi != NULL && net != NULL) {
+ ofono_modem_set_driver(modem->modem, "gobi");
+ goto done;
+ }
+
if (mdm == NULL || net == NULL)
return FALSE;
- DBG("modem=%s app=%s net=%s diag=%s", mdm, app, net, diag);
+done:
+ DBG("modem=%s app=%s net=%s diag=%s qmi=%s", mdm, app, net, diag, qmi);
+ ofono_modem_set_string(modem->modem, "Device", qmi);
ofono_modem_set_string(modem->modem, "Modem", mdm);
ofono_modem_set_string(modem->modem, "App", app);
ofono_modem_set_string(modem->modem, "Diag", diag);
@@ -978,6 +991,8 @@ static struct {
{ "hso", "hso" },
{ "gobi", "qmi_wwan" },
{ "gobi", "qcserial" },
+ { "sierra", "qcserial", "1199", "68a2" },
+ { "sierra", "qmi_wwan", "1199", "68a2" },
{ "sierra", "sierra" },
{ "sierra", "sierra_net" },
{ "option", "option", "0af0" },
--
1.7.10.4