[PATCH 0/2] telit: add GE910 support

2016-10-05 Thread Daniele Palmas
This patch series adds support for Telit GE910.

Full startup log at http://pastebin.com/Bpx4XEFy

Daniele Palmas (2):
  telit: add udev rules for supporting GE910
  telit: add GE910 #PORTCFG layouts

 plugins/telit/77-mm-telit-port-types.rules |  4 
 plugins/telit/mm-common-telit.c| 19 ---
 2 files changed, 20 insertions(+), 3 deletions(-)

-- 
2.7.4

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


[PATCH 1/2] telit: add udev rules for supporting GE910

2016-10-05 Thread Daniele Palmas
This patch adds the udev rules for supporting GE910 (PID 0x22)
---
 plugins/telit/77-mm-telit-port-types.rules | 4 
 1 file changed, 4 insertions(+)

diff --git a/plugins/telit/77-mm-telit-port-types.rules 
b/plugins/telit/77-mm-telit-port-types.rules
index c0119c6..36a4f99 100644
--- a/plugins/telit/77-mm-telit-port-types.rules
+++ b/plugins/telit/77-mm-telit-port-types.rules
@@ -43,6 +43,10 @@ ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="1011", 
ENV{ID_MM_TELIT_TAGGED}="1"
 ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", ENV{ID_MM_TELIT_TAGGED}="1"
 ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0021", 
ENV{ID_MM_TELIT_PORTS_TAGGED}="1"
 
+# GE910 (dynamic port identification supported)
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0022", ENV{ID_MM_TELIT_TAGGED}="1"
+ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0022", 
ENV{ID_MM_TELIT_PORTS_TAGGED}="1"
+
 # LE910 V2
 ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", ENV{ID_MM_TELIT_TAGGED}="1"
 ATTRS{idVendor}=="1bc7", ATTRS{idProduct}=="0036", 
ENV{ID_MM_TELIT_PORTS_TAGGED}="1"
-- 
2.7.4

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


[PATCH 2/2] telit: add GE910 #PORTCFG layouts

2016-10-05 Thread Daniele Palmas
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


New 'u-blox' plugin (v2)

2016-10-05 Thread Aleksander Morgado
Hey Dan & everyone,

After Dan's review, I've updated the branch implementing support for
the ublox devices with the following changes:

 * +CGCONTRDP parser is generic, and now supports both formats (pre
and post TS 27.007 v9.4.0)

 * Added some additional comments to explain how the static IP
addressing is retrieved when in bridge mode. Note also that there is a
long README explaining most of the plugin details under plugins/ublox.

 * Removed logic implementing the automatic connection to the default
LTE bearer when the empty apn ("") was given.

 * Moved AT+CGACT? polling for connection status monitoring to the
generic modem object.

 * Added support for the new CSFB related registration state values.

 * Moved the AT+CESQ based extended signal interface support to the
generic modem.

 * Updated the AT+UBANDSEL? parser to use mm_parse_uint_list().

What I didn't do:

 * No specific hex-encoded operator name parsing in AT+COPS. Dan,
there is already a mm_3gpp_normalize_operator_name() call doing this
processing after mm_3gpp_parse_cops_read_response(), don't think we
should merge both.

 * I didn't do the +CFUN parsing generic, because the +CFUN state
numbers reported are mostly (except for the first 5) vendor-specific.

You can find the updated ublox plugin in the 'aleksander/ublox' branch
in the upstream git repository:
https://cgit.freedesktop.org/ModemManager/ModemManager/log/?h=aleksander/ublox

Reviews of the implementation are more than welcome.

-- 
Aleksander
https://aleksander.es
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel