Vero 4K is crashing randomly during idle

Before the October update there was some code to reset the Ethernet PHY if 100 TX packets were sent without an RX (usually indicates a problem):

				if (priv->dev->stats.tx_packets > 100) {		
					if (priv->dev->stats.rx_packets == 0) {		
 						pr_info("rx stop, recover eth\n");		
 						stmmac_release(priv->dev);		
 						stmmac_open(priv->dev);		
 					}		
 				}		
 				priv->dev->stats.tx_packets++;		
 				priv->dev->stats.tx_packets++;

This has since been removed however because it could cause some crashes. Remember that Linux considers an RX packet as dropped if you’ve got VLAN tagging misconfigured; IPv6 frames are received when the device isn’t using IPv6; or if it doesn’t understand the protocol.

Sam

So, what does this mean for me? :smiley: This unfortunately exceeds my UNIX/Network know-how. Do you know how I can get rid of the dropped packages or at least how I can find out what causes it? I’m not using any VLANs, IPv6 is active though.

Regarding the uptime: This might check out, I have the V4K running since 28h+, only replugged the ethernet some time later. So this can come out to around 26h total… To be honest I did so much troubleshooting and replugging yesterday, it might’ve been before dinner or around 23:00, cannot say for sure :slight_smile:

Unfortunately this gets a bit beyond the scope of the forum.
If the drops aren’t impacting performance and you don’t get crashes; it may be a rabbit hole left for another day.

You can try increasing the buffer: Sysadmin's Notepad: Dropped rx packets in ifconfig.

There also appears to be a tool to show where the drop is occurring in the kernel.

Sam

Okay, here is where it get’s interesting. I did some research myself and did an apt-get install iptraf.

I have tons of packets going out here (rate about 2-10kB/s):


image

According to some googling, 224.0.0.251 is a “Multicast DNS” address. The other IP that pops up frequently is 239.255.255.250, which is, acc. to Wikipedia the Simple Service Discovery Protocol

Any ideas? Does that look right? After 25sec it already looks like this:
image

192.168.196.60 is the IP of the Vero, .10 is my PC

That’s UPNP causing all of this traffic. Try disabling UPNP in Kodi if it’s enabled.

Sam

.60 is the Vero itself.

Yes – I see that now.

So should I still do the IPTable-Block?

224.0.0.251 is Avahi, aka zeroconf. To disable:

sudo systemctl disable avahi-daemon

If you don’t use it, then disable it on all your systems (if possible).

I did this now, but the overall packet and kb rates did not decrease, I also turned on reverse DNS lookups, so V4K = .60, 10-SLAN = .10:

It’s disabled but is still running. See what happens if you reboot.

Still exactly the same, I really don’t understand.

The other thing I did now is try to build dropwatch from @sam_nazarko s link (Finding out if/why a server is dropping packets), it worked after installing what felt like a hundred dependencies, but when I start, I run into this issue: https://github.com/pavel-odintsov/drop_watch/issues/1 - so apparently the kernel doesnt support it :frowning:

Increasing the buffer also did not work, acc. to the other guide sam sent:

osmc@Vero4K:~/drop_watch/src$ ethtool -G eth0 rx 512
Cannot get device ring settings: Operation not supported

I seriously give up now, I’ll probably reinstall the V4K tomorrow since I put on so much stuff, I’m not even sure what everything did :smiley: Then I’ll see if I still have packet drops. I’ll also reset the Database, even if this is another half day wasted, but then at least the link to the non-existing NFS share is gone.

That’s two of us. What’s the result of running

systemctl status avahi-daemon
ps -ef|grep avahi

Correct.

osmc@osmc:~$ grep CONFIG_NET_DROP_MONITOR /boot/config-3.14.29-42-osmc
# CONFIG_NET_DROP_MONITOR is not set

That’ll be:

osmc@Vero4K:~/drop_watch/src$ systemctl status avahi-daemon
avahi-daemon.service - Avahi mDNS/DNS-SD Stack
Loaded: loaded (/lib/systemd/system/avahi-daemon.service; disabled)
Active: inactive (dead)
osmc@Vero4K:~/drop_watch/src$ ps -ef|grep avahi
osmc 2275 1513 0 21:51 pts/0 00:00:00 grep avahi

Then I can only think that it’s coming from Kodi itself.

Check in Settings > Services. Switch off UPnP and “Announce services to other systems”

Yes. If my understanding is correct, Kodi links against libavahi, and as such a daemon isn’t needed / responsible for all broadcasts.

I apt-get removed / autoremoved all the packages I used to troubleshoot, then I disabled all the UPnP, AirPlay (not a single Apple device in my household anyway :slight_smile:), ZeroConf, etc. through the Kodi menu and rebooted.

I still get the same amount of packages/rates, but the broadcasts that show up in the “running list of IPs” are mainly from my/GFs phone and my PC that is running… Kodi only sends the occasional NTP request. Not sure if the rates are bound to the running list.

Also still getting the dropped packages though, no idea why.

I’ve been reading this thread with interest, and something just jumped out at me.

I have a PiHole on my network, but I do not as yet have it used network wide, I only have one laptop (running Linux Mint) pointed to it. And on that laptop I’ve been having problems with it hanging (100% CPU usage, disk going 100%, etc.) when Firefox or other web browsers are running. Most of the time I had to powercycle it to recover. No SSH access available. It would happen anywhere from a new minutes after starting FF to hours later.

That sounds very familiar, doesn’t it?! I’m going to change the DNS to stop using PiHole and see if the problem goes away.

The only difference with what I see and the OP is seeing is I’m not getting the lost packets. But that’s already looking like a different problem.

I have a pihole setup on a debian proxmox container in default configuration (assumed to be the same default config as on a pi). I’ve experienced no issues against my V4K with this setup.

I should have tested more before posting. I just had the problem again on Mint, while not using the PiHole.

Oh well, the problems seemed so similar. Sorry for the false alarm.