Hi Daniel,
On 2019-03-10 19:53, Daniel Wagner wrote:
> network->{driver,device} being NULL explains why -EIO is
returned. I'm thinking
> that should not happen. I also found another connman_network when digging
> into what the supplicant interface was seeing, and that's not the same network
> that the service holds a reference to..
network->driver is set to NULL in network_remove(). I don't thin
network_probe() is involved in your scenario. That would indicate that
wpa_s decided to remove the network.
Yeah, and then added again at some later point. But the service was
never updated. I'm trying to debug another strange behavior that I
haven't reported yet, where I get in a state when trying to connect to a
AP with a hidden SSID and I always get -EIO on that connection attempt,
unless I wait for a few (milli)seconds before calling Connect over DBus
after the Services changed dbus notification arrives. I think that it
might be a race between the service getting updated once, triggering my
connect()-attempt and then being updated again which is blocked in
update_from_network() since we're connecting. Adding a timer and just
waiting a bit makes everything work again, so.. I guess the same thing
might happen here.
It feels strange that a service with network->driver set to null is
still returned in the list, and obviously still has a refcount..
> Any pointers, suggestions, comments, etc that could either tell
me that
> I'm doing something wrong interacting with connman, or where to look
> further?
I think trying to get hold on the logs would be a good starting point,
so the connman log and the wpa_supplicant log. Furthermore, set the
CONNMAN_SUPPLICANT_DEBUG environment variable. That should give you
what ConnMan thinks wpa_supplicant is doing.
Sure. I'm enabling debug and will try to enable the supplicant debug as
well. Good tip.
BTW, which version of wpa_s are you using?
# wpa_supplicant -v
wpa_supplicant v2.6
Which is the one in yocto which seems to be pretty much 2.6 with some
patches for the KRACK attack. I could try getting 2.7 in there..
> I'm on connman 1.35 btw because of reasons, but I didn't
find anything
> in the connman history since that point that should have fixed this. But
> I'm gladly proven wrong.
I suggest to give the current HEAD a try, we never know :)
I've now moved up to 1.36 at least. Should I feel brave enough to push
HEAD to a few thousand of our customers? :)
--
Henrik Persson
Verisure Innovation AB