All of lore.kernel.org
 help / color / mirror / Atom feed
* [info] modem data disconnection
@ 2015-07-21 11:31 Mylene JOSSERAND
  2015-07-21 15:03 ` Denis Kenzior
  0 siblings, 1 reply; 4+ messages in thread
From: Mylene JOSSERAND @ 2015-07-21 11:31 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 778 bytes --]

Hi everyone,


I have some questions about ofono and the data disconnection.

With debug information, after that my modem is online (connected to network via ppp0 interface), when I go back to offline (by setting online property to false), I can see that the modem network connection is down with :
ofonod[1039]: Modem: < ~\377}#\300!}%}#} }$\205r~

and PPP interface is removed :
ofonod[1039]: udevng.c:remove_device() /sys/devices/virtual/net/ppp0

I searched how ofono stops the modem connection, with escape sequence for example, but ofono does not seem to use it during offline sequence.

How does ofono handles it ?
How ofono (or gatppp, maybe ?) puts the modem network connection down (if it does) ?


Thank you in advance,

Best regards,

Mylene


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [info] modem data disconnection
  2015-07-21 11:31 [info] modem data disconnection Mylene JOSSERAND
@ 2015-07-21 15:03 ` Denis Kenzior
  2015-07-22  6:19   ` Mylene JOSSERAND
  0 siblings, 1 reply; 4+ messages in thread
From: Denis Kenzior @ 2015-07-21 15:03 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1678 bytes --]

Hi Mylene,

On 07/21/2015 06:31 AM, Mylene JOSSERAND wrote:
> Hi everyone,
>
>
> I have some questions about ofono and the data disconnection.
>
> With debug information, after that my modem is online (connected to network via ppp0 interface), when I go back to offline (by setting online property to false), I can see that the modem network connection is down with :
> ofonod[1039]: Modem: < ~\377}#\300!}%}#} }$\205r~
>
> and PPP interface is removed :
> ofonod[1039]: udevng.c:remove_device() /sys/devices/virtual/net/ppp0
>
> I searched how ofono stops the modem connection, with escape sequence for example, but ofono does not seem to use it during offline sequence.
>

In this case the ofono_gprs_context atom is being created in post_online 
state.  Since you go offline, the modem goes back to post_sim state and 
any atoms created in post_online() are destroyed.  E.g. the atom's 
remove() method is called.  This removes all PPP processing from the 
chat and forces it back into AT command mode.

There was a similar thread recently about SIM Removal on HE910 
exhibiting similar behavior.  In that case the modem went back to 
pre_sim state, so all post_sim and post_online atoms were destroyed.

> How does ofono handles it ?

Solution is to put gprs_context creation into pre_sim on modems that 
reply to CFUN=4 or equivalent before sending the final PPP frame.

> How ofono (or gatppp, maybe ?) puts the modem network connection down (if it does) ?
>

oFono detects PPP end-of-session frames as well as the NO CARRIER result 
code.  See gatchat/gathdlc.c new_bytes() and 
g_at_hdlc_set_no_carrier_detect()

Regards,
-Denis

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [info] modem data disconnection
  2015-07-21 15:03 ` Denis Kenzior
@ 2015-07-22  6:19   ` Mylene JOSSERAND
  2015-07-22 16:23     ` Denis Kenzior
  0 siblings, 1 reply; 4+ messages in thread
From: Mylene JOSSERAND @ 2015-07-22  6:19 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1921 bytes --]

Hi Denis,

>>
>> I have some questions about ofono and the data disconnection.
>>
>> With debug information, after that my modem is online (connected to network via ppp0 interface), when I go back to offline (by setting online property to false), I can see that the modem network connection is down with :
>> ofonod[1039]: Modem: < ~\377}#\300!}%}#} }$\205r~
>>
>> and PPP interface is removed :
>> ofonod[1039]: udevng.c:remove_device() /sys/devices/virtual/net/ppp0
>>
>> I searched how ofono stops the modem connection, with escape sequence for example, but ofono does not seem to use it during offline sequence.
>>
>
> In this case the ofono_gprs_context atom is being created in post_online state.  Since you go offline, the modem goes back to post_sim state and any atoms created in post_online() are destroyed.  E.g. the atom's remove() method is called.  This removes all PPP processing from the chat and forces it back into AT command mode.

ok thank you for the explanation.
How atoms force to go back into AT commands mode ? Where is it done in the code ?

>
> There was a similar thread recently about SIM Removal on HE910 exhibiting similar behavior.  In that case the modem went back to pre_sim state, so all post_sim and post_online atoms were destroyed.

I will look to it.

>
>> How does ofono handles it ?
>
> Solution is to put gprs_context creation into pre_sim on modems that reply to CFUN=4 or equivalent before sending the final PPP frame.
>
>> How ofono (or gatppp, maybe ?) puts the modem network connection down (if it does) ?
>>
>
> oFono detects PPP end-of-session frames as well as the NO CARRIER result code.  See gatchat/gathdlc.c new_bytes() and g_at_hdlc_set_no_carrier_detect()

I noticed the gathdlc::new_bytes method when I was looking into the code but I did not understand what this file is it for. Thanks for the hints.

Best regards,

Mylene

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [info] modem data disconnection
  2015-07-22  6:19   ` Mylene JOSSERAND
@ 2015-07-22 16:23     ` Denis Kenzior
  0 siblings, 0 replies; 4+ messages in thread
From: Denis Kenzior @ 2015-07-22 16:23 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 466 bytes --]

Hi Mylene,

 >
> ok thank you for the explanation.
> How atoms force to go back into AT commands mode ? Where is it done in the code ?
>

Each atom behaves differently.  Refer to the atom's remove() function 
for details.  E.g. the 'atmodem' gprs_context atom uses g_at_ppp_unref() 
and g_at_chat_resume() to force the chat out of PPP mode.  This is why 
you see "garbage" on the AT trace.  In reality it is just a final HDLC 
frame.

Regards,
-Denis

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-07-22 16:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-21 11:31 [info] modem data disconnection Mylene JOSSERAND
2015-07-21 15:03 ` Denis Kenzior
2015-07-22  6:19   ` Mylene JOSSERAND
2015-07-22 16:23     ` Denis Kenzior

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.