> On 30 December 2017 at 15:07 Colin Helliwell wrote:
>
>
> The Cinterion plugin tries 'AT^SIND="simstatus",2' in after_sim_unlock(). I
> have two Cinterion modems, neither of which - according to their AT Command
> Set spec - support the simstatus indicator on this command, and so instead
> return "+CME ERROR: 21" (invalid index).
> Nonetheless, the operation continues with all 15 of its retries. Should there
> perhaps be a 'if (!response)' trap in simstatus_check_ready() so that it
> bombs out?
> I ask for comment, since I'm not sure (a) exactly what the retries are
> waiting for; and, in particular (b) what the response would be while its
> waiting. (I don't have a modem which does support the indicator).
>
I imagine not even getting a good response can be treated as unsupported, let
alone needing to parse it for ^SIND content . Hence
plugins/cinterion/mm-broadband-modem-cinterion.c | 99 ++++++++++++++++++++----
1 file changed, 6 insertions(+), 1 deletions(-)
diff --git a/plugins/cinterion/mm-broadband-modem-cinterion.c
b/plugins/cinterion/mm-broadband-modem-cinterion.c
index 64c5e08..1034d5c 100644
--- a/plugins/cinterion/mm-broadband-modem-cinterion.c
+++ b/plugins/cinterion/mm-broadband-modem-cinterion.c
@@ -1590,7 +1629,12 @@ simstatus_check_ready (MMBaseModem *self,
const gchar *response;
response = mm_base_modem_at_command_finish (self, res, NULL);
- if (response) {
+ if (!response) {
+ /* "simstatus" not supported, go on anyway */
+ g_task_return_boolean (task, TRUE);
+ g_object_unref (task);
+ return;
+ } else {
gchar *descr = NULL;
guint val = 0;
_______________________________________________
ModemManager-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel