diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2013-09-11 17:08:27 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2013-09-11 17:08:27 +0200 |
commit | e755181fd57f8059e3bc5451865d9dafff58f922 (patch) | |
tree | 8ef869fd50ee9a4e953db5b4c3ac59e048934e8f | |
parent | 0ff4da71e37e449eb4ade106d78cf6b753af671d (diff) |
broadband-modem: only used CIND? for signal quality if actually reported
The Huawei MU736 supports CIND? but not for signal quality reporting:
AT+CIND=?
+CIND : ("call",(0,1)), ("message",(0,1)), ("roam",(0,1))
OK
AT+CIND?
+CIND:0,0,0
OK
Which ended up with the following during execution:
ModemManager[3044]: (ttyUSB1) Could not parse CIND signal quality results;
signal index (255) outside received range (0-3)
Just avoid this, and make CIND? be used for signal quality retrieval only if
(1) CIND? is actually supported and (2) CIND? reports signal quality
information.
-rw-r--r-- | src/mm-broadband-modem.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c index 3a9c8549..b3b6985f 100644 --- a/src/mm-broadband-modem.c +++ b/src/mm-broadband-modem.c @@ -1987,7 +1987,8 @@ modem_load_signal_quality (MMIfaceModem *self, /* Check whether we can get a non-connected AT port */ ctx->port = (MMSerialPort *)mm_base_modem_get_best_at_port (MM_BASE_MODEM (self), &error); if (ctx->port) { - if (MM_BROADBAND_MODEM (self)->priv->modem_cind_supported) + if (MM_BROADBAND_MODEM (self)->priv->modem_cind_supported && + CIND_INDICATOR_IS_VALID (MM_BROADBAND_MODEM (self)->priv->modem_cind_indicator_signal_quality)) signal_quality_cind (ctx); else signal_quality_csq (ctx); |