suiluj / pi-adhoc-mqtt-cluster

Using batman-adv to connect several raspberrypi to a mesh network and creating a vernemq cluster
MIT License
21 stars 4 forks source link

announce master ... #3

Closed situssoft closed 4 years ago

situssoft commented 4 years ago

Hi I've run through the batman-adv scripts etc to setup a RPi 3B+ for use as Option 3: Batman meshnode with internet gateway, all appears to be well, the Pi has restarted and the interfaces appear to up (I'm very new to this). However, I'm seeing repeated messages of this form displayed on console (not on an ssh session)

[nnn.nnnnnnnnn] announce master ...

Do you know whats producing these and can it be stopped so the console is usable?

Thanks

suiluj commented 4 years ago

Hi Chris,

sorry i don't know this message. At the moment i also don't have time to further investigate on this problem.

I hope you find a solution.

Regards Julius

situssoft commented 4 years ago

It appears to be the version of Alfred I have which is writing these messages to stdout.

I used apt get alfred

Can't see any options to stop them and running it in the background doesn't makeany difference.

suiluj commented 4 years ago

the batman-adv docs say the following:

Typically, alfred runs as unix daemon in the background of the system.

https://www.open-mesh.org/projects/alfred/wiki

Did you start alfred with a command like in the wiki of this repo? https://github.com/suiluj/pi-adhoc-mqtt-cluster/wiki/Batman-Adv-and-Batctl

alfred -i bat0 -m -p 1 &

Try with the ampersand symbol at the end. &

suiluj commented 4 years ago

if the ampersand solution does not work you can try to send any output to null by placing the following after the alfred command:

command with output >/dev/null 2>&1

but you should try the solution with the single ampersand at the end first!

situssoft commented 4 years ago

I've run it with the & and it runs as a background task that can be seen with jobs. The output is printed to the console where it was started. So if I run it from the main console thats where I see the output but if I run it using ssh then I see the output on the ssh session.

I've also noticed that on my RPi3 B+ at least, I have to use a mac address and associated IPV6 address with the correct mac address prefix (first 3 bytes) otherwise the command to set the mac address fails.

situssoft commented 4 years ago

The "announce master ..." message come out of a printf statement on line 453 of server.c in the alfred source. if (globals->opmode == OPMODE_MASTER) { /* we are a master */ printf("[%ld.%09ld] announce master ...\n", last_check.tv_sec, last_check.tv_nsec); announce_master(globals); sync_data(globals); } else { /* send local data to server */ update_server_info(globals); push_local_data(globals); }