Debian 10, wifi and mDNS failure

Kernels & Hardware, configuring network, installing services

Debian 10, wifi and mDNS failure

Postby mikedeplume » 2019-10-16 19:27

Hi all, I've done fresh install of Debian 10 on a Dell Latitude 3490. I had some problems getting resolution of .local addresses working, but I have ended up with systemd-netword, systemd-resolved, and iwd. avahi is _not_ running. This has all worked without a hitch on wired ethernet. But. When I use wifi I hit a problem. To start with, after a reboot with the wired connection unplugged, the machine connects to my wifi network and works as expected. I can resolve .local address, I can resolve generic urls, I can ping local ip addresses. After a while, though, the .local resolution fails, I can still resolve generic urls, and I can still ping local addresses. I did observe a failure in generic resolution on one occasion, but I havn't reproduced that.

Failure of the .local resolution also means I cannot resolve the address of this laptop from other machines on the network.

The failure happens anywhere between 2 and 30 minutes after boot.

If I wait long enough I have observed the .local capability returning without any help on my part. Generally, though, disconnection from the AP and reconnecting restores the .local capability.

I am assuming that my configuration is generally OK, otherwise it would not work at all.

I have set systemd-resolved to report debug messages, but it doesn't seem to be telling me anything. It tries to do the mDNS thing and reports failure.

For starters, here is my lspci
Code: Select all
$ lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 02)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 620 (rev 02)
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 02)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1c.5 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #6 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point LPC Controller/eSPI Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
02:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)


And for the masochistic, here is the debug report from systemd-resolved when trying a failed search for 'otello.local'

