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