Send connman mailing list submissions to
        connman@lists.01.org

To subscribe or unsubscribe via email, send a message with subject or
body 'help' to
        connman-requ...@lists.01.org

You can reach the person managing the list at
        connman-ow...@lists.01.org

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

Today's Topics:

   1. Re: connman wifi disconnect problem (KeithG)
   2. Re: [PATCH 0/6] Support SplitRouting variable on vpnd
      (Daniel Wagner)
   3. wpa3 support (Dembianny, Sven (GED-SDD1))


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

Date: Tue, 22 Sep 2020 19:08:55 -0500
From: KeithG <ys3al...@gmail.com>
Subject: Re: connman wifi disconnect problem
To: Daniel Wagner <w...@monom.org>
Cc: "Ryll, Jan (GED-SDD2)" <jan.r...@bshg.com>, "connman@lists.01.org"
        <connman@lists.01.org>
Message-ID:
        <CAG17S_MD6Z2N7EmsNfP4askO8=df5qzmcju5tdakltfkf0v...@mail.gmail.com>
Content-Type: multipart/alternative;
        boundary="00000000000057224405afefe44c"

--00000000000057224405afefe44c
Content-Type: text/plain; charset="UTF-8"

DAniel,

I am still trying to run the python scripts. I am on arch  and finally
figured out I needed to do it this way:
"sudo pip install gobject pygobject" in additon to the pacman -Sy gobject
so Now I get a bit farther:
# ./monitor-connman
Traceback (most recent call last):
  File "./monitor-connman", line 85, in <module>
    mainloop = gobject.MainLoop()
AttributeError: module 'gobject' has no attribute 'MainLoop'

I am still at a loss as to how to get this running.

On Tue, Sep 22, 2020 at 8:59 AM KeithG <ys3al...@gmail.com> wrote:

>
>
> On Mon, Sep 21, 2020 at 3:15 AM Daniel Wagner <w...@monom.org> wrote:
>
>> On Sun, Sep 20, 2020 at 10:44:37AM -0500, KeithG wrote:
>> > I'm still struggling with this and have done a lot of poking at it and
>> > posting Denis off list as well. This is what I 'think' I have learned.
>>
>> BTW, you should refrain from posting off list questions if it doesn't
>> contain any secret information (or you were asked to send it privately).
>> I don't know what you figured out with Denis' help. Open source includes
>> open discussion.
>>
>> > 1) iwd as standalone or with systemd-networkd/dhcpch or with
>> NetworkManager
>> > on x64 or on RPIs, all running arch linux, works great at version 1.9.
>> If
>> > the SSID 'goes away' and 'comes back' the computer will reconnect. every
>> > time.
>> > 2) NetworkManager works well with iwd and as best I can tell, it will
>> > reconnect via its interaction with iwd.
>> > 3) When I run systemd-networkd/dhcpcd with iwd, it is more like it iwd
>> > running standalone as I can edit the /var/lib/iwd/ssid.psk either
>> manually
>> > or through iwctl so that:
>> > [Settings]
>> > AutoConnect=true
>> > In this setup, the computer reconnects at boot *and* when the SSID goes
>> > away and comes back.
>>
>> That means if iwd manages the reconnects all works well.
>>
>> > 4) When connman manages iwd, though, I cannot edit the ssid.psk file and
>> > have it stick. Though it connects every time at boot, it will not
>> reconnect
>> > if the ssid goes away and returns.
>>
>> This is because ConnMan is taking over the job of managing the
>> connections and actively disables the AutoConnect in iwd.
>>
>> > This is with the headless rpis with
>> > their broadcom cards and with a laptop runnning a full Arch Linux
>> desktop
>> > with an intel wifi card. One other thing I notice is that when it has
>> > disconnected (SSID off then on), the 'connmanctl services' list is
>> > incomplete. It definitely does not show all the currently available
>> ssids
>> > broadcasting.
>>
>> Check what the monitor-iwd scripts shows and compare it with the output
>> from 'connmand -n -d plugins/iwd.c'
>>
>> > If I type 'connmanctl scan wifi' it will complete a scan
>> > *and* reconnect.
>>
>> Likely the SSID was not seen by ConnMan and that's why it doesn't do a
>> reconnect. The scan will retrigger the machinery. The output from
>> monitor-iwd is again a good starting point to see what is missing
>> between the communication between ConnMan and iwd.
>>
>> > It is like connman gets stuck. and stops managing the wifi.
>>
>> ConnMan is only reacting to events. If there is no event from iwd to
>> ConnMan nothing will happen. From your description I think there is
>> either a missing event or ConnMan ignores an event (would be a bit
>> surprising but well).
>>
>> > I also note that if the ethernet cable is plugged in on the RPIs then
>> the
>> > device is connected to the wifi ap then the ethernet cable is removed
>> that
>> > all internet connectivity ceases.
>>
>> Again ConnMan reacts to events. If the kernel doesn't send a netlink
>> message, nothing will happen. I would be surprised if ConnMan and the
>> the generic kernel code have a bug there. So I would look more closely
>> at what the driver is doing here first.
>>
>> > Both interfaces go down and will not
>> > reconnect requiring a reboot. It is tough for me to really query this
>> as I
>> > see it on my headless rpis and when the connectivity goes away, I have
>> to
>> > reboot to get it back. It did not behave like this with netctl nor does
>> it
>> > behave like this with systemd-networkd.
>>
>> As far as I know, systemd-networkd uses also udev as input. Maybe this
>> makes the difference.
>>
>> > Also, on the rpis, I have noticed that connman can get into a state
>> where
>> > plugging in the ethernet cable results in nothing. connman will not
>> bring
>> > up the ethernet interface.
>> >
>> > We have reworked a php interface from netctl tp work with connman for
>> these
>> > little rpi audio devices and I would love for it to work, but if a
>> headless
>> > device cannot reconnect when the ssid returns, it is a bit useless.
>> Isn't
>> > connman supposed to do this?
>>
>> ConnMan should be able to this modulo bugs.
>>
>> > There are many things I like about connman but
>> > this seems like a basic function that seems to be broken and I am
>> surprised
>> > that I find very little info on it on the internet.
>>
>> I've tried your scenarios on my hardware and it works. Obviously,
>> different hardware/driver behave slightly differently and ConnMan might
>> choke on it.
>>
>> So the question is why it works with systemd-networkd and not with
>> ConnMan.
>>
>
> I cannot find the monitor-iwd script. I found the monitor-connman script,
> but when I try to run the monitor-connman script, I get a gobject error:
>
> $ ./monitor-connman
> Traceback (most recent call last):
>   File "./monitor-connman", line 3, in <module>
>     import gobject
> ModuleNotFoundError: No module named 'gobject'
>
> This is even though I believe that python-gobject is installed and I can
> run the hello.py script on this page:
> https://pygobject.readthedocs.io/en/latest/getting_started.html
> python 3.8.5 and
> $ pacman -Q | grep gobject
> gobject-introspection 1.66.0-1
> gobject-introspection-runtime 1.66.0-1
> pygobject-devel 3.36.1-1
> python-gobject 3.36.1-1
>
> I am now running on a pretty common dell laptop with an intel wifi card
> and get the same behavior. iwd 1.9 connman 1.38. I connected via connman
> then powered down the radio on the router then back on then had to
> reconnect by typing in teh password.  The journal of this event is
> attached.
>
> I did notice that in order to reconnect on this laptop (Arch Linux x86_64)
> that I had to type in the password again though I was just connected before
> I turned off the SSID. The journal running /usr/bin/connmand -n -d
> plugins/iwd.c:src/service.c though this event is attached.
>

--00000000000057224405afefe44c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>DAniel,</div><div><br></div><div>I am still trying to=
 run the python scripts. I am on arch=C2=A0 and finally figured out I neede=
d to do it this way:</div><div>&quot;sudo pip install gobject pygobject&quo=
t; in additon to the pacman -Sy gobject so Now I get a bit farther:</div><d=
iv># ./monitor-connman<br>Traceback (most recent call last):<br>=C2=A0 File=
 &quot;./monitor-connman&quot;, line 85, in &lt;module&gt;<br>=C2=A0 =C2=A0=
 mainloop =3D gobject.MainLoop()<br>AttributeError: module &#39;gobject&#39=
