---
 plugins/ofono.hwdb | 17 +++++++++++++++++
 plugins/udevng.c   | 23 ++++++-----------------
 2 files changed, 23 insertions(+), 17 deletions(-)

diff --git a/plugins/ofono.hwdb b/plugins/ofono.hwdb
index 66cc0a1..fc2d738 100644
--- a/plugins/ofono.hwdb
+++ b/plugins/ofono.hwdb
@@ -84,3 +84,20 @@ usb:v1BBBp0017*icFFiscFFipFFin03
 
 usb:v1BBBp0017*icFFiscFFipFFin05
  OFONO_LABEL=modem
+
+# Simcom
+usb:v05C6p9000*icFFiscFFipFF*
+ OFONO_DRIVER=simcom
+
+usb:v05C6p9000*icFFiscFFipFFin00
+ OFONO_LABEL=diag
+
+usb:v05C6p9000*icFFiscFFipFFin01
+ OFONO_LABEL=gps
+
+usb:v05C6p9000*icFFiscFFipFFin02
+ OFONO_LABEL=aux
+
+usb:v05C6p9000*icFFiscFFipFFin03
+ OFONO_LABEL=modem
+
diff --git a/plugins/udevng.c b/plugins/udevng.c
index d8f077a..bdf36fa 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -686,24 +686,14 @@ static gboolean setup_simcom(struct modem_info *modem)
                DBG("%s %s %s %s", info->devnode, info->interface,
                                                info->number, info->label);
 
-               if (g_strcmp0(info->label, "aux") == 0) {
+               if (g_strcmp0(info->label, "aux") == 0)
                        aux = info->devnode;
-                       if (mdm != NULL)
-                               break;
-               } else if (g_strcmp0(info->label, "modem") == 0) {
+               else if (g_strcmp0(info->label, "modem") == 0)
                        mdm = info->devnode;
-                       if (aux != NULL)
-                               break;
-               } else if (g_strcmp0(info->interface, "255/255/255") == 0) {
-                       if (g_strcmp0(info->number, "00") == 0)
-                               diag = info->devnode;
-                       else if (g_strcmp0(info->number, "01") == 0)
-                               gps = info->devnode;
-                       else if (g_strcmp0(info->number, "02") == 0)
-                               aux = info->devnode;
-                       else if (g_strcmp0(info->number, "03") == 0)
-                               mdm = info->devnode;
-               }
+               else if (g_strcmp0(info->label, "gps") == 0)
+                       gps = info->devnode;
+               else if (g_strcmp0(info->label, "diag") == 0)
+                       diag = info->devnode;
        }
 
        if (aux == NULL || mdm == NULL)
@@ -1387,7 +1377,6 @@ static struct {
        { "speedupcdma","option",       "1c9e", "9e00"  },
        { "speedup",    "option",       "1c9e"          },
        { "speedup",    "option",       "2020"          },
-       { "simcom",     "option",       "05c6", "9000"  },
        { "telit",      "usbserial",    "1bc7"          },
        { "telit",      "option",       "1bc7"          },
        { "telit",      "cdc_acm",      "1bc7", "0021"  },
-- 
2.9.3

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

Reply via email to