first thank you very much for all your work and support, great job!
I have a RPi4 with dietpi node.js express socket.io 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 127.0.0.1 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…
Which possibilities for logging node.js and socket.io 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…
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 192.168.178.200.56464 > lhr26s05-in-f13.1e100.net.443: Flags [.], ack 1612375713, win 501, options [nop,nop,TS val 3218711179 ecr 3431345438], length 0
10:02:02.280289 IP 192.168.178.200.43078 > ams17s08-in-f3.1e100.net.443: Flags [.], ack 463306266, win 501, options [nop,nop,TS val 2598155776 ecr 3295810406], length 0
10:02:02.286317 IP lhr26s05-in-f13.1e100.net.443 > 192.168.178.200.56464: Flags [.], ack 1, win 265, options [nop,nop,TS val 3431391517 ecr 3218570636], length 0
10:02:02.288594 IP ams17s08-in-f3.1e100.net.443 > 192.168.178.200.43078: Flags [.], ack 1, win 265, options [nop,nop,TS val 3295856485 ecr 2598015225], length 0
geoiplookup said Google Cloud
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 https://www.lambdatest.com/blog/difference-between-chrome-and-chromium/
I wonder why chromium should connect to google