DNS Unknown - All network tasks failing. muOS not handling DNS from DHCP offers

Hey everyone, wanted to share a bug I tracked down today that might be affecting others silently.

Device: RG35XX Pro OS: muOS 2601.1 Funky Jacaranda

Symptom: All network tasks failing with “no network / offline” errors. Information > Network Details shows a valid IP and gateway, but DNS shows as “Unknown”.

Root cause: After a lot of digging via SSH, the real issue is that /etc/dhcpcd.conf is missing the option domain_name_servers directive. Without it, dhcpcd never asks the router for DNS during the DHCP negotiation, so the lease comes back with everything except DNS, and /etc/resolv.conf ends up empty on every connect. The router is perfectly fine and sending DNS to every other device on the network, muOS just never asks for it.

You can confirm by dumping the current lease:

bash

dhcpcd --dumplease wlan0

If you see ip_address, routers, subnet_mask but no domain_name_servers line, you’re hitting this.

Also check:

bash

cat /etc/dhcpcd.conf

If it only contains the iaid line and nothing else, that confirms it.

The fix:

bash

echo "option domain_name_servers" >> /etc/dhcpcd.conf

Then disconnect and reconnect WiFi from the muOS menu. Dump the lease again and you should now see DNS servers in there, and /etc/resolv.conf will be populated correctly.

My suggestion on this issue: The default dhcpcd.conf should include option domain_name_servers out of the box, it’s a pretty fundamental DHCP option.

On top of that, network.sh has no fallback when DNS ends up empty, it just silently marks the connection as successful while DNS is completely broken. muOS has no fallback when DHCP doesn’t provide DNS and /opt/muos/config/network/dns is empty. Inside VALIDATE_NETWORK() in network.sh there’s this:

[ ! -s "$RESOLV_CONF" ] && printf "nameserver %s\n" "$DDNS" >"$RESOLV_CONF"


If $DDNS is empty because the config file is blank, this writes nothing to resolv.conf. No fallback, no warning, nothing. The connection is marked successful, you get an IP, gateway is reachable, but DNS is completely dead.

Most OSes handle both of these gracefully, muOS just isn’t prepared for it yet. Perhaps modify the wpa supplicant to pop some error when DNS is empty to avoid the strange # DNS “Unknown” state.

Thank you very much

Hope this saves someone else the headache.

Very interesting, but DNS isn not missing by default. Our variable is preset with 1.1.1.1 as presented here:

So if /etc/resolv.conf ends up empty on your device, something else is going on specific to your setup. Sounds like some weird quirk that affects a very minor lot of users. If it were a bigger issue we would have had several reports and especially from our testing crew.

The VALIDATE_NETWORK() logic you are looking at does use $DDNS, but that variable is populated from the above file, not left blank by default…

If you can share the output of cat /opt/muos/config/network/dns from your device that would help narrow down what may be actually happening on your end. Happy to investigate further if there is a real edge case here.

In addition to this information I have updated our network initialisation script to harden a few things, such as a 1.1.1.1 DNS fallback just in case it was being purged (for whatever reason…) along with internalising the dhcpcd.conf file so that if need be you can customise it however you see fit.

Other than this change there is nothing else we can do, it is working fine for the majority of users and unless you have a quirky network setup then it will be quite difficult to pinpoint the issue you are facing.

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.