Hi Jeff,

> > This patch set implements PreferredTechnologies described in
> > http://lists.connman.net/pipermail/connman/2012-March/008605.html.
> > It took some time longer than expected, as I went in the wrong direction
> > a couple of times on the way.
> >
> > With this patch set ordering of the services is not changed. Instead
> > when autoconnecting, a new sequence of preferred services is created
> > which is tried first. Should none of the services in the preferred
> > service list start connecting, a normal autoconnect using the service
> > list/sequence is run. The autoconnection code is refactored with some
> > modifications for preferred services, and can thus work with either
> > the service list or the preferred technology list (patch 07).
> >
> > The preferred technology list is created by going through the service
> > list one technology at a time (patch 05). The list of preferred
> > technologies is read from main.conf (patch 02) and converted to service
> > types with a helper function (patch 04).
> >
> > When a preferred service could go online or ready (patch 09), the current
> > service is compared against the previous default (patch 08). If the service
> > is found to be more preferred than the default online one, the order of 
> > these
> > services are switched (patch 06). Also, if neither service is preferred or
> > the online check failed for the new service, make a new autoconnect
> > attempt to find another preferred service that could go online (patch 09).
> >
> > Two minor issues were also fixed (patches 01 and 03) and TODO updated
> > (patch 10).
> >
> > Cheers,
> >
> >     Patrik
> >
> >
> > Patrik Flykt (10):
> >    main: Free g_key_file config immediately after use
> >    main: Add 'PreferredTechnologies' configuration file option
> >    main: Consistently use semicolon as list separator
> >    service: Add __connman_service_string2type() function
> >    service: Create preferred technology list
> >    service: Factor out code for switching two services
> >    service: Try preferred technologies first, then normal autoconnect
> >    service: Function for checking and updating service ordering
> >    service: Update ordering regarding connected preferred service
> >    TODO: Mark PreferredTechnologies (PriorityTechnologies) done
> >
> >   TODO              |   11 ---
> >   include/setting.h |    1 +
> >   src/connman.h     |    1 +
> >   src/main.c        |   30 ++++++--
> >   src/service.c     |  216 
> > ++++++++++++++++++++++++++++++++++++++++++++---------
> >   5 files changed, 206 insertions(+), 53 deletions(-)
> >
> I have questions about PreferredTechnologies(or am I correct?):
> + If PreferredTechnologies is empty, nothing changes.
> + PreferredTechnologies is used for both autoconnect and auto switching.
>    (example of autocnnect is autoconnect when system reboots)
> + For autoconnect, connman will connect service one by one and will stop
>    connect to other services if a service is connected.
> + For auto switching, connman will try to connect to a service if:
>          + it's the new service of higher priority technology
>                  + Is it necessary that favorite and autoconnect of
>                    the service must be true?

this has always been a requirement. Your service needs to be a favorite
and autoconnect needs to be true.

For the default value of auto connect and how it can differ between
platforms, see my original email that started this.

But you bring up a good point. A cellular service that has never been
connected is not favorite. So we might need an option for automatically
making cellular service a favorite as soon as ConnMan sees them.

>          + Anything else? (For example, connman fails to connect to an
>            higher priority WiFi service with weak signal, so then connected
>            to a 3G service. Later, the wifi service signal becomes strong
>            enough to connect)

That is the expected behavior. ConnMan will keep the 3G connection and
only if the WiFi connection succeeded it will switch the default. And it
will keep trying in case it failed.

> + "connected" in auto switching means that a service state is ready/online
>          + If current connection is 'online', and connman finds a higher
>            priority service in state 'ready', what will happen?

This makes no sense to me. What is your question?

Regards

Marcel


_______________________________________________
connman mailing list
connman@connman.net
http://lists.connman.net/listinfo/connman

Reply via email to