Hello,
New to using LEDE, although I've used dd-wrt before. I've been trying to setup mDNS / Zeroconf the new "LEDE / OpenWRT" way using "umdns" package as per guidance from the wiki.
After installing umdns
package and enabling the daemon, I can run ubus call mdns browse
and see devices that are advertising mDNS services on the network.
However, I noticed that the .local
addresses are not able to resolve either on the router itself or from other machines on the LAN.
After a bit of digging, it looks like this functionality is provided by nsswitch
and nss-mdns
packages. This package appears to have been submitted back in 2011. Yet, it seems unavailable in LEDE?
Is this package still functional in LEDE, or is there a migration path to get .local
addresses resolving using the new umdns
package?
1 Like
I'm interested in this too because I'd much rather use the .local
suffix for names rather than .lan
Just tried changing the .lan
local suffix to use .local
. This isn't a true mdns
solution but appears to configure dnsmasq
DNS suffix to use the same one as mDNS / Zeroconf / Avahi would use. Therefore, it's a workaround... but it works!
Now my printer works again! (it uses mDNS to advertise the ipp port and was using hostname as given by mDNS: printer-name.local
)
So if .lan
is still default config for dnsmasq
, I'd say this is still a bug that breaks mDNS functionality in OpenWRT / LEDE. However, I had to manually install and enable umdns
package even to get it working at all, and this config setting for .lan
as default plus missing nss-mdns
package breaks the entire idea to support .local
DNS lookups.
Probably it's best to reinstate nss-mdns
package to enable true .local
name lookups from mDNS. The workaround only works when dnsmasq
hostnames are the same as mDNS hostnames.
1 Like
So after running this for a couple weeks, it looks like there are probably more bugs in umdns
that eventually cause the router to forget the printer's published service data. So, I'm being forced to reboot both router and printer to get the Airprint _ipp._tcp
service to re-publish again. I've tried just rebooting the printer but this doesn't seem to work. ubus call umdns browse
output does not show the printer unless I reboot both router + printer each time it "forgets".
Additionally, I've noticed that there is an issue with hostnames of local MacOS machines on the network somehow thinking that there is a host already on this network with the same name! It's weird because these all should only connect over 1 WiFi adapter always to the same SSID / AP / radio, and they are the only ones with their unique names on the network! So they probably see themselves somehow in the mDNS data and think that these hosts are a different one, then they rename themselves again and again with numeric suffix like foo-1.local
, foo-2.local
, ... foo-N.local
. The hostname on each MacOS machine can be seen to increment the same as these mDNS names. The only workaround I've found for this problem is to run the following command to force reset the hostname to the original one without -N
suffix when I notice the issue:
for h in ComputerName LocalHostName HostName ; do sudo scutil --set $h $(sudo scutil --get LocalHostName | cut -f1 -d-); done
This problem was also in the original stock Linksys firmware for my router, and Apple support (3rd tier) said that this was a problem with my router's mDNS implementation. It's one of the main reasons I switched to Openwrt / LEDE!
If there is a working and stable solution for mDNS on LEDE, I'd be very grateful!
Possible next steps I can see are to test out:
avahi
mdnsresponder
- OLD
mdns
? (not the new one docs recommended: umdns
)
EDIT: I'm trying mdnsresponder
for now based on the hope & assumption that it should work with Apple products better. This package installed dependencies:
mdnsd
mdns-utils
mdnsresponder
We'll see how it goes...
EDIT: Still macbook is behaving the same as before with the name suffix increment. I just switched the router DHCP config to set a static IPv4 for the macbook. We'll see if this helps I guess...
1 Like
If anyone finds this, posting in case it helps. I had the problem of my macOS/iOS computer names incrementing a number with DeviceName (x)
, which I wanted to solve. I just realised that the problem is probably caused by giving those devices static addresses. I don't really need this, so I've disabled that. Still need to verify over time, but I suspect this will fix the problem
1 Like