GE910 family supports #PORTCFG layouts different than HE910
family ones.

This patch properly tags GE910 ports according to Telit document
"GE910 Family Ports Arrangements, 1vv0301049"
---
 plugins/telit/mm-common-telit.c | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/plugins/telit/mm-common-telit.c b/plugins/telit/mm-common-telit.c
index 14bf599..78530c4 100644
--- a/plugins/telit/mm-common-telit.c
+++ b/plugins/telit/mm-common-telit.c
@@ -26,6 +26,8 @@
 #define TAG_TELIT_AUX_PORT         "ID_MM_TELIT_PORT_TYPE_AUX"
 #define TAG_TELIT_NMEA_PORT        "ID_MM_TELIT_PORT_TYPE_NMEA"
 
+#define TELIT_GE910_FAMILY_PID     0x0022
+
 gboolean
 telit_grab_port (MMPlugin *self,
                  MMBaseModem *modem,
@@ -143,6 +145,7 @@ cache_port_mode (MMDevice *device,
 
     /* Reference for port configurations:
      * HE910/UE910/UL865 Families Ports Arrangements User Guide
+     * GE910 Family Ports Arrangements User Guide
      */
     switch (portcfg_current) {
     case 0:
@@ -154,7 +157,11 @@ cache_port_mode (MMDevice *device,
     case 10:
     case 11:
         g_object_set_data (G_OBJECT (device), TAG_TELIT_MODEM_PORT, "00");
-        g_object_set_data (G_OBJECT (device), TAG_TELIT_AUX_PORT, "06");
+
+        if (mm_device_get_product (device) == TELIT_GE910_FAMILY_PID)
+            g_object_set_data (G_OBJECT (device), TAG_TELIT_AUX_PORT, "02");
+        else
+            g_object_set_data (G_OBJECT (device), TAG_TELIT_AUX_PORT, "06");
         break;
     case 2:
     case 3:
@@ -164,8 +171,14 @@ cache_port_mode (MMDevice *device,
     case 8:
     case 12:
         g_object_set_data (G_OBJECT (device), TAG_TELIT_MODEM_PORT, "00");
-        g_object_set_data (G_OBJECT (device), TAG_TELIT_AUX_PORT, "06");
-        g_object_set_data (G_OBJECT (device), TAG_TELIT_NMEA_PORT, "0a");
+
+        if (mm_device_get_product (device) == TELIT_GE910_FAMILY_PID) {
+            g_object_set_data (G_OBJECT (device), TAG_TELIT_AUX_PORT, "02");
+            g_object_set_data (G_OBJECT (device), TAG_TELIT_NMEA_PORT, "04");
+        } else {
+            g_object_set_data (G_OBJECT (device), TAG_TELIT_AUX_PORT, "06");
+            g_object_set_data (G_OBJECT (device), TAG_TELIT_NMEA_PORT, "0a");
+        }
         break;
     default:
         /* portcfg value not supported */
-- 
2.7.4

_______________________________________________
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel

Reply via email to