Hi Gustavo, On 11/19/2010 03:36 PM, Gustavo F. Padovan wrote: > --- > plugins/phonesim.c | 10 ++++++++++ > 1 files changed, 10 insertions(+), 0 deletions(-) > > diff --git a/plugins/phonesim.c b/plugins/phonesim.c > index d2faf42..7426da6 100644 > --- a/plugins/phonesim.c > +++ b/plugins/phonesim.c > @@ -237,6 +237,13 @@ static void cfun_set_on_cb(gboolean ok, GAtResult *result, gpointer user_data) > ofono_modem_set_powered(modem, ok); > } > > +static void crst_notify(GAtResult *result, gpointer user_data) > +{ > + struct ofono_modem *modem = user_data; > + > + ofono_modem_reset(modem); I suggest you simply clean up the phonesim connection (e.g. closing the tcp socket) when you receive this notification, and then call modem_reset at the end. > +} > + > static void phonesim_disconnected(gpointer user_data) > { > struct ofono_modem *modem = user_data; > @@ -389,6 +396,9 @@ static int phonesim_enable(struct ofono_modem *modem) > g_at_chat_send(data->chat, "AT+CSCS=\"GSM\"", none_prefix, > NULL, NULL, NULL); > > + g_at_chat_register(data->chat, "+CRST:", > + crst_notify, FALSE, modem, NULL); > + > return 0; > } > Regards, -Denis