; has no attribute &#39;MainLoop&#39;</div><div><br></div><div>I am still a=
t a loss as to how to get this running. <br></div></div><br><div class=3D"g=
mail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Sep 22, 2020 at 8=
:59 AM KeithG &lt;<a href=3D"mailto:ys3al...@gmail.com";>ys3al...@gmail.com<=
/a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0=
px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><=
div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote"><=
div dir=3D"ltr" class=3D"gmail_attr">On Mon, Sep 21, 2020 at 3:15 AM Daniel=
 Wagner &lt;<a href=3D"mailto:w...@monom.org"; target=3D"_blank">wagi@monom.=
org</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"marg=
in:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1e=
x">On Sun, Sep 20, 2020 at 10:44:37AM -0500, KeithG wrote:<br>
&gt; I&#39;m still struggling with this and have done a lot of poking at it=
 and<br>
&gt; posting Denis off list as well. This is what I &#39;think&#39; I have =
learned.<br>
<br>
BTW, you should refrain from posting off list questions if it doesn&#39;t<b=
r>
contain any secret information (or you were asked to send it privately).<br=
>
I don&#39;t know what you figured out with Denis&#39; help. Open source inc=
ludes<br>
open discussion.<br>
<br>
&gt; 1) iwd as standalone or with systemd-networkd/dhcpch or with NetworkMa=
nager<br>
&gt; on x64 or on RPIs, all running arch linux, works great at version 1.9.=
 If<br>
&gt; the SSID &#39;goes away&#39; and &#39;comes back&#39; the computer wil=
l reconnect. every<br>
&gt; time.<br>
&gt; 2) NetworkManager works well with iwd and as best I can tell, it will<=
br>
&gt; reconnect via its interaction with iwd.<br>
&gt; 3) When I run systemd-networkd/dhcpcd with iwd, it is more like it iwd=
<br>
&gt; running standalone as I can edit the /var/lib/iwd/ssid.psk either manu=
ally<br>
&gt; or through iwctl so that:<br>
&gt; [Settings]<br>
&gt; AutoConnect=3Dtrue<br>
&gt; In this setup, the computer reconnects at boot *and* when the SSID goe=
s<br>
&gt; away and comes back.<br>
<br>
That means if iwd manages the reconnects all works well.<br>
<br>
&gt; 4) When connman manages iwd, though, I cannot edit the ssid.psk file a=
nd<br>
&gt; have it stick. Though it connects every time at boot, it will not reco=
nnect<br>
&gt; if the ssid goes away and returns.<br>
<br>
This is because ConnMan is taking over the job of managing the<br>
connections and actively disables the AutoConnect in iwd.<br>
<br>
&gt; This is with the headless rpis with<br>
&gt; their broadcom cards and with a laptop runnning a full Arch Linux desk=
top<br>
&gt; with an intel wifi card. One other thing I notice is that when it has<=
br>
&gt; disconnected (SSID off then on), the &#39;connmanctl services&#39; lis=
t is<br>
&gt; incomplete. It definitely does not show all the currently available ss=
ids<br>
&gt; broadcasting.<br>
<br>
Check what the monitor-iwd scripts shows and compare it with the output<br>
from &#39;connmand -n -d plugins/iwd.c&#39;<br>
<br>
&gt; If I type &#39;connmanctl scan wifi&#39; it will complete a scan<br>
&gt; *and* reconnect.<br>
<br>
Likely the SSID was not seen by ConnMan and that&#39;s why it doesn&#39;t d=
o a<br>
reconnect. The scan will retrigger the machinery. The output from<br>
monitor-iwd is again a good starting point to see what is missing<br>
between the communication between ConnMan and iwd.<br>
<br>
&gt; It is like connman gets stuck. and stops managing the wifi.<br>
<br>
ConnMan is only reacting to events. If there is no event from iwd to<br>
ConnMan nothing will happen. From your description I think there is<br>
either a missing event or ConnMan ignores an event (would be a bit<br>
surprising but well).<br>
<br>
&gt; I also note that if the ethernet cable is plugged in on the RPIs then =
the<br>
&gt; device is connected to the wifi ap then the ethernet cable is removed =
that<br>
&gt; all internet connectivity ceases.<br>
<br>
Again ConnMan reacts to events. If the kernel doesn&#39;t send a netlink<br=
>
message, nothing will happen. I would be surprised if ConnMan and the<br>
the generic kernel code have a bug there. So I would look more closely<br>
at what the driver is doing here first.<br>
<br>
&gt; Both interfaces go down and will not<br>
&gt; reconnect requiring a reboot. It is tough for me to really query this =
as I<br>
&gt; see it on my headless rpis and when the connectivity goes away, I have=
 to<br>
