---
 plugins/ofono.hwdb | 16 ++++++++++++++++
 plugins/udevng.c   | 21 +++++++++------------
 2 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/plugins/ofono.hwdb b/plugins/ofono.hwdb
index c0c050f..d35d422 100644
--- a/plugins/ofono.hwdb
+++ b/plugins/ofono.hwdb
@@ -117,3 +117,19 @@ usb:v1546*ic0Aisc00ip00*
 usb:v1546*icE0isc01ip03*
  OFONO_LABEL=net
 
+# Gemalto
+usb:v1E2Dp0053*icFFiscFFipFF*
+ OFONO_DRIVER=gemalto
+
+usb:v1E2Dp0053*icFFiscFFipFFin01
+ OFONO_LABEL=gps
+
+usb:v1E2Dp0053*icFFiscFFipFFin02
+ OFONO_LABEL=app
+
+usb:v1E2Dp0053*icFFiscFFipFFin03
+ OFONO_LABEL=modem
+
+usb:v1E2Dp0053*icFFiscFFipFF*
+ OFONO_LABEL=maybeqmi
+
diff --git a/plugins/udevng.c b/plugins/udevng.c
index 4869833..0f54986 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -954,16 +954,16 @@ static gboolean setup_gemalto(struct modem_info* modem)
                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 (g_strcmp0(info->number, "01") == 0)
-                               gps = info->devnode;
-                       else if (g_strcmp0(info->number, "02") == 0)
-                               app = info->devnode;
-                       else if (g_strcmp0(info->number, "03") == 0)
-                               mdm = info->devnode;
-                       else if (g_strcmp0(info->subsystem, "net") == 0)
+               if (!g_strcmp0(info->label, "gps"))
+                       gps = info->devnode;
+               else if (!g_strcmp0(info->label, "app"))
+                       app = info->devnode;
+               else if (!g_strcmp0(info->label, "modem"))
+                       app = info->devnode;
+               else if (!g_strcmp0(info->label, "maybeqmi")) {
+                       if (g_strcmp0(info->subsystem, "net"))
                                net = info->devnode;
-                       else if (g_strcmp0(info->subsystem, "usbmisc") == 0)
+                       else if (g_strcmp0(info->subsystem, "usbmisc"))
                                qmi = info->devnode;
                }
        }
@@ -1365,9 +1365,6 @@ static struct {
        { "samsung",    "option",       "04e8", "6889"  },
        { "samsung",    "kalmia"                        },
        { "quectel",    "option",       "05c6", "9090"  },
-       { "gemalto",    "option",       "1e2d", "0053"  },
-       { "gemalto",    "cdc_wdm",      "1e2d", "0053"  },
-       { "gemalto",    "qmi_wwan",     "1e2d", "0053"  },
        { "telit",      "cdc_ncm",      "1bc7", "0036"  },
        { "telit",      "cdc_acm",      "1bc7", "0036"  },
        { }
-- 
2.9.3

_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono

Reply via email to