Problems/laggy system by pulling ethernet cable

Hi everyone,

first thank you very much for all your work and support, great job!

I have a RPi4 with dietpi node.js express serving a html-gui to monitor and control some gpios. Using chromium as frontend on the 7" raspberry touch monitor in kiosk mode to display a html-file connected via sockets to the node.js

Using the RPi connected via ethernet to my local network everything runs fast and responds without delays.

Problem occur by pulling the ethernet cable or booting without being connected: - gui stops responding fast, button actions are slow and delayed, gui nearly unusable.

I have tried to disable the NIC, shutdown eth0, setting ip to without any improvement. I dont know which layer or module from the stack depends on a working internet conncetion. DNS? node.js itself?

Every hints or help are welcome!


I’m not able to provide a solution on your issue but as an idea you could install tcpdump to get an understanding what traffic is caused by your system while using the gui. Maybe this will give an indication an what is going over the network interface.

Hi and thanx for your reply!

I will give it a try:

  • over ssh port 22 are many packets send, ssh is used for development. I am going to make a script to collect tcp-packets to a file running in the background.

I have recorded via tcpdump all activities but by pulling the cable no more packets were send. Maybe someone/something is trying to send… :roll_eyes:

Which possibilities for logging node.js and do we have?

Are you sure that after exercising the jack the wifi is not taking over?
Do a ip addr; ip ro li table all; sudo ss -nlp before and after.
Which port are they listening to?

Hm, Wifi is not configured and disabled in config.txt = dtoverlay=disable-wifi

As my app is running full screen in kiosk mode i have no terminal to check… :roll_eyes:

The whole app is designed to work without an ethernet connection. All files are stored on sd-card, node.js is serving some html to chromium. No access from other clients is desired or required.

You can try to write tcpdump export to a file, once you have Ethernet connected, and have it analysed using Wireshark later on. This way you should be able to see what is using the interface while running your app. Wireshark should allow to filter for specific traffic or exclude thinks like SSH

tcpdump -ni eth0 -s0 -w /tmp/capture.pcap

I have analyzed the capture with wireshark:

10:02:02.280258 IP > Flags [.], ack 1612375713, win 501, options [nop,nop,TS val 3218711179 ecr 3431345438], length 0
10:02:02.280289 IP > Flags [.], ack 463306266, win 501, options [nop,nop,TS val 2598155776 ecr 3295810406], length 0
10:02:02.286317 IP > Flags [.], ack 1, win 265, options [nop,nop,TS val 3431391517 ecr 3218570636], length 0
10:02:02.288594 IP > Flags [.], ack 1, win 265, options [nop,nop,TS val 3295856485 ecr 2598015225], length 0

geoiplookup said Google Cloud :open_mouth:

It seems that chromium needs to talk to its parents. This is a clue, thanx Joulinar!

  • Is there a browser fpr RPi which suits for offline applications? No internet connection, local webservice, displaying html/js served by node.js?

hmm it’s chromium and not chrome on RPi. These are 2 different thinks somehow

I wonder why chromium should connect to google