&gt; reboot to get it back. It did not behave like this with netctl nor doe=
s it<br>
&gt; behave like this with systemd-networkd.<br>
<br>
As far as I know, systemd-networkd uses also udev as input. Maybe this<br>
makes the difference.<br>
<br>
&gt; Also, on the rpis, I have noticed that connman can get into a state wh=
ere<br>
&gt; plugging in the ethernet cable results in nothing. connman will not br=
ing<br>
&gt; up the ethernet interface.<br>
&gt; <br>
&gt; We have reworked a php interface from netctl tp work with connman for =
these<br>
&gt; little rpi audio devices and I would love for it to work, but if a hea=
dless<br>
&gt; device cannot reconnect when the ssid returns, it is a bit useless. Is=
n&#39;t<br>
&gt; connman supposed to do this?<br>
<br>
ConnMan should be able to this modulo bugs.<br>
<br>
&gt; There are many things I like about connman but<br>
&gt; this seems like a basic function that seems to be broken and I am surp=
rised<br>
&gt; that I find very little info on it on the internet.<br>
<br>
I&#39;ve tried your scenarios on my hardware and it works. Obviously,<br>
different hardware/driver behave slightly differently and ConnMan might<br>
choke on it.<br>
<br>
So the question is why it works with systemd-networkd and not with<br>
ConnMan.<br></blockquote><div><br></div><div>I cannot find the monitor-iwd =
script. I found the monitor-connman script, but when I try to run the monit=
or-connman script, I get a gobject error:</div><div><br></div><div>$ ./moni=
tor-connman <br>Traceback (most recent call last):<br>=C2=A0 File &quot;./m=
onitor-connman&quot;, line 3, in &lt;module&gt;<br>=C2=A0 =C2=A0 import gob=
ject<br>ModuleNotFoundError: No module named &#39;gobject&#39;</div><div><b=
r></div><div>This is even though I believe that python-gobject is installed=
 and I can run the hello.py script on this page:</div><div><a href=3D"https=
://pygobject.readthedocs.io/en/latest/getting_started.html" target=3D"_blan=
k">https://pygobject.readthedocs.io/en/latest/getting_started.html</a></div=
><div>python 3.8.5 and <br></div><div>$ pacman -Q | grep gobject<br>gobject=
-introspection 1.66.0-1<br>gobject-introspection-runtime 1.66.0-1<br>pygobj=
ect-devel 3.36.1-1<br>python-gobject 3.36.1-1<br></div><div><br></div><div>=
I am now running on a pretty common dell laptop with an intel wifi card and=
 get the same behavior. iwd 1.9 connman 1.38. I connected via connman then =
powered down the radio on the router then back on then had to reconnect by =
typing in teh password.=C2=A0 The journal of this event is attached. <br></=
div><div><br></div><div>I did notice that in order to reconnect on this lap=
top (Arch Linux x86_64) that I had to type in the password again though I w=
as just connected before I turned off the SSID. The journal running /usr/bi=
n/connmand -n -d plugins/iwd.c:src/service.c though this event is attached.=
 <br> </div></div></div>
</blockquote></div>

--00000000000057224405afefe44c--

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

Date: Wed, 23 Sep 2020 08:44:28 +0200
From: Daniel Wagner <w...@monom.org>
Subject: Re: [PATCH 0/6] Support SplitRouting variable on vpnd
To: Jussi Laakkonen <jussi.laakko...@jolla.com>
Cc: connman@lists.01.org
Message-ID: <20200923064428.medsq4yvhnim5...@beryllium.lan>
Content-Type: text/plain; charset=us-ascii

