Crashing on Linux

I saw this error a few days ago. Configuration similar to yours. Ubuntu LTS 20.4 and Fritzbox 7490.
After a reboot of the Ubuntu PC everything worked again.

Today I encounter the issue the second time. Would be nice if @support could sort this out.

Hi @Harald_Pott,

So we can better assist you, please provide a brief description of your current setup using this link as a guide.

Make sure to describe your network configuration/topology, including any networking hardware currently in use, so we can have a clear understanding of how your devices are communicating.

Hi Dylan,

I will come back with more information (crash output) the next time I encounter the crash.

I am running the Roon core and the Roon bridge on an Intel NUC with a Celeron J4005 CPU running Ubunto 20.04 LTS. This PC is connected via wired LAN to an 8-port Cisco switch connected to a Fritz!Box 7490.

An iPad is used with the Roon app to control everything. The iPad obviously uses WiFi. The WiFi connection of the iPad is provided by a Devolo dlan 1200+ WiFi ac adaptor connected to a dlan 1200+ connected to the same Cisco switch mentioned above.

A RME ADI-2 DAC is connected to the NUC via USB cable. From there the signal went analog to two Audiolab MB8300.

There is no monitor connected to the NUC. I use teamviewer to maintain the NUC remotely.

Usually the system is shut off over night and rebooted when I came home. For backup propose I let the system run over night once a week.

Hi @Harald_Pott,

Thanks for those additional details, we are looking into this issue, can you please let us know if the instructions listed here help with this behavior?

Hi @Harald_Pott,

I had a very similar problem as you have. The hypothesis is that the network configuration tool NetworkManager used by Ubuntu Desktop may be involved. So I ended up reinstalling my machine with Ubuntu Server which does not use this tool for Ethernet interfaces.

But there are ways to reconfigure Ubuntu Desktop so it won’t use NetworkManager to configure Ethernet but networkd, another tool. Please note that this only is about Ethernet interfaces, not WiFi. For WiFi configuration, Ubuntu always uses NetworkManager.

Here are instructions you can use and reconfigure your Ubuntu which I assume is Desktop, if you don’t want to simply reinstall the NUC using Ubuntu Server.

First, find out the name of your Ethernet interface and its IP. For this, use

ip address

on the command line. The output will look something like this:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 04:d9:f5:f2:f6:aa brd ff:ff:ff:ff:ff:ff
inet 10.0.4.116/24 brd 10.0.4.255 scope global enp3s0
   valid_lft forever preferred_lft forever
inet6 fe80::6d9:f5ff:fef2:f6aa/64 scope link 
   valid_lft forever preferred_lft forever
3: wlp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 04:ed:33:a2:92:1b brd ff:ff:ff:ff:ff:ff

In this case, the first entry is for the local loopback device, the second entry is the Ethernet device you are looking for, and the third entry is for a WiFi device which is disabled. So, write down the Ethernet interface’s name enp3s0 and its IP address 10.0.4.116/24. Please note that those are the values on my system, yours will be different.

Now, with this info, you can reconfigure the Ethernet interface to not be managed by NetworkManager.

For this, change into the /etc/netplan directory. Inside look for any available configuration files which all have names starting with numbers. The idea is that they are read one after another in alphabetic order, and configurations of a later config file can override configurations of an earlier one. So, look in your /etc/netplan directory and create a new file starting with a number higher than any of the files present.

The configuration files demand a special syntaxis and a name ending with .yaml.

So, let’s suppose you want to write a new configuration file 50-ethernet-config.yaml. You can use the simple editor nano to create this file. Simply say

sudo nano 50-ethernet-config.yaml

on the command line. In this put the following lines:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
      enp3s0:
         renderer: networkd
         match:
            name: enp3s0
         dhcp4: false
         addresses: [10.0.4.116/24]
         gateway4: 10.0.4.1
         nameservers:
            addresses: [8.8.8.8,8.8.4.4]

Again, I show you my own configuration. You must take care to use your own interface name and IP address from step 1. The gateway4 address is your routers internal (LAN) address. Please use the indentation as in the example. Without the correct indentation the syntaxis will not be recognized and it will not work.

With this configuration you will set up the Ethernet interface with a static address, disable the use of DHCP for this interface, disable NetworkManager for this interface and use the Google DNS servers as recommended by Roon.

You can now use

sudo netplan try

to try out the new configuration, before making it persistent. If all is well and there are no errors and your NUC connects to the network, you can apply the new configuration:

sudo netplan apply

As by this you set up a static IP on your NUC, you must configure on your router the correspondent address reservation, so that the router’s DHCP server doesn’t hand out the address to other devices on your LAN.

That’s it. With this configuration there shouldn’t be any more conflicts between Roon and NetworkManager. Let’s hope Roon will be able to figure out what exactly causes this conflict and provide a solution with a future release. Until then, this workaround should work.

1 Like

Hello @Andreas_Philipp1,

thank you for trying to help me, I try your proposal but I must do something wrong.

With the first step “ip address” I get the following output:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 94:c6:91:1b:3c:bd brd ff:ff:ff:ff:ff:ff
    inet 192.168.178.38/24 brd 192.168.178.255 scope global dynamic noprefixroute eno1
       valid_lft 769878sec preferred_lft 769878sec
    inet6 2003:e1:5711:3000:f16c:9d90:34e7:cdcc/64 scope global temporary dynamic 
       valid_lft 6647sec preferred_lft 1247sec
    inet6 2003:e1:5711:3000:8400:8428:d9cb:ad69/64 scope global temporary deprecated dynamic 
       valid_lft 6647sec preferred_lft 0sec
    inet6 2003:e1:5711:3000:b3e1:5544:83f1:7cbc/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 6647sec preferred_lft 1247sec
    inet6 fe80::3a9:6885:fef6:75a2/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: wlo2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether b8:08:cf:cd:71:84 brd ff:ff:ff:ff:ff:ff

So I used “eno1” and the ip address “192.168.178.38” in creating the following file:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    eno1:
      renderer: networkd
        match:
          name: eno1
        dhcp4: false
        addresses: [192.168.178.38/24]
        gateway4: 192.168.178.1
        nameservers:
          addresses: [192.168.178.1, 8.8.8.8]

But after “sudo netplan try” I only get the error:

Error while loading /etc/netplan/50-ethernet-config.yaml, aborting.

What am I missing?

Hello Harold,

It’s early morning here and I am sorry I couldn’t answer you before…

If you look at the file you wrote you’ll notice an indent in the line under renderer: networkd. This should not be indented. I know this is very tricky with those indents. I have tried the syntaxis again on my machine a couple of minutes ago, and did an error myself.

So, your file should look as follows:

network:
   version: 2
   renderer: NetworkManager
   ethernets:
      eno1:
         renderer: networkd
         match:
            name: eno1
         dhcp4: false
         addresses: [192.168.178.38/24]
         gateway4: 192.168.178.1
         nameservers:
            addresses: [192.168.178.1, 8.8.8.8]

Please note that the lines beginning with renderer: match: dhcp4: addresses: gateway4: and nameservers: are all on the same indentation level. They are all characteristics of the interface eno1: you are setting up.

I am now awake and if you need more help, I am available. Good luck!

1 Like

Harold, I just made another test on my machine and it seems that the error you get may be caused by a blank line at the end of the file.

So, the line beginning with addresses: should be the last line in the file. My configuration is exactly like yours, just another IP address. It works.

One other thing. As by this configuration your ethernet interface is under control of networkd, you can restart networking by

sudo systemctl restart systemd-networkd.service

@Andreas_Philipp1

Thank you very much. I changed the lines as you propose. The error is no gone!

I will look whether this change let to a more robust system.

Thanks again.

1 Like

@Harald_Pott, let’s do a simple check. If you type

ip a 

your ethernet interface should show valid_lft forever and preferred_lft forever. This wil indicate that the interface indeed is set up as static.

Hope you’ll experience no more Roon crashes. Good luck!

I just checked the output of “ip a” and it contains the information above.

:+1:

1 Like

Harald, how is it going, have you had more disconnects or crashes?

1 Like

Not today. I just switch of the nuc for the weekend (22:30 local time) without having a new error the last two days.

So that’s good news!

Yes and thank you again.

Just to keep everything on the same thread I’ve made the changes and they are confirmed using “ip a”

2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 1c:69:7a:66:a1:d4 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.190/24 brd 192.168.1.255 scope global eno1
valid_lft forever preferred_lft forever

Being a complete novice I had two issues.
1/ Mint from what I can see does not create a Root password but Root only had permission to the netplan folder.

I used the post in this forum - https://forums.linuxmint.com/viewtopic.php?t=297972

This is how to fix it, by setting a password for root (preferably identical to your own password):
Menu - Administration - Terminal
Copy/paste the following line into the terminal:
sudo passwd
Press Enter. Type your password when prompted. In Ubuntu this remains entirely invisible, not even dots will show when you type it, that’s normal. In Mint this has changed: you’ll see asterisks when you type. Press Enter again.

When I set Mint up it automatically logs me on as ‘Phil’ and Nano put the file into my folder and would not let me move it to the Netplan folder as only Root has permissions.
To resolve this I right clicked on the folder and selected - “Open as Root” using my password from the fix above.

2/ On the desktop system tray network shows as unconnected with threw me as the confirmation commands seemed to indicate it was OK. I confirmed connectivity using the browser and I could connect to the internet and Roon started from a control point.

Andreas - Thanks for your help, I’ll monitor and advise if I see any further errors.
If you think any of the above info needs changing or you prefer it to be deleted or re-worded just let me know…

Many thanks Phil

1 Like

Phil, you did very well! Thank you for documenting the extra step on Mint. The system tray may show the interface as ‘disconnected’, because it depends on NetworkManager which doesn’t manage the Ethernet interface any more. I think on Ubuntu Desktop may happen something similar. Let’s hope there are no more Roon crashes and disconnects for you. If you wish, you can connect using a terminal app (PuTTy on Windows, Terminal on Mac) and monitor the system log where these events show up, if they happen:

tail -f /var/log/syslog
2 Likes

I presume I can continue to monitor via cockpit which I have installed…