<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">> Aren't the sim hot swap unsolicited messages received always, regardless of whether the modem is enabled or disabled?<br><br>disabling_stopped function releases both ports contexts, so we don't receive unsolicited on SIM swap ports.<br><br>> The only issue is when getting #QSS=0 after a +CFUN=4, right? Because we would be getting a SIM removal event that isn't really such thing, it was just the SIM card being powered off as well. Is there maybe a command to get into low-power mode that shuts down RF but leaves SIM card powered?<br><br>This is correct, but we don't have commands that disable RF and leaves SIM card powered.<br><br>> A wild idea, but would it be possible to wrap around the +CFUN calls between #QSS indication disabled and enabled?<br>> E.g.<br>>   Disable #QSS indications (not just ignore them in MM, but explicitly tell the modem to not send them)<br>>   +CFUN=4<br>>   Enable #QSS indications right away<br>>   (maybe the #QSS won't arrive here as it was disabled during CFUN?)<br>> <br>> Would that make sense? Or will the #QSS be sent anyway, even if it was disabled during the +CFUN being run?<br><br>That's actually a good idea to test. I've thought about disabling on CFUN=4 and re-enabling on CFUN=1, but not around the same command.<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 1 August 2017 at 10:32, Aleksander Morgado <span dir="ltr"><<a href="mailto:aleksander@aleksander.es" target="_blank">aleksander@aleksander.es</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
On 01/08/17 10:04, Carlo Lobrano wrote:<br>
> last week I was working to handle a behavior that most of the Telit modem<br>
</span>> have, that is, they emit *#QSS* unsolicited in consequence of *+CFUN*<br>
> commands. Most of the times, the modems are already in *+CFUN=1* at the<br>
<span class="">> start so we did not notice it in a normal power up, but if we put the modem<br>
</span>> in power low state, the *+CFUN=4* triggers a *#QSS=0* that the ModemManager<br>
<span class="">> considers as a SIM swap. Note that this is receved as soon as the modem is<br>
> enabled again, because currently we release SIM swap ports while disabling<br>
</span>> the modem, and, if we set power state on, ***together with the #QSS=1 due<br>
> to +CFUN=1*** causing a crash.<br>
><br>
<br>
Aren't the sim hot swap unsolicited messages received always, regardless of whether the modem is enabled or disabled?<br>
<span class=""><br>
> Generally speaking this behavior isn't wrong per se (a part from the crash,<br>
> that can be fixed), because the SIM is actually turned off, but in this<br>
</span>> configuration we cannot re-enable the modem, while sending a *+CFUN=1* the<br>
<span class="">> modem would be usable again.<br>
><br>
> So, I made a couple of patches, (1) avoid releasing SIM swap ports on modem<br>
> disable, so we can still receive SIM notifications at the right moment, and<br>
</span>> (2) ignore QSS unsolicited when changing *+CFUN* state and only for a short<br>
<span class="">> amount of time. The problem is that there isn't a specific timeout within<br>
> which this unsolicited must arrive and according to my tests it is quite<br>
> variable (about between 3 and 10 seconds).<br>
><br>
<br>
</span>The only issue is when getting #QSS=0 after a +CFUN=4, right? Because we would be getting a SIM removal event that isn't really such thing, it was just the SIM card being powered off as well. Is there maybe a command to get into low-power mode that shuts down RF but leaves SIM card powered?<br>
<br>
> One solution is then to ignore *#QSS* for like 10 seconds, while the other<br>
> one is to keep ignoring them in the whole time between *+CFUN=4* and*<br>
> +CFUN=1*. This last solution is more consistent, but it won't let us get<br>
<span class="">> SIM removal/insertion when the modem is in power-state-low.<br>
<br>
</span>A wild idea, but would it be possible to wrap around the +CFUN calls between #QSS indication disabled and enabled?<br>
E.g.<br>
  Disable #QSS indications (not just ignore them in MM, but explicitly tell the modem to not send them)<br>
  +CFUN=4<br>
  Enable #QSS indications right away<br>
  (maybe the #QSS won't arrive here as it was disabled during CFUN?)<br>
<br>
Would that make sense? Or will the #QSS be sent anyway, even if it was disabled during the +CFUN being run?<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Aleksander<br>
<a href="https://aleksander.es" rel="noreferrer" target="_blank">https://aleksander.es</a><br>
</font></span></blockquote></div><br></div>