Rasbperry Pi not recconecting to the LAN after router reboot

Volumio Information

Volumio Version: 2.882
Hardware: Raspberry Pi 4
DAC: none

I have a Raspi 4 with Volumio, connected via ethernet and an with static IP address. If the router or other network switches restart or reconnect, volumio stops responding to the network, meaning it stops playing if it’s playing something from the Internet, and you can’t even connect via the web interface, even when the network and/or internet connection is restored.
I tried to unplug and plug again the ethernet cable to check if this forces the device to be aware that the network now works, but it does fix the problem. The only thing I can do, is unplug and replug the power supply and wait for it to start, and then it works well (until the next network/router disconnection).
I just updated Volumio to 2.907, but until I have the next network/router disconnection, I won’t know if the problem is the same or not.
I haven’t tried if when I have this problem I can SSH to the raspbi, I just thougt of it. Next time I have this issue I’ll try that.

normally you could ssh and sudo reboot and all will work again.

Yeah, but even if I can sudo reboot, is this a known issue with Volumio? The team is aware of it? will it be fixed?

i’m not buzy with that i’m to a normal user and it’s vacation time so a lot are gone i think that they could pick it up after it … but why are you not yet on 3.xx version? with a pi4 btw soon 3.081 skip the 3.080 that’s bad.

do you want to go to earlier release, i have the links for that now.

Edit. Just trying to eliminate the obvious, do you set a DNS address when you set the static IP?

mine is off :wink:

I investigated further using my current version of Volumio - 2.907 (jessie). I discovered volumio enables OpenDNS and it’s difficult to override this behavior. While it can be confusing and annoying I do not think OpenDNS is the source of the problem of “not reconnecting to the LAN” but I cannot be sure.

I have no opinion of openDNS; I do not know much about it. It’s more about the user’s ability to disable openDNS. In my case I use pi-hole so have no need of OpenDNS.

my pi-hole does the same.

I have the DNS set. I use Volumio with Spotify, so if the DNS wasn’t set (or set incorrectly) Spotify won’t work.
About Volumio 3.081, is that a stable release? I’m still on 2.907 and the auto-update says I’m on the latest version.

didn’t test it yet, so i can’t tell it should be released this week.
its not out yet.

When a fixed IP address is assigned it seems Volumio will assume the gateway address is a valid DNS forwarder. If you do a ‘cat /etc/resolv.conf’ you will find volumio has added the gateway IP and the 2 public openDNS IP addresses to resolv.conf. This will work for 99% of users however it’s possible there could problems for some users. Some ISPs block only openDNS How can I tell if my ISP Allows Third-Party DNS Providers? – OpenDNS and in some cases the gateway (usually the modem) is not a DNS forwarder.

You can override openDNS by selecting custom DNS but, resolv.conf will still have the gateway address listedas a forwarder.

I think this is actually propagated in from /etc/dhcpcd.conf right?
Can be seen from here and the motivation behind this seems to be

The GitHub link is interesting. I have only been using Volumio for 3 or 4 months and I am not a developer so I may well be misunderstanding the issue.

From my outside view the implementation seems complicated; the Volumio app is attempting augment the standard behavior so you end up with a mixture of nameserver options in resolv.config It should be either via dhcp (Automatic IP) or manual (Enable Custom DNS Server), not a mixture of both. If the user wants to select a fixed IP then the only DNS option for fixed IP should be custom.

Just to go through the options in detail:
Automatic IP - On / Enable Custom DNS Server - Off. IP address and DNS server(s) supplied by DHCP server. Can be one or two addresses.
Typical expected /etc/resolv.conf
nameserver 192.168.1.1

Actual /etc/resolv.conf
#Generated by dhcpcd from eth0
nameserver 192.168.1.1
#OpenDNS nameservers
nameserver 208.67.222.222
nameserver 208.67.220.220

Automatic IP - On / Enable Custom DNS Server - On. IP address supplied by DHCP server. Can be one or two addresses, should overide dhcp
Typical expected/etc/resolv.conf
nameserver 192.168.1.10
nameserver 192.168.1.10

Actual /etc/resolv.conf
#Generated by dhcpcd from eth0
nameserver 192.168.1.10
nameserver 192.168.1.10
nameserver 192.168.1.1
#/etc/resolv.conf.tail can replace this line

Automatic IP - Off / Enable Custom DNS Server - on. IP address manual. DNS Servers as per Primary DNS and optionally the Secondary DNS.
Typical expected /etc/resolv.conf
nameserver 192.168.1.10
nameserver 192.168.1.10

Actual /etc/resolv.conf
#Generated by dhcpcd from eth0
nameserver 192.168.1.10
nameserver 192.168.1.10
nameserver 192.168.1.1
nameserver 208.67.222.222

Not required but allowed by Volumio - Weird results.
Automatic IP - Off / Enable Custom DNS Server - off. IP address manual. DNS Servers - none.
Typical expected /etc/resolv.conf
#Empty #

Actual /etc/resolv.conf
#Generated by dhcpcd from eth0
nameserver 192.168.1.1
nameserver 208.67.222.222
#OpenDNS nameservers
nameserver 208.67.222.222
nameserver 208.67.220.220

Note * Volumio demands a Primary and Secondary address. It should be valid to supply only the Primary.

As you can see the actual results are far very messy. I believe the DNS settings needs a simpler approach.