<div dir="ltr"><br><br><br><div class="gmail_quote"><div dir="ltr">On Fri, Jan 5, 2018 at 7:33 AM Dan Williams <<a href="mailto:dcbw@redhat.com" target="_blank">dcbw@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, 2018-01-05 at 06:57 +0000, Ben Chan wrote:<br>
> Hi Aleksander and Dan<br>
><br>
> ModemManager currently relies on unsolicited MBIM_CID_SIGNAL_STATE<br>
> notification to obtain signal quality updates, and it doesn't query<br>
> the<br>
> initial signal quality. I've observed that some MBIM modems issue a<br>
> MBIM_CID_SIGNAL_STATE<br>
> notification only when there is a notable change in RSSI. The signal<br>
> quality may remain at 0 for quite some time. It's more noticeable<br>
> when<br>
> simply restarting ModemManager after the modem has been initialized<br>
> and<br>
> enabled once.<br>
><br>
> We could simply enable periodic signal quality polling on an MBIM<br>
> modem,<br>
> but that's less ideal as it may unnecessarily wake the modem up from<br>
> USB<br>
> selective suspend (unless we use a much longer polling period).<br>
><br>
> I'm thinking about letting ModemManager issue an initial<br>
> MBIM_CID_SIGNAL_STATE query when it enables MBIM_CID_SIGNAL_STATE<br>
> notification.  Does that sound reasonable to you. If so, I'll submit<br>
> a<br>
> patch.<br>
<br>
Sounds OK to me.<br></blockquote><div><br></div><div>On a related question, it seems like QMI uses both periodic polling and unsolicited indication for signal strength updates. Is that intentional?   If we decide that it's best to handle signal updates over unsolicited notifications for MBIM and QMI modems, perhaps we could bake the logic in MMIfaceModem instead.  Currently, <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">MMIfaceModem skips periodic updates if the load_signal_quality function pointer is NULL or if load_signal_quality returns UNSUPPORTED. Neither addresses the case where we want to call load_signal_quality to load the initial signal quality but skip further periodic polling.  I guess we could use a MM_IFACE_MODEM_PERIODIC_SIGNAL_UPDATES_DESIRED property to indicate such an intention?</span></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Dan<br>
</blockquote></div></div>