I had another go at getting the Thuraya XT Satphone to work with Modem/NetworkManager.

Firstly, I had to add another CREG regex (see the attached diff against 1.4.6) due to the modem's response:
+CREG: 2, "0426", "F0,0F"

Secondly, the XT doesn't particularly like AT+COPS=0. If one sends that, it drops the already acquired satellite signal and then tries to reacquire the signal, which doesn't seem to finish within the timeout period.

Now I seem to be able to connect using:
mmcli -m 0 --simple-connect apn="get"

I cannot however get an IP interface set up. Can anyone give me a hint about what's wrong here?

Thanks,
Thomas


Jun 17 01:38:52 localhost.localdomain NetworkManager[8923]: <info> (ttyACM0): modem state changed, 'searching' --> 'connecting' (reason: user-requested) Jun 17 01:38:52 localhost.localdomain NetworkManager[8923]: <info> (ttyACM0): modem state changed, 'connecting' --> 'connected' (reason: user-requested) Jun 17 01:40:00 localhost.localdomain NetworkManager[8923]: <info> (ttyACM0): Activation: starting connection 'Thuraya2' Jun 17 01:40:00 localhost.localdomain NetworkManager[8923]: <info> (ttyACM0): Activation: Stage 1 of 5 (Device Prepare) scheduled... Jun 17 01:40:00 localhost.localdomain NetworkManager[8923]: <info> (ttyACM0): Activation: Stage 1 of 5 (Device Prepare) started... Jun 17 01:40:00 localhost.localdomain NetworkManager[8923]: <info> (ttyACM0): device state change: disconnected -> prepare (reason 'none') [30 40 0] Jun 17 01:40:00 localhost.localdomain NetworkManager[8923]: <warn> (ttyACM0): Failed to connect 'Thuraya2': Connection requested IPv4 but IPv4 is unsuported by the modem. Jun 17 01:40:00 localhost.localdomain NetworkManager[8923]: <info> (ttyACM0): device state change: prepare -> failed (reason 'modem-init-failed') [40 120 28] Jun 17 01:40:00 localhost.localdomain NetworkManager[8923]: <warn> (ttyACM0): Activation: failed for connection 'Thuraya2' Jun 17 01:40:00 localhost.localdomain NetworkManager[8923]: <info> (ttyACM0): Activation: Stage 1 of 5 (Device Prepare) complete. Jun 17 01:40:00 localhost.localdomain NetworkManager[8923]: <info> (ttyACM0): device state change: failed -> disconnected (reason 'none') [120 30 0] Jun 17 01:40:00 localhost.localdomain NetworkManager[8923]: <info> (ttyACM0): deactivating device (reason 'none') [0] Jun 17 01:40:00 localhost.localdomain NetworkManager[8923]: <info> (ttyACM0): modem state changed, 'connected' --> 'disconnecting' (reason: user-requested) Jun 17 01:40:02 localhost.localdomain NetworkManager[8923]: <info> (ttyACM0): modem state changed, 'disconnecting' --> 'searching' (reason: user-requested) Jun 17 01:40:38 localhost.localdomain NetworkManager[8923]: <info> (ttyACM0): device state change: disconnected -> unmanaged (reason 'removed') [30 10 36] Jun 17 01:40:38 localhost.localdomain NetworkManager[8923]: <info> (ttyACM0): deactivating device (reason 'removed') [36]

diff -urN ModemManager-1.4.6/src/mm-iface-modem-3gpp.c ModemManager-1.4.6-x/src/mm-iface-modem-3gpp.c
--- ModemManager-1.4.6/src/mm-iface-modem-3gpp.c	2015-03-23 11:10:27.000000000 +0100
+++ ModemManager-1.4.6-x/src/mm-iface-modem-3gpp.c	2015-06-17 01:08:02.249519695 +0200
@@ -383,8 +383,8 @@
     else {
         /* If the modem is already registered and the last time it was asked
          * automatic registration, we're done */
-        if (current_operator_code &&
-            !registration_state_context->manual_registration) {
+        if (1 || (current_operator_code &&
+                     !registration_state_context->manual_registration)) {
             mm_dbg ("Already registered in network '%s',"
                     " automatic registration not launched...",
                     current_operator_code);
diff -urN ModemManager-1.4.6/src/mm-modem-helpers.c ModemManager-1.4.6-x/src/mm-modem-helpers.c
--- ModemManager-1.4.6/src/mm-modem-helpers.c	2015-02-07 20:28:58.000000000 +0100
+++ ModemManager-1.4.6-x/src/mm-modem-helpers.c	2015-06-17 00:24:38.233365251 +0200
@@ -331,6 +331,8 @@
 
 /* +CREG: <stat>,<lac>,<ci>           (GSM 07.07 CREG=2 unsolicited) */
 #define CREG3 "\\+(CREG|CGREG|CEREG):\\s*0*([0-9]),\\s*([^,\\s]*)\\s*,\\s*([^,\\s]*)"
+#define CREG11 "\\+(CREG|CGREG|CEREG):\\s*0*([0-9]),\\s*(\"[^\"\\s]*\")\\s*,\\s*(\"[^\"\\s]*\")"
+
 
 /* +CREG: <n>,<stat>,<lac>,<ci>       (GSM 07.07 solicited and some CREG=2 unsolicited) */
 #define CREG4 "\\+(CREG|CGREG|CEREG):\\s*([0-9]),\\s*([0-9])\\s*,\\s*([^,]*)\\s*,\\s*([^,\\s]*)"
@@ -350,6 +352,7 @@
 /* +CREG: <stat>,<lac>,<ci>,<AcT>,<RAC> (ETSI 27.007 v9.20 CREG=2 unsolicited with RAC) */
 #define CREG10 "\\+(CREG|CGREG):\\s*0*([0-9])\\s*,\\s*([^,\\s]*)\\s*,\\s*([^,\\s]*)\\s*,\\s*0*([0-9])\\s*,\\s*([^,\\s]*)"
 
+
 /* +CEREG: <stat>,<lac>,<rac>,<ci>,<AcT>     (ETSI 27.007 v8.6 CREG=2 unsolicited with RAC) */
 #define CEREG1 "\\+(CEREG):\\s*0*([0-9])\\s*,\\s*([^,\\s]*)\\s*,\\s*([^,\\s]*)\\s*,\\s*([^,\\s]*)\\s*,\\s*0*([0-9])"
 
@@ -386,6 +389,14 @@
     g_assert (regex);
     g_ptr_array_add (array, regex);
 
+    /* #11 */
+    if (solicited)
+        regex = g_regex_new (CREG11 "$", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
+    else
+        regex = g_regex_new ("\\r\\n" CREG11 "\\r\\n", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
+    g_assert (regex);
+    g_ptr_array_add (array, regex);
+
     /* #4 */
     if (solicited)
         regex = g_regex_new (CREG4 "$", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to