I am working on an open source Arch Arm based audio player. We used to sue
netctl, but that was a bit sloppy and slow. We then investigated
connman/iwd and have been impressed with the simplicity, speed, connection
reliability and also the 'just works' nature of it.
We have noticed that it does not seem to work very well with avahi, though.
Our device advertises itself on the LAN via avahi-daemon and will be
connected in this manner as well. What we notice is that mDNS access is
very slow and unuse-able in most cases. This will not fly for us. Is there
some setting or other incompatibility causing this or is it something
beyond connman that I just cannot figure out?
What I have tried and done:
1) Disabled systemd-resolved and enabled avahi-daemon - This seems to
interfere with avahi even if mDNS is disabled. If I use mDNS enabled with
systemd-resolved and enable the mDNS on the link, I can ping the host and
connection as I have seen in the Firefox Console, I use
/run/connman/resolv.conf as a soft link to /etc/resolv.conf and have as my
nsswitch.conf hosts line this:
hosts: files mdns [NOTFOUND=return] dns
this gives very fast access via ip either v6 or v4, but broken web page
displays via *.local.
2) Enabled systemd-resolved and disabled avahi-daemon. This is slightly
faster to access the device, but the js is still broken and does not
display the page correctly. But this is not a solution as systemd-resolved
does not advertise any services, so it is a non-starter for this particular
project, so any mdns browse does not detect the server.
My next trick it to try systemd-resolved with iwd and see if it is any
Basically: Is there any basic incompatibility with avahi and connman? I see
that connman can turn on mDNS on a per connection basis, but it is only
compatible with systemd-resolved according to this:Connman Config
Is there a reason for this?