On 06/05/13 19:46, Dan Williams wrote:
>>>>> > >>> Would a transition from 'registered' to 'idle'/'searching' 
>>>>> > >>> considered a
>>>>> > >>> 'service' loss from the connection manager's perspective (e.g. the 
>>>>> > >>> service
>>>>> > >>> disappears and then reappears in connection manager)?  In practice, 
>>>>> > >>>  a
>>>>> > >>> +CEREG change may not necessarily mean that the service disappears. 
>>>>> > >>> But I
>>>>> > >>> guess such a glitch can be smoothed out in the connection manager 
>>>>> > >>> layer
>>>>> > >>> instead of the modem manager layer. I'm happy to update the logic as
>>>>> > >>> suggested if that's the expected behavior.
>>>> > >>
>>>> > >> Idle might be, searching probably wouldn't be.  For Searching I think 
>>>> > >> we
>>>> > >> wanted to do the 15 or 30 second timer thing and only terminate if the
>>>> > >> modem didn't reacquire the network within that window?  If the device 
>>>> > >> is
>>>> > >> 'idle' though, I'm pretty sure you're hosed and we should shut the
>>>> > >> packet data connection down.  If the device is 'idle', then it's not
>>>> > >> looking for a network, and it's not registered, so you have nothing.
>>> > > 
>>> > > 
>>> > > I'm fine with the 15s timeout when we are connected; but when not
>>> > > connected, a change from registered to either idle or searching should
>>> > > probably get notified in the DBus interface, that's the change I'm
>>> > > suggesting.
>>> > > 
>> > 
>> > Thinking it twice, what I think we should have is the following:
>> > 
>> >  *  3GPP registration changes are notified always *right away* (no
>> > timeout) in the 3GPP DBus interface ("RegistrationState" property),
>> > regardless of whether we are connected or not.
>> >  *  Same for 3GPP2: CDMA1x and EV-DO registration changes are notified
>> > always *right away* (no timeout) in the CDMA DBus interface
>> > ("Cdma1xRegistrationState" and "EvdoRegistrationState" properties),
>> > regardless of whether we are connected or not.
>> >  * The 15s timeout to report unregistered should be set up only when the
>> > modem is connected; and the logic should be applied in the Modem
>> > interface, and only for the "State" property (so applicable to both 3GPP
>> > and 3GPP2).
>> > 
>> > 
>> > Some example cases:
>> >  1) If the modem *is not* connected and we get a 3GPP registration
>> > update from MM_MODEM_3GPP_REGISTRATION_STATE_HOME to
>> > MM_MODEM_3GPP_REGISTRATION_STATE_SEARCHING, "RegistrationState" in the
>> > 3GPP interface is updated right away, and the "State" property in the
>> > Modem interface is also updated (Registered->Searching) right away.
>> > 
>> >  2) If the modem *is* connected and we get a 3GPP registration update
>> > from MM_MODEM_3GPP_REGISTRATION_STATE_HOME to
>> > MM_MODEM_3GPP_REGISTRATION_STATE_SEARCHING, "RegistrationState" in the
>> > 3GPP interface is updated right away, _but_ for the "State" property in
>> > the Modem interface we wait up to 15s before updating it
>> > (Connected->Disconnecting->Searching), in case we get a new registration
>> > state update back to HOME.
> Yeah, this seems like more correct behavior to me.  I think it's useful
> for clients to know the actual state of the registration, which
> obviously is a separate property to the overall modem state, and only
> one input into it.

Tracking the change here:

https://bugzilla.gnome.org/show_bug.cgi?id=699803

-- 
Aleksander
_______________________________________________
networkmanager-list mailing list
networkmanager-list@gnome.org
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to