Send connman mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.01.org/mailman/listinfo/connman
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of connman digest..."


Today's Topics:

   1. [PATCH v3] gsupplicant: Optimize AddNetwork Handler by
      avoiding DBUS call. ([email protected])
   2. Error when using autoconnect (Francis Leblanc-Lebeau)


----------------------------------------------------------------------

Message: 1
Date: Thu, 17 Mar 2016 17:33:15 -0700
From: [email protected]
To: [email protected]
Cc: Naveen Singh <[email protected]>
Subject: [PATCH v3] gsupplicant: Optimize AddNetwork Handler by
        avoiding DBUS call.
Message-ID: <[email protected]>

From: Naveen Singh <[email protected]>

In case network path is not NULL, network should only be removed
if the new network (to be added) is different from what is sitting
in wpa_supplicant. This would avoid two DBUS calls: AddNetwork and
SelectNetwork.
---
 gsupplicant/supplicant.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index c8fbef6..4297557 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -181,6 +181,7 @@ struct _GSupplicantInterface {
        GHashTable *bss_mapping;
        void *data;
        const char *pending_peer_path;
+       char * added_ssid;
 };
 
 struct g_supplicant_bss {
@@ -616,6 +617,7 @@ static void remove_interface(gpointer data)
        g_free(interface->wps_cred.key);
        g_free(interface->path);
        g_free(interface->network_path);
+       g_free(interface->added_ssid);
        g_free(interface->ifname);
        g_free(interface->driver);
        g_free(interface->bridge);
@@ -4111,6 +4113,9 @@ static void interface_add_network_result(const char 
*error,
 
        interface->network_path = g_strdup(path);
 
+       g_free(interface->added_ssid);
+       interface->added_ssid = g_strdup(data->ssid->ssid);
+
        supplicant_dbus_method_call(data->interface->path,
                        SUPPLICANT_INTERFACE ".Interface", "SelectNetwork",
                        interface_select_network_params,
@@ -4708,6 +4713,17 @@ int g_supplicant_interface_connect(GSupplicantInterface 
*interface,
                        g_free(data->path);
                        dbus_free(data);
 
+                       /* If this add network is for the same SSID for which
+                        * wpa_supplicant already has a profile then do not need
+                        * to add another profile. Only if the profile that 
needs
+                        * to get added is different from what is there in wpa_s
+                        * delete the current one. interface->added_ssid is 
populated
+                        * once add network request is successful.*/
+
+                       if (g_strcmp0(interface->added_ssid, ssid->ssid) == 0) {
+                               return -EALREADY;
+                       }
+
                        intf_data = dbus_malloc0(sizeof(*intf_data));
                        if (!intf_data)
                                return -ENOMEM;
@@ -4756,6 +4772,9 @@ static void network_remove_result(const char *error,
         g_free(data->interface->network_path);
         data->interface->network_path = NULL;
 
+       g_free(data->interface->added_ssid);
+       data->interface->added_ssid = NULL;
+
        if (data->network_remove_in_progress == TRUE) {
                data->network_remove_in_progress = FALSE;
                connect_data = dbus_malloc0(sizeof(*connect_data));
-- 
2.8.0.rc3.226.g39d4020



------------------------------

Message: 2
Date: Fri, 18 Mar 2016 13:47:57 -0400
From: "Francis Leblanc-Lebeau" <[email protected]>
To: <[email protected]>
Subject: Error when using autoconnect
Message-ID: <[email protected]>
Content-Type: text/plain; charset="us-ascii"

Hi everyone !



I am using connman 1.31 on a ARM target (yocto build). I can properly
configure a Wifi connection in connmanctl, but when I try to enable auto
connect, I get this error:

 

connmanctl> config wifi --autoconnect yes

Error wifi: Method "SetProperty" with signature "sv" on interface
"net.connman.Service" doesn't exist

 

Note that connmand -n -d does not output anything when I use this command.

 

So everytime the wifi disconnect, I have manually reconnect using connmanctl
(example, due to power loss on the AP):

 

root@host:~# connmanctl

connmanctl> agent on

Agent registered

connmanctl> scan wifi

Scan completed for wifi

connmanctl> services

*AO Wired                ethernet_00112f849e2b_cable

*A  NETGEAR R3600
wifi_ac3fa44fd496_4e455447454152205233363030_managed_psk

connmanctl> connect wifi_ac3fa44fd496_4e455447454152205233363030_managed_psk

Connected wifi_ac3fa44fd496_4e455447454152205233363030_managed_psk

connmanctl> 

 

 

Thanks in advance !

Francis Leblanc

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.01.org/pipermail/connman/attachments/20160318/80d99f36/attachment-0001.html>

------------------------------

Subject: Digest Footer

_______________________________________________
connman mailing list
[email protected]
https://lists.01.org/mailman/listinfo/connman


------------------------------

End of connman Digest, Vol 5, Issue 24
**************************************

Reply via email to