Help with multi-container setup on Rpi3 with one container configuring Pi as a Wifi repeater

I have a very specific problem that I’m try to solve. I have multiple Pi3s on a network, connected over wifi (each one is running a multi-container Balena app). I have peripheral devices that are also connected to the network over wifi, but the problem is they have awful wifi antennas. The pis have no network connectivity issues, but the peripherals are almost unusable. The Pis and peripherals are located very close to each other, think of them like a set, but this set is relatively far from my APs. As I mentioned, the Pis have no issues, but the peripherals are almost unusable. As such, I want to turn my Pis into repeaters (not APs) so that they can broadcast an SSID that the peripheral can connect to and bridge the connection to the primary network. The Pis themselves are connected to the network via wifi, so I’ll need to use an external USB wifi adapter to broadcast the new SSID that the peripheral can connect to. So far this seems to be the best resource on how to set it up: https://pimylifeup.com/raspberry-pi-wifi-extender/

Before heading down what I’m sure is going to be a rabbit hole of research and trial and error, I was hoping someone might’ve tried this before and offer some advice. Some unknowns for me right now are:

  1. Assuming the Raspberry Pi 3 Balena OS image is running Debian Buster, has anyone used an external wifi module that is plug and play? If so, what’s the make and model?
  2. Can I have all of the setup for the repeater run in an isolated container. where I can do all of the necessary config in the docker file?
  3. Is this going to cause any sort of conflict with Balena’s NetworkManager?

Thanks all! I’ll add to this thread as I discover more along the journey.

1 Like

Hi Craig, welcome back to the forums.

I’m not sure if we just spoke on another thread related to the same topic or if it was someone else, I’ll get to your questions nonetheless in case anyone else comes looking into this thread.

I have a very specific problem that I’m try to solve. I have multiple Pi3s on a network, connected over wifi (each one is running a multi-container Balena app). I have peripheral devices that are also connected to the network over wifi, but the problem is they have awful wifi antennas. The pis have no network connectivity issues, but the peripherals are almost unusable. The Pis and peripherals are located very close to each other, think of them like a set, but this set is relatively far from my APs. As I mentioned, the Pis have no issues, but the peripherals are almost unusable. As such, I want to turn my Pis into repeaters (not APs) so that they can broadcast an SSID that the peripheral can connect to and bridge the connection to the primary network. The Pis themselves are connected to the network via wifi, so I’ll need to use an external USB wifi adapter to broadcast the new SSID that the peripheral can connect to. So far this seems to be the best resource on how to set it up: https://pimylifeup.com/raspberry-pi-wifi-extender/

This seems to be a reasonable solution and as far as I know it should work with Raspberry Pi boards. You can achieve this just by creating an Access Point/hotspot to extend an existing connection you have preconfigured, the Network Manager running in balenaOS should bridge the two networks and pass through the internet connection automatically. With preconfigured connection I mean either wired ethernet or a WiFi connection as explained here: https://www.balena.io/docs/reference/OS/network/2.x/#wifi-setup

If you use a WiFi connection (which seems to be your case), you could also take advantage of our wifi-connect project : https://github.com/balena-io/wifi-connect Here is the documentation for setting up a hotspot in balenaOS: https://www.balena.io/docs/reference/OS/network/2.x/#creating-a-hotspot

Also, you might find our “finternet” project of interest, it’s a work in progress project two of our engineers are working in, the aim is to create an internet box: https://github.com/balena-io-playground/finternet

Before heading down what I’m sure is going to be a rabbit hole of research and trial and error, I was hoping someone might’ve tried this before and offer some advice. Some unknowns for me right now are:

  1. Assuming the Raspberry Pi 3 Balena OS image is running Debian Buster, has anyone used an external wifi module that is plug and play? If so, what’s the make and model?

BalenaOS is not based on debian but rather our own linux distribution built using yocto. You can read more about it here:

Regarding external wifi, we do have a list of supported wifi dongles that should work out of the box, you can check those here:

  1. Can I have all of the setup for the repeater run in an isolated container. where I can do all of the necessary config in the docker file?

Yes, see above links about setting up wifi and the wifi-connect project.

  1. Is this going to cause any sort of conflict with Balena’s NetworkManager?

It should cause no conflict, and in fact NetworkManager will help you out by bridging the two networks automatically.

Let us know how this goes and if you find anything else that is useful!

1 Like