2011/1/5 Aki Niemi <aki@protocolpolice.com>
Hi Marit,

2010/12/17 Marit Henriksen <maritsofie.henriksen8@gmail.com>:
> From: Marit Henriksen <marit.henriksen@stericsson.com>
> Signal strength is set to -1 whenever registration status changes
> and differs from registered or roaming. When registration status
> changes again to registered or roaming, the signal strength needs to
> be updated, added query towards driver to get it.

Typically the modem updates signal strength along with registration
status.  What are you trying to achieve here?  Is this to avoid
problems caused by reordering, i.e., ofono_netreg_strength_notify()
getting called before ofono_netreg_status_notify()?

The STE modem does not seem to behave like you describe, updating
signal strength along with registration status. We use CIEV for
signal strength updates, and when testing I observed that registration
status was often changed without signal strength being updated (got CREG
but not CIEV from modem). So ofono_netreg_status_notify() was called
several times (and with states different from registered or roaming) without
ofono_netreg_strength_notify() being called. Thus signal_strength was set
to -1, and the Strength property was not reported.


> @@ -1319,6 +1332,9 @@ void ofono_netreg_status_notify(struct ofono_netreg *netreg, int status,
>                if (netreg->driver->current_operator)
>                        netreg->driver->current_operator(netreg,
>                                        current_operator_callback, netreg);

Add extra line feed here.

I'll send a new patch.

regards, Marit

> +               if (netreg->driver->strength)
> +                       netreg->driver->strength(netreg,
> +                                       signal_strength_callback, netreg);
>        } else {
>                struct ofono_error error;

ofono mailing list