Patrik,
Yes, I'm calling net.connman.Service.Disconnect on a connection that is already
in progress (the documentation seems to say that this is the proper way to
cancel an in-progress connection).
This is the output from connmanctl that most mirrors my use case:
$ ./connmanctl
Error getting peers: Method "GetPeers" with signature "" on interface
"net.connman.Manager" doesn't exist
connmanctl> agent on
Agent registered
connmanctl> services
*AO Wired ethernet_b8ca3a807076_cable
wifi_000272357823_hidden_managed_psk
wifi_000272357823_hidden_managed_wep
wifi_000272357823_hidden_managed_none
EmployeeNet
wifi_000272357823_456d706c6f7965654e6574_managed_ieee8021x
I3 wifi_000272357823_4933_managed_psk
X1 wifi_000272357823_5831_managed_none
X3 wifi_000272357823_5833_managed_psk
private wifi_000272357823_70726976617465_managed_ieee8021x
public wifi_000272357823_7075626c6963_managed_none
QABLK93 wifi_000272357823_5141424c4b3933_managed_psk
MVRS-B95 wifi_000272357823_4d5652532d423935_managed_psk
linksys wifi_000272357823_6c696e6b737973_managed_psk
NPC_BLK111_FW
wifi_000272357823_4e50435f424c4b3131315f4657_managed_psk
tmptest wifi_000272357823_746d7074657374_managed_psk
Test Shark wifi_000272357823_5465737420536861726b_managed_none
Firewall Box wifi_000272357823_4669726577616c6c20426f78_managed_psk
HP-Print-7e-LaserJet 200
wifi_000272357823_48502d5072696e742d37652d4c617365724a657420323030_managed_psk
SORENSON5758 wifi_000272357823_534f52454e534f4e35373538_managed_psk
connmanctl> connect wifi_000272357823_hidden_managed_psk
Agent RequestInput wifi_000272357823_hidden_managed_psk
Name = [ Type=string, Requirement=mandatory, Alternates=[ SSID ] ]
SSID = [ Type=ssid, Requirement=alternate ]
Passphrase = [ Type=psk, Requirement=mandatory ]
Hidden SSID name? QANVP2
Passphrase?
At this point the user interface sends me an event that triggers the call to
Disconnect(). The call to Disconnect completes as expected (returns a not
connected error). My net.connman.Agent.RequestInput() routine then returns an
empty dict. My net.connman.Agent.Disconnect routine is called. But the
original net.connman.Service.Connect() call never returns.
The one major difference between connmanctl and my use case is that in
net.connman.Agent.RequestInput() only the hidden SSID is returned the first
time, and net.connman.Agent.RequestInput is called again to prompt for the
Passphrase. That is the point when the user triggers the call to Disconnect().
What I expect to be the proper behavior happens on visible access points with
security, and open hidden access points. This only happens on the hidden_psk
AP.
I hope this helps. If you need more information, you can reply to me
personally. Thank you.
Tom
-----Original Message-----
From: connman [mailto:[email protected]] On Behalf Of Patrik Flykt
Sent: Thursday, January 15, 2015 12:58 AM
To: [email protected]
Subject: Re: cancel connect with hidden psk network
Hi,
On Wed, 2015-01-14 at 22:55 +0000, Thomas Green wrote:
> I'm still having an issue when canceling a connection to a network
> that is 1) hidden, and 2) has psk security.
>
> The connection proceeds normally until the agent requests a password.
> At that point the user is telling me to cancel the connection. So, I
> call "Cancel" on the service.
Cancel what? net.connman.Service has a Disconnect() function, are you calling
that? Or are you saying that the UI replies with
net.connman.Agent.Error.Canceled?
> The cancel call completes successfully, then the agent cancel handler
> is called. But at no time does the initial "Connect" call return
> (failed or otherwise).
Can you run your use case entirely with connmanctl and post the printouts from
that? Then we'd be in the clear with what the usage scenario is.
Cheers,
Patrik
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman