Hi, > If I'm not mistaken, whenever a sim insert/removal event is detected, we should just call > mm_broadband_modem_update_sim_hot_swap_detected(), which will trigger a full modem re-probe.
yes, I confirm this. *mm_broadband_modem_update_sim_hot_swap_detected* will trigger full re-probe and disable current modem. Here is the code in telit plugin 133 *if* ((prev_qss_status == QSS_STATUS_SIM_REMOVED && cur_qss_status != QSS_STATUS_SIM_REMOVED) || 134 (prev_qss_status > QSS_STATUS_SIM_REMOVED && cur_qss_status == QSS_STATUS_SIM_REMOVED)) { 135 mm_info ("QSS: SIM swap detected"); 136 mm_broadband_modem_update_sim_hot_swap_detected ( MM_BROADBAND_MODEM (self)); 137 } The if condition is a bit complex here because we can have 4 different QSS states, but if we are tracing just 2 or them (SIM IN vs SIM OUT), and if I'm not wrong here, whenever last_ready_state and ready_state differ, *mm_broadband_modem_update_sim_hot_swap_detected* should be called if self->priv->last_ready_state != ready_state: mm_broadband_modem_update_sim_hot_swap_detected (...) On 29 June 2017 at 11:08, Aleksander Morgado <aleksan...@aleksander.es> wrote: > On 29/06/17 10:51, Aleksander Morgado wrote: > >> + if (self->priv->last_ready_state != > >> MBIM_SUBSCRIBER_READY_STATE_SIM_NOT_INSERTED > && > >> + ready_state == MBIM_SUBSCRIBER_READY_STATE_SIM_NOT_INSERTED) { > >> + /* SIM has been removed */ > >> + mm_iface_modem_update_failed_state (MM_IFACE_MODEM (self), > >> + > MM_MODEM_STATE_FAILED_REASON_SIM_MISSING); > >> + } else if (self->priv->last_ready_state == > MBIM_SUBSCRIBER_READY_STATE_SIM_NOT_INSERTED && > >> + ready_state != > >> MBIM_SUBSCRIBER_READY_STATE_SIM_NOT_INSERTED) > { > >> + /* SIM has been reinserted */ > >> + mm_broadband_modem_update_sim_hot_swap_detected > (MM_BROADBAND_MODEM (self)); > >> + } > >> > > If I'm not mistaken, whenever a sim insert/removal event is detected, we > should just call mm_broadband_modem_update_sim_hot_swap_detected(), which > will trigger a full modem re-probe. In this case the method is only being > called for the case where the SIM is inserted, not for when the SIM is > removed. > > > > Also, could you provide MM debug logs showing the SIM card hot insertion > and the SIM card hot removal? > > -- > Aleksander > https://aleksander.es >
_______________________________________________ ModemManager-devel mailing list ModemManager-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel