Hw csum failure

Hi all,

I have installed the latest OSMC for rpi 2 in two rpis I have.

Both, give this kernel message:

hw csum failure

Nov 15 17:46:50 jasontv kernel: [  783.501550] eth0: hw csum failure
Nov 15 17:46:50 jasontv kernel: [  783.501611] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W       4.2.3-2-osmc #1
Nov 15 17:46:50 jasontv kernel: [  783.501625] Hardware name: BCM2709
Nov 15 17:46:50 jasontv kernel: [  783.501669] [<8001f624>] (unwind_backtrace) from [<8001b020>] (show_stack+0x20/0x24)
Nov 15 17:46:50 jasontv kernel: [  783.501706] [<8001b020>] (show_stack) from [<8071ea20>] (dump_stack+0x9c/0xdc)
Nov 15 17:46:50 jasontv kernel: [  783.501731] [<8071ea20>] (dump_stack) from [<8060d704>] (netdev_rx_csum_fault+0x44/0x48)
Nov 15 17:46:50 jasontv kernel: [  783.501757] [<8060d704>] (netdev_rx_csum_fault) from [<8060220c>] (__skb_checksum_complete+0xb4/0xb8)
Nov 15 17:46:50 jasontv kernel: [  783.501779] [<8060220c>] (__skb_checksum_complete) from [<806dd82c>] (ipv6_mc_validate_checksum+0xa8/0x150)
Nov 15 17:46:50 jasontv kernel: [  783.501801] [<806dd82c>] (ipv6_mc_validate_checksum) from [<805fd3a4>] (skb_checksum_trimmed+0x98/0x18c)
Nov 15 17:46:50 jasontv kernel: [  783.501822] [<805fd3a4>] (skb_checksum_trimmed) from [<806dd9d8>] (ipv6_mc_check_mld+0x104/0x33c)
Nov 15 17:46:50 jasontv kernel: [  783.501886] [<806dd9d8>] (ipv6_mc_check_mld) from [<7f2d2638>] (br_multicast_rcv+0x68/0x10a4 [bridge])
Nov 15 17:46:50 jasontv kernel: [  783.501942] [<7f2d2638>] (br_multicast_rcv [bridge]) from [<7f2c8880>] (br_handle_frame_finish+0x1b4/0x5ac [bridge])
Nov 15 17:46:50 jasontv kernel: [  783.501990] [<7f2c8880>] (br_handle_frame_finish [bridge]) from [<7f2c8de4>] (br_handle_frame+0x16c/0x2c8 [bridge])
Nov 15 17:46:50 jasontv kernel: [  783.502024] [<7f2c8de4>] (br_handle_frame [bridge]) from [<8060ba50>] (__netif_receive_skb_core+0x2ac/0xb28)
Nov 15 17:46:50 jasontv kernel: [  783.502049] [<8060ba50>] (__netif_receive_skb_core) from [<8060ed54>] (process_backlog+0x120/0x210)
Nov 15 17:46:50 jasontv kernel: [  783.502069] [<8060ed54>] (process_backlog) from [<806123e0>] (net_rx_action+0x320/0x59c)
Nov 15 17:46:50 jasontv kernel: [  783.502090] [<806123e0>] (net_rx_action) from [<80037d0c>] (__do_softirq+0x1d4/0x4dc)
Nov 15 17:46:50 jasontv kernel: [  783.502108] [<80037d0c>] (__do_softirq) from [<80038510>] (irq_exit+0x120/0x168)
Nov 15 17:46:50 jasontv kernel: [  783.502128] [<80038510>] (irq_exit) from [<8009c87c>] (__handle_domain_irq+0x98/0xec)
Nov 15 17:46:50 jasontv kernel: [  783.502148] [<8009c87c>] (__handle_domain_irq) from [<80009374>] (asm_do_IRQ+0x2c/0x30)
Nov 15 17:46:50 jasontv kernel: [  783.502167] [<80009374>] (asm_do_IRQ) from [<80725b74>] (__irq_svc+0x34/0x14c)
Nov 15 17:46:50 jasontv kernel: [  783.502179] Exception stack(0x809cbf10 to 0x809cbf58)
Nov 15 17:46:50 jasontv kernel: [  783.502192] bf00:                                     00000001 00000000 00000000 00000000
Nov 15 17:46:50 jasontv kernel: [  783.502209] bf20: 809ca000 809e8e18 809e8db8 80a4dc3c 00000000 00000000 8072afd8 809cbf64
Nov 15 17:46:50 jasontv kernel: [  783.502223] bf40: 809e9d20 809cbf58 8001792c 80017930 60010013 ffffffff
Nov 15 17:46:50 jasontv kernel: [  783.502245] [<80725b74>] (__irq_svc) from [<80017930>] (arch_cpu_idle+0x34/0x4c)
Nov 15 17:46:50 jasontv kernel: [  783.502266] [<80017930>] (arch_cpu_idle) from [<80084d30>] (cpu_startup_entry+0x324/0x428)
Nov 15 17:46:50 jasontv kernel: [  783.502291] [<80084d30>] (cpu_startup_entry) from [<8071a8e0>] (rest_init+0x98/0x9c)
Nov 15 17:46:50 jasontv kernel: [  783.502313] [<8071a8e0>] (rest_init) from [<80963ce0>] (start_kernel+0x388/0x394)

A lot of them, continuously, on both RPIs.

Any ideas?

Please provide full logs

To get a better understanding of the problem you are experiencing we need more information from you. Please see How to submit a useful support request - General - OSMC for advice on how to help us.

Ok.

My setup is as follows:

2x rpi 2
OSMC updated with apt-get dist-uprade to latest version, running:
Linux version 4.2.3-2-osmc (root@vero) (gcc version 4.9.2 (Debian 4.9.2-10) ) #1 SMP PREEMPT Mon Oct 12 01:58:40 UTC 2015

Both RPIs are booting via NFS (the SD card is used just /boot).

/boot/config.txt:

decode_WVC1=<my keys>
hdmi_mode=16
over_voltage=0
sdtv_mode=2
force_turbo=0
gpu_mem_512=144
over_voltage_sdram=0
core_freq=450
initial_turbo=0
start_x=1
hdmi_edid_file=1
max_usb_current=1
hdmi_ignore_cec_init=1
disable_overscan=1
sdtv_aspect=3
hdmi_force_hotplug=1
decode_MPG2=<my keys>
hdmi_drive=2
arm_freq=900
gpu_mem_256=112
sdram_freq=450

Both RPIs have a WiFi USB dongle: Logilink, WL0151 (cfg80211)
This is used with hostapd, to run an access point.

Examining dmesg I see that the kernel starts emitting errors as soon as the bridge (eth0, wlan0) is configured:

[  141.888028] device eth0 entered promiscuous mode
[  141.888281] br0: port 1(eth0) entered forwarding state
[  141.888324] br0: port 1(eth0) entered forwarding state
[  142.095002] ------------[ cut here ]------------
[  142.095171] WARNING: CPU: 3 PID: 1623 at net/mac80211/driver-ops.h:12 ieee80211_bss_info_change_notify+0x258/0x25c [mac80211]()
[  142.095187] wlan0:  Failed check-sdata-in-driver check, flags: 0x0
[  142.095200] Modules linked in: bridge stp llc arc4 rt2800usb rt2800lib crc_ccitt rt2x00usb rt2x00lib mac80211 cfg80211 rfkill bcm2835_gpiomem bcm2835_thermal uio_pdrv_genirq uio fuse ipv6
[  142.095321] CPU: 3 PID: 1623 Comm: iwconfig Not tainted 4.2.3-2-osmc #1
[  142.095333] Hardware name: BCM2709
[  142.095381] [<8001f624>] (unwind_backtrace) from [<8001b020>] (show_stack+0x20/0x24)
[  142.095412] [<8001b020>] (show_stack) from [<8071ea20>] (dump_stack+0x9c/0xdc)
[  142.095444] [<8071ea20>] (dump_stack) from [<80032ce0>] (warn_slowpath_fmt+0xa8/0xfc)
[  142.095564] [<80032ce0>] (warn_slowpath_fmt) from [<7f194c24>] (ieee80211_bss_info_change_notify+0x258/0x25c [mac80211])
[  142.095801] [<7f194c24>] (ieee80211_bss_info_change_notify [mac80211]) from [<7f1ad9d4>] (ieee80211_recalc_txpower+0x9c/0xe0 [mac80211])
[  142.096034] [<7f1ad9d4>] (ieee80211_recalc_txpower [mac80211]) from [<7f1b5d58>] (ieee80211_set_tx_power+0x84/0x184 [mac80211])
[  142.096405] [<7f1b5d58>] (ieee80211_set_tx_power [mac80211]) from [<7f12a2a4>] (cfg80211_wext_siwtxpower+0xac/0x234 [cfg80211])
[  142.096595] [<7f12a2a4>] (cfg80211_wext_siwtxpower [cfg80211]) from [<80714ad0>] (ioctl_standard_call+0x70/0x4d0)
[  142.096622] [<80714ad0>] (ioctl_standard_call) from [<807152a0>] (wext_handle_ioctl+0x1b8/0x238)
[  142.096651] [<807152a0>] (wext_handle_ioctl) from [<80631a64>] (dev_ioctl+0x594/0xa68)
[  142.096682] [<80631a64>] (dev_ioctl) from [<805eeafc>] (sock_ioctl+0x12c/0x2b0)
[  142.096714] [<805eeafc>] (sock_ioctl) from [<801ec968>] (SyS_ioctl+0x3a4/0x640)
[  142.096744] [<801ec968>] (SyS_ioctl) from [<80016ce0>] (ret_fast_syscall+0x0/0x54)
[  142.096758] ---[ end trace 1f0dfc031ad6207f ]---
[  142.309324] cfg80211: Regulatory domain changed to country: GR
[  142.309353] cfg80211:  DFS Master region: ETSI
[  142.309363] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[  142.309376] cfg80211:   (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[  142.309391] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[  142.309404] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[  142.309415] cfg80211:   (5490000 KHz - 5710000 KHz @ 160000 KHz), (N/A, 2700 mBm), (0 s)
[  142.309426] cfg80211:   (57000000 KHz - 66000000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A)
[  142.436011] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[  142.443089] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.29
[  142.727813] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  142.730267] device wlan0 entered promiscuous mode
[  142.730563] br0: port 2(wlan0) entered listening state
[  142.730617] br0: port 2(wlan0) entered listening state
[  142.881240] br0: port 2(wlan0) entered disabled state
[  144.382017] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  144.382233] br0: port 2(wlan0) entered listening state
[  144.382295] br0: port 2(wlan0) entered listening state
[  156.901155] br0: port 1(eth0) entered forwarding state
[  159.421161] br0: port 2(wlan0) entered learning state
[  168.718071] eth0: hw csum failure
[  168.718120] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W       4.2.3-2-osmc #1
[  168.718134] Hardware name: BCM2709
[  168.718187] [<8001f624>] (unwind_backtrace) from [<8001b020>] (show_stack+0x20/0x24)
[  168.718221] [<8001b020>] (show_stack) from [<8071ea20>] (dump_stack+0x9c/0xdc)
[  168.718253] [<8071ea20>] (dump_stack) from [<8060d704>] (netdev_rx_csum_fault+0x44/0x48)
[  168.718284] [<8060d704>] (netdev_rx_csum_fault) from [<8060220c>] (__skb_checksum_complete+0xb4/0xb8)
[  168.718314] [<8060220c>] (__skb_checksum_complete) from [<806dd82c>] (ipv6_mc_validate_checksum+0xa8/0x150)
[  168.718339] [<806dd82c>] (ipv6_mc_validate_checksum) from [<805fd3a4>] (skb_checksum_trimmed+0x98/0x18c)
[  168.718365] [<805fd3a4>] (skb_checksum_trimmed) from [<806dd9d8>] (ipv6_mc_check_mld+0x104/0x33c)
[  168.718451] [<806dd9d8>] (ipv6_mc_check_mld) from [<7f2d2638>] (br_multicast_rcv+0x68/0x10a4 [bridge])
[  168.718539] [<7f2d2638>] (br_multicast_rcv [bridge]) from [<7f2c8880>] (br_handle_frame_finish+0x1b4/0x5ac [bridge])
[  168.718603] [<7f2c8880>] (br_handle_frame_finish [bridge]) from [<7f2c8de4>] (br_handle_frame+0x16c/0x2c8 [bridge])
[  168.718647] [<7f2c8de4>] (br_handle_frame [bridge]) from [<8060ba50>] (__netif_receive_skb_core+0x2ac/0xb28)
[  168.718673] [<8060ba50>] (__netif_receive_skb_core) from [<8060ed54>] (process_backlog+0x120/0x210)
[  168.718697] [<8060ed54>] (process_backlog) from [<806123e0>] (net_rx_action+0x320/0x59c)
[  168.718722] [<806123e0>] (net_rx_action) from [<80037d0c>] (__do_softirq+0x1d4/0x4dc)
[  168.718744] [<80037d0c>] (__do_softirq) from [<80038510>] (irq_exit+0x120/0x168)
[  168.718770] [<80038510>] (irq_exit) from [<8009c87c>] (__handle_domain_irq+0x98/0xec)
[  168.718796] [<8009c87c>] (__handle_domain_irq) from [<80009374>] (asm_do_IRQ+0x2c/0x30)
[  168.718819] [<80009374>] (asm_do_IRQ) from [<80725b74>] (__irq_svc+0x34/0x14c)
[  168.718832] Exception stack(0x809cbf10 to 0x809cbf58)
[  168.718849] bf00:                                     00000001 00000000 00000000 00000000
[  168.718869] bf20: 809ca000 809e8e18 809e8db8 80a4dc3c 00000000 00000000 8072afd8 809cbf64
[  168.718887] bf40: 809e9d20 809cbf58 8001792c 80017930 600d0013 ffffffff
[  168.718911] [<80725b74>] (__irq_svc) from [<80017930>] (arch_cpu_idle+0x34/0x4c)
[  168.718937] [<80017930>] (arch_cpu_idle) from [<80084d30>] (cpu_startup_entry+0x324/0x428)
[  168.718965] [<80084d30>] (cpu_startup_entry) from [<8071a8e0>] (rest_init+0x98/0x9c)
[  168.718994] [<8071a8e0>] (rest_init) from [<80963ce0>] (start_kernel+0x388/0x394)

The bridge is created with this script:

#!/bin/bash
echo "Waiting for some time..."

sleep 120
systemctl stop connman
sleep 5

br="br0"
dev="eth0"
wlan="wlan0"
hostapd="/usr/sbin/hostapd"
config="/etc/hostapd/hostapd.conf"

# -----------------------------------------------------------------------------
# Move $dev to $br

ip4=$(ip addr show dev $dev | sed -e "s/ \+/ /g" -e "s/^ //g" | grep "^inet " | cut -d ' ' -f 2)
ip6=$(ip addr show dev $dev | sed -e "s/ \+/ /g" -e "s/^ //g" | grep "^inet6 " | cut -d ' ' -f 2)
rt=$(ip route show | sed -e "s/ \+/ /g" -e "s/^ //g" | grep ^default | grep " dev $dev")

if [ -z "$ip4" -a -z "$ip6" ]
then
        echo >&2 "Cannot find either IPv4 or IPv6 IP on eth0."
        exit 1
fi

echo "Adding the $br bridge..."
ip link add $br type bridge || exit 1

for ip in $ip4
do
        echo "Adding IPv4 IP $ip to the $br bridge..."
        ip -4 addr add $ip dev $br || exit 1
done

for ip in $ip6
do
        echo "Adding IPv6 IP $ip to the $br bridge..."
        ip -6 addr add $ip dev $br || exit 1
done

echo "Bringing the $br bridge UP..."
ip link set dev $br up || exit 1

echo "Adding $dev to the $br bridge..."
ip link set $dev master $br || exit 1

for ip in $ip4
do
        echo "Deleting IPv4 IP $ip from $dev..."
        ip -4 addr del $ip dev $dev
done

for ip in $ip6
do
        echo "Deleting IPv6 IP $ip from $dev..."
        ip -6 addr del $ip dev $dev
done

if [ ! -z "$rt" ]
then
        rt=$(echo " $rt " | sed "s/ dev $dev / dev $br /g")
        echo "Adding default gateway: $rt..."
        ip route add $rt || ip route replace $rt
fi

# enable bridge STP
brctl stp br0 on

# -----------------------------------------------------------------------------
# add $wlan to $br

ip link set $wlan master $br

# make this bridge have the lowest possible priority
brctl setbridgeprio $br 65535

# -----------------------------------------------------------------------------
# enable wireless

rfkill unblock all

# -----------------------------------------------------------------------------
# run $hostapd

while [ 1 = 1 ]
do
        echo
        echo "Setting regulatory domain to GR"
        iw reg set GR

        echo
        #echo "Setting txpower on ${wlan}"
        iwconfig ${wlan} txpower 10dBm

        echo "Starting hostapd..."
        $hostapd -d $config

        echo "hostapd exited. Waiting 1 sec..."
        sleep 1
done # >/var/log/hostapd.log 2>&1

exit 0

I forgot to mention, that the RPIs do work. Everything is working, including access point and kodi. The issue is that the kernel is flooding syslog.

The same RPIs, same hardware, same configuration, same scripts, where working with July’s OSMC update without any logs.

I think that won’t work. When you boot via NFSroot, the kernel takes control of ‘eth0’. It handles everything: whether it’s DHCP or static IP configuration. You will notice that ConnMan, our connection manager, is not used on eth0 (we ignore the interface) if the user sets up an NFS root.

Sam

Hi Sam,

Can you elaborate why it won’t work? Actually, I can confirm it works. The problem is that the ethernet is giving hw csum errors.

I did a few more tests.

I also tried to copy a large file over NFS to /dev/null: It worked at 10,9MB/s and it produced the hw csum failure error 4 times:

Later I also tried a dd from and to the NFS server. Same behaviour. A few hs csum failure errors without any pattern.

Somehow, this error is not related to load or bandwidth. The kernel gives this error repeatedly even when eth0 is almost idle. Loading the interface does not result in more errors.

Another interesting observation is that eth0 is giving one drop every 30 seconds exactly:

# ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:91:87:0b
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7543492 errors:0 dropped:67 overruns:0 frame:0
          TX packets:6466726 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1413404212 (1.3 GiB)  TX bytes:4223337234 (3.9 GiB)

Hi

This is quite a specific use case, and we have always found that if eth0 is configured by the kernel, your ability to ‘manage’ it via userspace is limited. ConnMan as I say will hang the NFSroot if you bring it up on eth0. A bridge may behave differently.

  • Do you see the checksum errors before bridging?
  • Is the power supply definitely up to scratch?

Sam, I don’t think connman is a reference for anything. The fact that they have chosen not to touch an interface set up by the kernel, does not mean the interface is not configurable like any other. Actually, all interfaces are managed by the kernel, whatever the user front-end is. There is no such thing as interfaces managed by kernel have limited configuration ability. All interfaces are managed by kernel. Always.

Regarding your questions:

  • No, I don’t see csum errors before bridging.
  • If I boot back with the July releasy of OSMC, everything works without any errors. I don’t see a hardware problem here. I understand though, this is a kernel issue, not an OSMC one.

No – we have chosen not to touch the interface, not ConnMan.

I think you’ve missed my point… Yes, every interface is handled by the kernel, but an interface that is being used as an NFSroot cannot be configured with the same flexibility from userland compared to one that is not. For example, you will not be able to change the IP of the interface. This interface is being managed by the kernel in the regard that DHCP is being handled in kernel space rather than by a userland dhcp client (dhclient / udhcpc) etc.

BTW: I see you bridging with IPv6 too. Did you add ipv6 to /etc/modules to automatically load? Can you temporarily take that out and try just an IPv4 bridge for now?

Sam, I am not trying to play it smart here, but please read the script above. It changes the IP addresses. It actually assigns the same IP to br0 and then it removes that IP from eth0. The IP assigned by DHCP when the kernel booted will never be refreshed by kernel. It is up to userspace to refresh the lease.

The script copies both ipv4 and ipv6 addresses from eth0 to br0. I will comment out the ipv6 stuff, and let you know.

Yes, I’ve seen the script, and I see what you’re trying to achieve. Your comment about it working in July does indeed suggest a kernel issue. 4.3 is building as we speak (it’s in Jenkins). If you would like to try that, I can give you a link to download it and try it when it’s done.

Check lsmod to ensure ipv6 isn’t loaded at all. Aside from that, not sure – but I’d make sure br0 and eth0 are identically configured (MTU) etc?

Just checked ConnMan with an NFS root again and I can see how it can be made to run alongside on eth0 without hanging the system, which may help tethering in future.

Sam

ipv6 is pulled by the bridge.

I blacklisted ipv6 completely using this:

# cat /etc/modprobe.d/ipv6-blacklist.conf
blacklist ipv6

but it still pulls it. I’ll try to figure a way to blacklist it and come back.

By the way, the drop of a packet every 30 seconds on eth0, happens even before the bridge is set up. You should have it too. Check ifconfig the RX drops.

Yes please, I would like to.

Hi

I just double checked and I’m not seeing drops, but I’ll keep an eye on it.

Can you set up the bridge and then rmmod -f ipv6?

BTW – as an aside, what are you using to generate those graphs? They look nice.

I will let you know when the new kernel is available.

Sam

Well,

to disable ipv6 I ended up adding ipv6.disable=1 to /boot/cmdline.txt.
Whatever else I tried, ipv6 was always pulled in.

With ipv6 disabled, the result is the same. I have the errors. MTU and the rest of the options match:

# ifconfig
br0       Link encap:Ethernet  HWaddr 7c:dd:90:77:34:2a
          inet addr:10.11.12.86  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:347961 errors:0 dropped:10 overruns:0 frame:0
          TX packets:561743 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:150773843 (143.7 MiB)  TX bytes:699260457 (666.8 MiB)

eth0      Link encap:Ethernet  HWaddr b8:27:eb:91:87:0b
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:853254 errors:0 dropped:37 overruns:0 frame:0
          TX packets:1041348 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:675574503 (644.2 MiB)  TX bytes:1013941046 (966.9 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:90 errors:0 dropped:0 overruns:0 frame:0
          TX packets:90 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:21784 (21.2 KiB)  TX bytes:21784 (21.2 KiB)

wlan0     Link encap:Ethernet  HWaddr 7c:dd:90:77:34:2a
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1202 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:307505 (300.2 KiB)

Regarding the periodic packet drop, I have it on both RPIs, before the bridge and hostapd are started. Is it possible to be related to NFSroot? Your RPI is using NFSroot?

Regarding the charts: It is my software: GitHub - netdata/netdata: Real-time performance monitoring, done right! https://www.netdata.cloud
Here are a few links of it running:

On old RPIs (single core) I advise you to configure it with data collection every 5 seconds. On anything else, leave the default (every second).

It is very fast. Unnoticeable. My DSL link is always full, so for you it is going to be a little be a little slow. Install on it any linux box to try it locally.

Costa

Just FYI, if you are relying on connman to stop and not restart under any circumstances, be aware that connman is also dbus socket activated:

This means if anything tries to connect to connman’s dbus interface it will cause connman to be automatically relaunched despite stopping or even disabling the service.

This would happen for example if you went into the networking GUI in My OSMC to look at networking settings.

There is also something that happens during boot that queries connman’s dbus interface, because if you disable the service and reboot you will find that connman is running anyway! :wink:

I haven’t bothered to check to see what that is - it’s possibly the My OSMC service instantiating the networking interface code during Kodi startup. If you really need to disable connman the only way is to mask the service. (And then stop it, if it is currently running)

Yes, I am using an NFS root in my testing.

Sam

Then I guess it has to be traffic related somehow. I see that in my setup kodi while idle is always reading and writing things. I have 0,1 - 0,5 MB/s read/write constantly. Do you also have a media library on your setup?

@DBMandrake thanks for the hint! I masked connman.

I am not using ConnMan, but I ran trickled with wget in a loop to generate some traffic and didn’t see any immediate issues. I’m running at 100Mbs on a 1Gbps switch.

Kernel build failed due to changes in 80211cfg API. Will fix and re-build.

I see now that although ipv6 is disabled and ipv6 IPs are not assigned, the ipv6 module is still loaded. Is there a way to prevent it from loading?