Code: Select all
Oct 14 14:56:23 attila systemd-resolved[507]: Got message type=method_call sender=:1.89 destination=org.freedesktop.resolve1 path=/org/freedesktop/resolve1 interface=org.freedesktop.resolve1.Manager member=ResolveHostname cookie=2 reply_cookie=0 signature=isit error-name=n/a error-message=n/a
Oct 14 14:56:23 attila systemd-resolved[507]: Looking up RR for otello.local IN A.
Oct 14 14:56:23 attila systemd-resolved[507]: Looking up RR for otello.local IN AAAA.
Oct 14 14:56:23 attila systemd-resolved[507]: Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=AddMatch cookie=76 reply_cookie=0 signature=s error-name=n/a error-message=n/a
Oct 14 14:56:23 attila systemd-resolved[507]: Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=GetNameOwner cookie=77 reply_cookie=0 signature=s error-name=n/a error-message=n/a
Oct 14 14:56:23 attila systemd-resolved[507]: Got message type=method_return sender=org.freedesktop.DBus destination=:1.0 path=n/a interface=n/a member=n/a cookie=43 reply_cookie=77 signature=s error-name=n/a error-message=n/a
Oct 14 14:56:23 attila systemd-resolved[507]: Removing cache entry for otello.local IN AAAA (expired 0s ago)
Oct 14 14:56:23 attila systemd-resolved[507]: Cache miss for otello.local IN AAAA
Oct 14 14:56:23 attila systemd-resolved[507]: Transaction 19132 for <otello.local IN AAAA> scope mdns on wlp2s0/INET6.
Oct 14 14:56:23 attila systemd-resolved[507]: Delaying mdns transaction for 73957us.
Oct 14 14:56:23 attila systemd-resolved[507]: Removing cache entry for otello.local IN A (expired 0s ago)
Oct 14 14:56:23 attila systemd-resolved[507]: Cache miss for otello.local IN A
Oct 14 14:56:23 attila systemd-resolved[507]: Transaction 37941 for <otello.local IN A> scope mdns on wlp2s0/INET.
Oct 14 14:56:23 attila systemd-resolved[507]: Delaying mdns transaction for 54168us.
Oct 14 14:56:23 attila systemd-resolved[507]: Got message type=method_return sender=org.freedesktop.DBus destination=:1.0 path=n/a interface=n/a member=n/a cookie=42 reply_cookie=76 signature=n/a error-name=n/a error-message=n/a
Oct 14 14:56:23 attila systemd-resolved[507]: Match type='signal',sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0=':1.89' successfully installed.
Oct 14 14:56:23 attila systemd-resolved[507]: Timeout reached on transaction 37941.
Oct 14 14:56:23 attila systemd-resolved[507]: Retrying transaction 37941.
Oct 14 14:56:23 attila systemd-resolved[507]: Cache miss for otello.local IN A
Oct 14 14:56:23 attila systemd-resolved[507]: Transaction 37941 for <otello.local IN A> scope mdns on wlp2s0/INET.
Oct 14 14:56:23 attila systemd-resolved[507]: Sending query packet with id 0 on interface 3/AF_INET.
Oct 14 14:56:23 attila systemd-resolved[507]: Timeout reached on transaction 19132.
Oct 14 14:56:23 attila systemd-resolved[507]: Retrying transaction 19132.
Oct 14 14:56:23 attila systemd-resolved[507]: Cache miss for otello.local IN AAAA
Oct 14 14:56:23 attila systemd-resolved[507]: Transaction 19132 for <otello.local IN AAAA> scope mdns on wlp2s0/INET6.
Oct 14 14:56:23 attila systemd-resolved[507]: Sending query packet with id 0 on interface 3/AF_INET6.
Oct 14 14:56:24 attila systemd-resolved[507]: Timeout reached on transaction 37941.
Oct 14 14:56:24 attila systemd-resolved[507]: Retrying transaction 37941.
Oct 14 14:56:24 attila systemd-resolved[507]: Cache miss for otello.local IN A
Oct 14 14:56:24 attila systemd-resolved[507]: Transaction 37941 for <otello.local IN A> scope mdns on wlp2s0/INET.
Oct 14 14:56:24 attila systemd-resolved[507]: Sending query packet with id 0 on interface 3/AF_INET.
Oct 14 14:56:24 attila systemd-resolved[507]: Timeout reached on transaction 19132.
Oct 14 14:56:24 attila systemd-resolved[507]: Retrying transaction 19132.
Oct 14 14:56:24 attila systemd-resolved[507]: Cache miss for otello.local IN AAAA
Oct 14 14:56:24 attila systemd-resolved[507]: Transaction 19132 for <otello.local IN AAAA> scope mdns on wlp2s0/INET6.
Oct 14 14:56:24 attila systemd-resolved[507]: Sending query packet with id 0 on interface 3/AF_INET6.
Oct 14 14:56:26 attila systemd-resolved[507]: Timeout reached on transaction 37941.
Oct 14 14:56:26 attila systemd-resolved[507]: Retrying transaction 37941.
Oct 14 14:56:26 attila systemd-resolved[507]: Cache miss for otello.local IN A
Oct 14 14:56:26 attila systemd-resolved[507]: Transaction 37941 for <otello.local IN A> scope mdns on wlp2s0/INET.
Oct 14 14:56:26 attila systemd-resolved[507]: Sending query packet with id 0 on interface 3/AF_INET.
Oct 14 14:56:26 attila systemd-resolved[507]: Timeout reached on transaction 19132.
Oct 14 14:56:26 attila systemd-resolved[507]: Retrying transaction 19132.
Oct 14 14:56:26 attila systemd-resolved[507]: Cache miss for otello.local IN AAAA
Oct 14 14:56:26 attila systemd-resolved[507]: Transaction 19132 for <otello.local IN AAAA> scope mdns on wlp2s0/INET6.
Oct 14 14:56:26 attila systemd-resolved[507]: Sending query packet with id 0 on interface 3/AF_INET6.
Oct 14 14:56:30 attila systemd-resolved[507]: Timeout reached on transaction 37941.
Oct 14 14:56:30 attila systemd-resolved[507]: Retrying transaction 37941.
Oct 14 14:56:30 attila systemd-resolved[507]: Transaction 37941 for <otello.local IN A> on scope mdns on wlp2s0/INET now complete with <attempts-max-reached> from none (unsigned).
Oct 14 14:56:30 attila systemd-resolved[507]: Timeout reached on transaction 19132.
Oct 14 14:56:30 attila systemd-resolved[507]: Retrying transaction 19132.
Oct 14 14:56:30 attila systemd-resolved[507]: Transaction 19132 for <otello.local IN AAAA> on scope mdns on wlp2s0/INET6 now complete with <attempts-max-reached> from none (unsigned).
Oct 14 14:56:30 attila systemd-resolved[507]: Freeing transaction 37941.
Oct 14 14:56:30 attila systemd-resolved[507]: Sent message type=error sender=n/a destination=:1.89 path=n/a interface=n/a member=n/a cookie=78 reply_cookie=2 signature=s error-name=org.freedesktop.DBus.Error.Timeout error-message=All attempts to contact name servers or networks failed
Oct 14 14:56:30 attila systemd-resolved[507]: Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=RemoveMatch cookie=79 reply_cookie=0 signature=s error-name=n/a error-message=n/a
Oct 14 14:56:30 attila systemd-resolved[507]: Freeing transaction 19132.
Oct 14 14:56:30 attila systemd-resolved[507]: Got message type=method_call sender=:1.91 destination=org.freedesktop.resolve1 path=/org/freedesktop/resolve1 interface=org.freedesktop.resolve1.Manager member=ResolveHostname cookie=2 reply_cookie=0 signature=isit error-name=n/a error-message=n/a


Cheers.
mikedeplume
 
Posts: 9
Joined: 2019-09-21 08:26

Re: Debian 10, wifi and mDNS failure

Postby Head_on_a_Stick » 2019-10-17 15:52

How have you configured systemd-resolved?

I find it rather slow and it handles the nameserver entries in a non-standard manner, perhaps try unbound instead (or maintain a static resolv.conf).
Don't break DebianHow to report bugs

