RPI3 onboard WIFI unstable, FIN1.0 on same WIFI is working fine

Hi,

We are working with RPI3 onboard wifi and balena FIN 1.0 onboard wifi and the RPI3 stays online for only a couple of hours, our Balena FIN is working fine with this same wifi AP.

I found a topic RPI 3 - Wifi connection unstable mentioning a wifi driver update, can I do that myself with the latest BalenaOS version?

We are working with standard version 2.38.0+r1 on both RPI and FIN.

Any thoughts on solving this issue?

Thanks, Bas

Hi there @bas-thingshub,

Thanks for reporting this issue. I noticed that the issue mentioned in that thread has not yet been closed (https://github.com/balena-os/balena-raspberrypi/issues/252), so I doubt it has been merged yet (though am confirming this internally).

In order to further diagnose this issue, are you able to connect the RPi3 via ethernet such that we can access it once the issue has manifested itself? Additionally, what kind of network are you attempting to connect to (2.4GHz, 5GHz)? Does the device just disconnect from the VPN (and appear offline in the dashboard), or does it disconnect entirely from the AP (and flash the no-internet LED sequence outlined here: https://www.balena.io/docs/faq/troubleshooting/troubleshooting/#error-notifications)?

Hi @xginn8,

Ethernet is possible and the RPI is flashing the no-internet sequence.
When I reboot it with a powercycle it will reconnect and work for some hours. This AP has 2.4Ghz and 5 Ghz and this could be an issue because I have another RPI3 in the same balena project connected to a different AP with only 2.4GHz and this device is working as expected. The Balena FIN is on the same 2,4Ghz+5GHz AP but in a different Balena project and is working fine.

When do I need to connect it to ethernet? At reboot or when it’s disconnected again?

I’ve got confirmation from the team that the other topic you had found (forum thread and github issue) are not resolved yet (balenaOS is still using firmware version 7.45.154 rather than 7.45.173 or later) because the upstream Linux kernel repo (RPi-Distro/firmware-nonfree) has not updated it yet. I am seeking clarification on whether balena could / should get around the upstream repo for this firmware.

can I do that myself with the latest BalenaOS version?

Possibly (but check my warning below). I understand that you can add or modify firmware files in the /lib/firmware folder in an app container if you set the io.balena.features.firmware label in the docker-compose.yml file (or by using a single-container app with a single Dockerfile):

The /lib/firmware folder will be initially mounted “read only” on the app container, but it can remounted “read write” before copying the file(s) with the command:

# in the app container
mount -o remount,rw /lib/firmware

After you replaced the firmware, you’d probably need to reboot the device. Obviously you would do this in a lab controlled device at first, because if something goes wrong, the WiFi will go down and this may leave the device offline. And here’s the warning and reason why this may not advisable in production / field devices: if an app update went wrong and the firmware file was not correctly replaced, the device could become unreachable.

When do I need to connect it to ethernet? At reboot or when it’s disconnected again?

If the device was always connected to ethernet, then the question is whether you would be able to reproduce the issue and be able to tell that the WiFi interface was disconnected. The purpose of the ethernet connection is to allow access to the device for investigation as soon as possible after the failure took place (because as time passes, the logs rotate).

Ok, this device is available in our lab environment where we can reproduce this ‘no-internet’ issue. I will connect the device with ethernet when it is going offline on wifi. We granted support acces on this device and will ping you when the wifi disconnect happend.