Good Morning Jussi,

On Tue, Sep 22, 2020 at 04:09:57PM +0300, Jussi Laakkonen wrote:
> Thanks for the comments, the change here is a bit old so bear with me. I
> needed to check this more closely after vacations and whatnot, to re-gain
> understanding of what this actually does.

No worries. I know this problem.

> > I am bit confused. Why does the vpnd need to know about the split
> > routing at all? The vpnd should always push all the routes to ConnMan
> > and there should be the logic if the routes are used or not. What do I
> > miss?
> > 
> 
> I think this is a good question and now I understand that I've overlooked
> some things. We're both half right. vpnd has the option "handle_routes"
> passed as startup parameter. When set with "routes/r" vpnd does manage
> routes. But by default connmand does handle them. And I guess my changes
> need improving.

Yes, the original idea is that connamn-vpnd doesn't do anything on IP or
routing configuration at all. Instead it just passes the information to
connmand.

> I've seen issues where the default route is not in the VPN routes list and
> thus, the networking may be inoperable until VPN is disconnected as there is
> no default route for routing traffic. I guess this happened after a lot of
> disconnect/reconnect and changing of transport services rapidly. It started
> to occur at some point and this kind of approach helped us with the case.
> But now I see that it was originally in the wrong place, and only
> half-correct. Need to continue with this.

Okay, if there are wrong/stale routes, it's connmand fault.

> Isn't that SplitRouting a VPN only option that should be controlled via the
> VPN connection D-Bus API like the other options? We'd see this more as a
> user controllable option. It may be that I'm also missing something but it
> seemed reasonable to expose this via VPN API rather than via service API.
> Especially since vpnd does also add the routes in
> vpn-provider.c:set_connected() (and provider_append_route()) when
> handle_routes is set.
> So, wouldn't this suggest that both need to know the value for split
> routing?

Oh, I didn't realize this commit exists: a7851eb04e67 ("vpnd: Add -r
option which enables route handling in vpnd") which came with the large
VPN re-design/factoring back in 2012. This makes things unnecessarily
complex. Do you use the '-r' option in your setup?

I see following options ordered according my preferences:

 - rip it out
 - leave it as it is and document, not working for split routing
 - add support for split routing

> > BTW, I think this is also a bit fragile because the user might decide to
> > reorder the services ('enable split routing') while vpn up happens. I
> > really would like to keep logic code in one daemon as much as possible.
> > 
> 
> That fragile issue is a valid point. I guess changes to the SplitRouting
> value via D-Bus should trigger a reconnect if the VPN is already connected,
> as the value change is propagated forwards to connmand. Dropping/adding
> default route on the fly might not be good or required anyways (?).

The split routing is enabled/disabled by the ordering of the
services. If the first services is a VPN services ->
SplitRouting=false. if the first services is a non VPN services followed
by a VPN service (or more than one!) all VPN services have
SplitRouting=true. This is controlled only by the ordering of the
services. This is why I don't like the idea to forward this information
to connmand-vpnd.

> But if this is something that is completely different from upstream point of
> view, we keep it to ourselves :). Anyways, we do manage services over D-Bus
> a lot.

As I said in the past, I am very interested to get most of your
downstream changes upstreamed eventually. So we should at least try to
figure out how things could work for upstream and downstream.

Thanks,
Daniel

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

Date: Wed, 23 Sep 2020 06:44:38 +0000
From: "Dembianny, Sven (GED-SDD1)" <sven.dembia...@bshg.com>
Subject: wpa3 support
To: "connman@lists.01.org" <connman@lists.01.org>
Message-ID: <5e742ec838164feca0f028192983c...@bshg.com>
Content-Type: text/plain; charset="iso-8859-1"

Hi,

is it planned to implement WPA3 support?

Thanks, Sven

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

Subject: Digest Footer

_______________________________________________
connman mailing list -- connman@lists.01.org
To unsubscribe send an email to connman-le...@lists.01.org


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

End of connman Digest, Vol 59, Issue 23
***************************************

Reply via email to