From: Lukasz Nowak Tested with LE910-SVG and Verizon. --- plugins/udevng.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/plugins/udevng.c b/plugins/udevng.c index 2279bbe..3b15064 100644 --- a/plugins/udevng.c +++ b/plugins/udevng.c @@ -182,14 +182,15 @@ static gboolean setup_gobi(struct modem_info *modem) const char *qmi = NULL, *mdm = NULL, *net = NULL; const char *gps = NULL, *diag = NULL; GSList *list; + gboolean telit = FALSE; DBG("%s", modem->syspath); for (list = modem->devices; list; list = list->next) { struct device_info *info = list->data; - DBG("%s %s %s %s", info->devnode, info->interface, - info->number, info->label); + 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) { if (info->number == NULL) @@ -199,10 +200,18 @@ static gboolean setup_gobi(struct modem_info *modem) else if (g_strcmp0(info->number, "01") == 0) diag = info->devnode; else if (g_strcmp0(info->number, "02") == 0) - mdm = info->devnode; + if (g_strcmp0(info->subsystem, "net") == 0) + net = info->devnode; + else if (g_strcmp0(info->subsystem, "usbmisc") == 0) { + telit = TRUE; + qmi = info->devnode; + } else + mdm = info->devnode; else if (g_strcmp0(info->number, "03") == 0) gps = info->devnode; - } + } else if (g_strcmp0(info->interface, "255/0/0") == 0) + if (g_strcmp0(info->number, "04") == 0) + mdm = info->devnode; } if (qmi == NULL || mdm == NULL || net == NULL) @@ -215,6 +224,12 @@ static gboolean setup_gobi(struct modem_info *modem) ofono_modem_set_string(modem->modem, "Diag", diag); ofono_modem_set_string(modem->modem, "NetworkInterface", net); + if (telit) { + /* Telit LE910 V1 modems */ + ofono_modem_set_boolean(modem->modem, "ForceSimLegacy", TRUE); + ofono_modem_set_boolean(modem->modem, "AlwaysOnline", TRUE); + } + return TRUE; } @@ -1168,6 +1183,7 @@ static struct { { "mbm", "cdc_ether", "0930" }, { "mbm", "cdc_ncm", "0930" }, { "hso", "hso" }, + { "gobi", "option", "1bc7", "1201" }, { "gobi", "qmi_wwan" }, { "gobi", "qcserial" }, { "sierra", "qmi_wwan", "1199" }, -- 2.7.4