SharpBang GNU/Linux — a pre-configured Openbox/Tint2 desktop running on Debian stable
User avatar
Head_on_a_Stick
 
Posts: 10599
Joined: 2014-06-01 17:46
Location: /dev/chair

Re: Debian 10, wifi and mDNS failure

Postby mikedeplume » 2019-10-21 13:28

Right, back after a long weekend. Sorry for the delay.

1st: resolved.conf
Code: Select all
[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=yes
#MulticastDNS=yes
#DNSSEC=allow-downgrade
DNSSEC=false
#DNSOverTLS=no
#Cache=yes
#DNSStubListener=yes
#ReadEtcHosts=yes


2nd: networkd.conf
Code: Select all
[DHCP]
#DUIDType=vendor
#DUIDRawData=


3rd: w.network
Code: Select all
[Match]
Name=wlp2s0

[Link]
Unmanaged=no

[Network]
DHCP=ipv4
LinkLocalAddressing=no
MulticastDNS=yes

[DHCP]
RouteMetric=20


These are pretty close to default, except: 1. I had to set DNSSEC=false to get it working at all; 2. I have set the network to default to ipv4. This last because my nfs export on the server is looking for an ipv4 network range and I havn't got round to creating the ipv6 equivalent. The problem of loosing .local resolution applies both with and without the ipv4 restriction.

I'm really talking about a failure of mDNS here. Ordinary look-it-up-in-a-DNS-server is working. From what I've seen so far, unbound is a DNS system and would be bypassed by mDNS. Of course, you are right that I could put stuff into /etc/hosts. I was rather hoping that an upgrade to 10 might actually improve things instead of being a step backwards. :?

Actually, I have to admit that the software upgrade may possibly be being cancelled out by a hardware down grade. The Latitude 3490 is not new. I don't at the moment know how to look any deeper in that direction.
mikedeplume
 
Posts: 9
Joined: 2019-09-21 08:26

Re: Debian 10, wifi and mDNS failure

Postby Head_on_a_Stick » 2019-10-21 18:27

Is systemd-resolved controlling /ect/resolv.conf?
Code: Select all
ls -l /etc/resolv.conf

The man page lists several modes of operation and recommends the stub resolver.
Don't break DebianHow to report bugs

SharpBang GNU/Linux — a pre-configured Openbox/Tint2 desktop running on Debian stable
User avatar
Head_on_a_Stick
 
Posts: 10599
Joined: 2014-06-01 17:46
Location: /dev/chair

Re: Debian 10, wifi and mDNS failure

Postby mikedeplume » 2019-10-21 21:07

Code: Select all
ls -l /etc/resolv.conf
... /etc/resolv.conf -> /etc/resolvconf/run/resolv.conf


Code: Select all
cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.53


Code: Select all
less /etc/nsswitch.conf
 ....
hosts:          files resolve [!UNAVAIL=return] dns myhostname
 ....


A point to note, perhaps, is that the debug output from systemd-resolved shows that when the query fails it is actually systemd-resolved that springs to life: checking the cache and doing "Looking up RR for otello.local IN A." (which results in lots of message sending and transaction setup that I don't understand). It then returns an error after a time-out.

I have no idea where the time-out is happening, or whether there is any possibility of altering it (for experimental purposes).

You are absolutely right to check the config, though. I could be thinking myself into hole.
mikedeplume
 
Posts: 9
Joined: 2019-09-21 08:26

Re: Debian 10, wifi and mDNS failure

Postby Head_on_a_Stick » 2019-10-22 16:50

Try the stub resolver:
Code: Select all
# ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
Don't break DebianHow to report bugs

SharpBang GNU/Linux — a pre-configured Openbox/Tint2 desktop running on Debian stable
User avatar
Head_on_a_Stick
 
Posts: 10599
Joined: 2014-06-01 17:46
Location: /dev/chair

Re: Debian 10, wifi and mDNS failure

Postby mikedeplume » 2019-10-24 19:20

Head_on_a_Stick wrote:Try the stub resolver:


That produced a resolv.conf like this:
Code: Select all
nameserver 127.0.0.53
options edns0


No change, unfortunately :(

I looked at the resolv.conf documentation (this late in the day) and added
Code: Select all
options single-request-reopen


This changes some parallel request paths into sequential, on the grounds that some wifi cards don't play well with the parallel requests.

No joy :(

Not surprising, as I'm only using ipv4 so there is no need for parallel requests on A and AAAA paths.

Elsewhere there have been suggestions that the ath10k drivers (with QCA6174 in particular) don't play well with power management. So I tried setting that off

Code: Select all
sudo iw wlp2s0 set power_save off


And still I loose the ability to resolve .local. :(

I'm not happy.
mikedeplume
 
Posts: 9
Joined: 2019-09-21 08:26


Return to System configuration

Who is online

Users browsing this forum: No registered users and 8 guests

fashionable