Balena sound network wifi connect via repeater

I am an elementary school teacher. APs are being used in the same gateway within the school. The ip band is the same.
However, when the internal wireless network is built in the private router in the classroom, the balena sound works perfectly, but when communicating with the classroom on the upper floor through the AP repeater, the sound cannot be transmitted.
Both are online on the dashboard, but chunks don’t go up when I play music. I tried using ssh -l root -p 22222 {IP address} as the dev version, but the message was ‘host is not found’. I asked the network administrator. I heard that there is nothing blocked inside the school, but the outside port is blocked.
Is there any way to use balena sound in an internal network environment without opening an external port?

Hi, can you run sudo balena scan and let us know the output? It will scan local network for balena devices. See docs.

Hi @JinJin, thanks for trying out balenaSound, I’m one of the project maintainers.

The multi-room feature relies on IP broadcast/multicast packets over the network to keep the audio in sync, you shouldn’t need to open any ports. My guess is that AP’s even when being part of the same network are restricting or segmenting this packets broadcast (which is understandable so as to not packet flood). I don’t think there is a way for this setup to work currently, ideally we would find a way of syncing across different networks, but we haven’t really looked into that yet as it’s probably not doable with the tech we are currently using. You can create a GitHub issue on our repo so that we keep an eye on it and you are notified in case we make any progress.

@tmigone Yes you are right. when i used private wifi with my own router in my classroom. it was worked. but. with scool wifi with AP. even they status are online & sma ip band with same gateway in same classroom, multi room mode was not activated. im not goot at understanding about English or networking. Eng is my 2nd lang. anyway i want to find solution and want to use at school enviroment. thank you

English is also my 2nd language :grinning:, but I think yours is pretty good!

I think there might be a way to circumvent the AP’s segmenting the network packets, and that is by forcing your fleet of balenaSound devices to tune to only one master server. What this means is that you need to select one device which will act as the master, and then all other devices will always follow it. You will lose the ability to dynamically switch master devices by just streaming from one, but it might be worth it in your case.

Unfortunately this feature has not been implemented yet, so you can’t really try it. We’ve discussed it and there is an open Github issue for it here: https://github.com/balenalabs/balena-sound/issues/122
The good news is that I think it’s easy enough to implement that I can probably do it in the next following days. Don’t take it for granted, but I’ll try to make some time to look into it this week. I’ll make sure to update this post when I get to it, if I don’t get back by Monday feel free to remind me about it :smiley:

I don’t know if you are able to share a bit more about your use case, but I’m very interested in it. It’s the first time I see this project being considered for educational purposes, so if you can please do so!

@tmigone Thank you very much for your interest and encouragement. I also want to say thanks to Google Translate. :smile:
I think the job and the environment have a major impact on the person’s thinking. When I first saw this balenasound project in my case, it was my first thought that it would be a solution for students who are hard to hear behind.
Therefore, the issue of input devices such as aux or microphone that I uploaded on github was also intended to increase the usability in the classroom.
However, I lacked understanding of the basic functions that are based on balena sound. Sorry for that. I thought it was very groundbreaking and innovative, so I couldn’t hide my excitement and I was impatient to apply it to the classroom.
It was a pity that delay was essential to sync in multi-room mode. Use a microphone in front of the classroom. It was a pity that web player materials such as YouTube cannot be provided through multi-room mode.
However, I hope there is a way to improve. Thank you again for your interest. I am living here in South Korea where online schooling is taking place due to the corona crisis. This balena sound is even more work and there are no children while in the classroom alone, but at that time it is time to try to improve the educational environment. I think I did.
Lastly, May God bless you for your health

@karaxuna

C:>balena scan
Reporting scan results
Could not find any balenaOS devices on the local network.

Note for Windows users:
The ‘scan’ command relies on the Bonjour service. Check whether Bonjour is
installed (Control Panel > Programs and Features). If not, you can download
Bonjour for Windows (included with Bonjour Print Services) from here:
https://support.apple.com/kb/DL999

After installing Bonjour, restart your PC and run the ‘balena scan’ command
again.

Additional information may be available by setting a DEBUG=1 environment
variable: “set DEBUG=1” on a Windows command prompt, “$env:DEBUG = 1” on
powershell, or “export DEBUG=1” on Linux or macOS.

If you need help, don’t hesitate in contacting our support forums at
https://forums.balena.io

For CLI bug reports or feature requests, have a look at the GitHub issues or
create a new one at: https://github.com/balena-io/balena-cli/issues/

when i run that comand it show like this

Hi, so I added the “force master server” option to the project. It’s currently on a different branch not on master, here: https://github.com/balenalabs/balena-sound/tree/122-force-master-server. I think this will help with the problem you had where devices on a different AP were not tuning it to the master and hence not playing sound.

To test this you will need to:

  1. Download code from https://github.com/balenalabs/balena-sound/tree/122-force-master-server
  2. Push the code to your devices with balena deploy <your app>
  3. Add a fleet-wide device environment variable called MULTI_ROOM_SERVER and assign it the IP address of the device you want to use as master (you can read more on env vars here: https://www.balena.io/docs/learn/manage/serv-vars/#fleet-environment-and-service-variables)

Let us know if this helps!

MULTI_ROOM_SERVER

@tmigone Thnaks for your help & effort. Unfortunenately, I Downloaded force-master-server ver from github and try deploy it. but balena-cli said

Docker seems to be unavailable. Is it installed and running?

Additional information may be available by setting a DEBUG=1 environment
variable: “set DEBUG=1” on a Windows command prompt, “$env:DEBUG = 1” on
powershell, or “export DEBUG=1” on Linux or macOS.

If you need help, don’t hesitate in contacting our support forums at
https://forums.balena.io

For CLI bug reports or feature requests, have a look at the GitHub issues or
create a new one at: https://github.com/balena-io/balena-cli/issues/

==========================================================================

I had to make another application and
used balena push from your new code
and i moved devices to it

before use comand MULTI_ROOM_SERVER it was same before
when I put the value and try play music. I can’t hear anyting.

I add my log which tried to use server pischool_test1-11.05.20_10_22_39_( 0900).log (80.7 KB)

Hi, from the logs it looks like the var MULTI_ROOM_SERVER is not set for the fleet, since the ip is 127.0.0.1. Can you make sure that it is set to the IP of the master device as mentioned by Tomas, (to learn more on how to do it, check this out https://www.balena.io/docs/learn/manage/serv-vars/#fleet-environment-and-service-variables).

Furthermore to fix the docker issue, assuming you are on linux. Check out this post on docker https://docs.docker.com/engine/install/linux-postinstall/, in short having a non-root docker group with your user in there is a best practice that not only reduces security risks but also makes docker play nicely with other tools, like the balena-cli.

@iamsolankiamit @tmigone

I have already set it .

to add thing. other OS like raspbian or volumio in acces with SSH. it works find to use device ip adress

I attached logs and screenshots

1

2

test1.log (115.7 KB) test2.log (80.2 KB)

Hello there, thanks for trying this out and sorry for the delay. It turns out there was a mistake on my part on the new branch I created. It is now fixed and ready for testing again.
The same instructions apply, though step 1 can be replaced with git pull if you downloaded the code with git initially.

To test this you will need to:

  1. Download code from https://github.com/balenalabs/balena-sound/tree/122-force-master-server
  2. Push the code to your devices with balena deploy
  3. Add a fleet-wide device environment variable called MULTI_ROOM_SERVER and assign it the IP address of the device you want to use as master (you can read more on env vars here: https://www.balena.io/docs/learn/manage/serv-vars/#fleet-environment-and-service-variables)

Please let us know how this goes!