ROBIN -  Open Source Mesh Network Forum Index ROBIN - Open Source Mesh Network
users community forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

checkin nodes

 
Post new topic   Reply to topic    ROBIN - Open Source Mesh Network Forum Index -> OrangeMesh Dashboard
View previous topic :: View next topic  
Author Message
Ads






Posted: Sun Aug 20, 2017 8:57 am    Post subject: Ads

Back to top
orange
User
User


Joined: 04 Nov 2008
Posts: 27
Location: 49.51N, 08.39E

PostPosted: Tue Nov 18, 2008 2:06 pm    Post subject: checkin nodes Reply with quote

Hi there,

due to shasan's great and patient support I'm running my own OrangeMesh instance right now Smile
Now, I tried to add some nodes to the dashboard and I'm wondering how the nodes are aware of the location of my OrangeMesh server? I mean they do not checkin and obviously they can't without being aware of the server's ip. The question is: how do I tell them the ip? While searching the forums I found out that the nodes are configured to checkin to OpenMesh by default (lol, what a surprise) and one can change this behaviour within some config file while logged in to the specific node per ssh. But what configuration file do I need to edit? Could someone please enlighten me?

Also in that context: let's say a firmware upgrade appears at some point in time. Won't this manual change (of a certain config file per ssh) be overwritten? I mean the nodes will be aware of configuration changes assigned by the dashboard itself (via checkin), but what about the checkin itself? I guess the conf file in question is somewhere in /etc or /etc/config and to my knowledge of OpenWrt, these files won't survive a firmware upgrade. I mean that would have the consequence that one need to login to every single node per ssh and edit something manually after every single firmware upgrade?

Thanks a lot in advance!
Back to top
View user's profile Send private message Visit poster's website
shasan
Moderator
Moderator


Joined: 16 Feb 2008
Posts: 178
Location: Chapel Hill, NC

PostPosted: Tue Nov 18, 2008 2:45 pm    Post subject: Reply with quote

I assume your nodes are already part of an open-mesh account and are checking in there. Under "Edit network > advanced settings" there is an option for "alternate control server". Put the address of your server there.

Note that you need to put the path to the checkin-batman.php script in that field. So if your orangemesh installation is in your webroot, you would just put
Only registered users can see links on this forum!
Register or Login on forum!

domain>, but if you had orangemesh installed in, say, a folder called "dashboard", you would need to put "http://<your domain>/dashboard".

_________________

Only registered users can see links on this forum!
Register or Login on forum!


unc-chapel hill, class of 2010
Back to top
View user's profile Send private message Send e-mail Visit poster's website
orange
User
User


Joined: 04 Nov 2008
Posts: 27
Location: 49.51N, 08.39E

PostPosted: Tue Nov 18, 2008 2:56 pm    Post subject: Reply with quote

Good to know, thanks!
But unfortunately your assumption with an existing OpenMesh account does not hold. I'd like to control my mesh exclusively from OrangeMesh and I'm building it from scratch with my own OrangeMesh server. Is it not possible to do so?
And if it is... what about my consideration of firmware upgrades?
Back to top
View user's profile Send private message Visit poster's website
shasan
Moderator
Moderator


Joined: 16 Feb 2008
Posts: 178
Location: Chapel Hill, NC

PostPosted: Tue Nov 18, 2008 3:24 pm    Post subject: Reply with quote

Well, if you are truly controlling your nodes without Open-Mesh, then you will not be getting firmware updates! You will need to change the checkin server setting manually by SSHing in; see the ROBIN docs for info on that. However you are correct, once you get a firmware update from Open-Mesh you will have to change the settings again.

It's complicated because the default firmware settings are that your node checks in to Open-Mesh. If you are willing to accept one check in to Open-Mesh then your nodes will update, regain their settings, and start checking back in to your server. The only way around this is (AFAIK) is to build your own firmware with your server as the default, put it on your server, and set the "upgrade server" field to point to your server as well. Doing that will ensure you have total control over your network, and that your nodes never need to go to Open-Mesh for checkins, updates, or anything else.

As long as you are using the pre-built packages then the default is going to be Open-Mesh.

Someone can correct me if there is a better way...

_________________

Only registered users can see links on this forum!
Register or Login on forum!


unc-chapel hill, class of 2010
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ChrisPriest
User
User


Joined: 13 Nov 2008
Posts: 42
Location: Southampton, UK

PostPosted: Tue Nov 18, 2008 3:56 pm    Post subject: Reply with quote

I've been wondering that too.

I would prefer to maintain my own network, own updates etc, rolling out firmware as and when I choose.

Having looked through the svn code, is it not simply a case of adjusting the settings in /etc/config/general

perhaps changing 'option upgd_srv to point to your own? or 'option cstm_srv' ?

I don't know, I don't have my AP's as yet, still waiting, 2 more days Smile

Just a thought tho.
Back to top
View user's profile Send private message
shasan
Moderator
Moderator


Joined: 16 Feb 2008
Posts: 178
Location: Chapel Hill, NC

PostPosted: Tue Nov 18, 2008 4:09 pm    Post subject: Reply with quote

Quote:

Having looked through the svn code, is it not simply a case of adjusting the settings in /etc/config/general

Right, that's exactly it. The trouble is, you'll need to build your own firmware for that to work. If you're fine with that then everything is groovy.

Of course if you want to build your own firmware upgrades, then you'd need to put them on your server as well so the nodes car grab them.

_________________

Only registered users can see links on this forum!
Register or Login on forum!


unc-chapel hill, class of 2010
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ChrisPriest
User
User


Joined: 13 Nov 2008
Posts: 42
Location: Southampton, UK

PostPosted: Tue Nov 18, 2008 5:45 pm    Post subject: Reply with quote

Right of course...

While you could alter this via SSH to begin with, when you did finally apply a firmware update, even from your own server, the config would get overwritten by the firmware update and then you'd have to do it all over again Very Happy

good point!
Back to top
View user's profile Send private message
orange
User
User


Joined: 04 Nov 2008
Posts: 27
Location: 49.51N, 08.39E

PostPosted: Tue Nov 18, 2008 10:05 pm    Post subject: Reply with quote

Cool suggestions so far, shasan and ChrisPriest - thanks a lot!

Maybe Antonio could provide some more insight in the upgrade procedure? How is it handled? Nodes are checking a certain repo and if there's a new version available they download it and mtd it into the flash? Is /etc/config/general the only file that needs to be adusted to achieve our goals?

Some particular questions?
1. How does ROBIN svn works? Just like stock OpenWrt? Is the OpenWrt buildroot available? I mean could we just place a custom files/etc/config/general into our trunk directory, run make and we're fine?
EDIT: Sorry Antonio, I missed the instructions at the Compiling forum!
2. If we assume that we use our own updates, that's certainly not needed, but what if we'd get the updates from open-mesh.com? Is it not just a mirror of blogin.it? Do we need a registration at open-mesh.com to grab the firmware from the usual place? And if it's possible without registration, what about implementing a certain push mechanism in orangemesh for just uploading the custom /etc/config/general to all nodes once an update takes place? Obviously this is a henn and egg problem, but maybe (with some brainstorming) we can find a solution how to avoid building a custom firmware and just pushing the changes needed for a strictly local administration via orangemesh.
3. As of 2. if we'd alter the initial config via ssh, couldn't we detect that a firmware update takes place and before the nodes checkout at the local orangemesh server we could push the custom /etc/config/general to all nodes from orangemesh automatically? I mean to achieve the next checkin to the right location? Sounds tricky so far, I know, but maybe we can find a way to achieve this and implement it in orangemesh.

What do you think?
Back to top
View user's profile Send private message Visit poster's website
shasan
Moderator
Moderator


Joined: 16 Feb 2008
Posts: 178
Location: Chapel Hill, NC

PostPosted: Wed Nov 19, 2008 1:28 am    Post subject: Reply with quote

Well, I think that what you are proposing sounds interesting, but that it is complicated on two levels and would require making fundamental changes to the way that ROBIN checkin works. The following is just my understanding of things, and it isn't meant to completely dismiss your idea: I'm just trying to elucidate my understanding of the problems that would be involved in a good implementation.

To do what you are proposing you would need nodes to be able to accept an incoming connection from the orangemesh server, and for it to keep track of the IP address of each node. For an efficient implementation, you would want it to also keep track of which nodes have just undergone an upgrade. Then after the upgrade occurs, you would the push some data to the nodes and have them do whatever.

So the first problem is setting this daemon up on the nodes: it would need to be integrated into the mainline ROBIN branch, and I don't think there is a really compelling case for doing so, especially since the more services you have running the more security holes you are likely to have (and since memory is scarce enough on these devices).

Secondly, and more importantly, you are going to have to be sure you can reliably communicate with each node. What if the network is behind NAT or a firewall and it doesn't accept incoming connections? What if not all the devices come back up? How do you know when to stop sending reconfiguration information back?

So, I think it would get complicated quite quickly, and that it could introduce more problems than it's really worth. The basic problem is when you do a firmware upgrade from Open-Mesh you are accepting the defaults of whatever firmware is set up there! I.e., when you do a firmware upgrade with Open-Mesh firmware, you're telling your nodes to set their checkin server to Open-Mesh. To avoid doing this you need to use non-Open-Mesh firmware: that means rolling your own.

One thought I had would be creating a web service that produces on-demand custom builds of ROBIN, with whatever defaults you want. So you could set a script on your server that would call this web service with some data, like the address of your server, and it would get back compiled ROBIN builds which have the update and upgrade server set as your own. Then your script would unpack them and set them up somewhere where your nodes can update them, and finally the script would set a flag in your database to signal your nodes that there is an update available the next time they check in. How would that sound? Would anyone like to write that/help me write that? I would be willing to host it.

Also, to answer your earlier question, you don't need an account at Open-Mesh to get firmware updates: it's just grabbing a publicly available file from the server.

FYI, I updated the
Only registered users can see links on this forum!
Register or Login on forum!

to include links to some documentation that may help you more thoroughly understand how everything works together. Our site should also load faster now...

_________________

Only registered users can see links on this forum!
Register or Login on forum!


unc-chapel hill, class of 2010
Back to top
View user's profile Send private message Send e-mail Visit poster's website
dingo
Intermediate User
Intermediate User


Joined: 18 May 2008
Posts: 87

PostPosted: Wed Nov 19, 2008 2:22 pm    Post subject: OrangeMesh Reply with quote

edited


Last edited by dingo on Wed Apr 15, 2009 4:55 pm; edited 1 time in total
Back to top
View user's profile Send private message
chance
User
User


Joined: 24 Jul 2008
Posts: 12
Location: Michigan USA

PostPosted: Mon Jan 19, 2009 3:00 am    Post subject: Reply with quote

I'm looking into doing the same exact thing, I would like hear some more information on how you achieved such a feat. I am currently just putting the nodes on Open-Mesh.com which I would rather not do. I also like the feature of rolling your own firmware, that way you can test it for a few weeks before deploying it to your clients. I was hit by a failed Open-Mesh update that wiped out 1/2 my nodes requiring a reflash.

_________________
Stuff goes here
Back to top
View user's profile Send private message MSN Messenger
Kage_
Moderator
Moderator


Joined: 31 Jul 2008
Posts: 592
Location: Texas, USA

PostPosted: Mon Jan 19, 2009 3:45 pm    Post subject: Reply with quote

chance wrote:
I'm looking into doing the same exact thing, I would like hear some more information on how you achieved such a feat. I am currently just putting the nodes on Open-Mesh.com which I would rather not do. I also like the feature of rolling your own firmware, that way you can test it for a few weeks before deploying it to your clients. I was hit by a failed Open-Mesh update that wiped out 1/2 my nodes requiring a reflash.


An interim solution that I use is to lock the network to prevent software upgrades. I did this on my production network while I was out of town and it worked great. I did have one node die on me, but that wasn't software related though. Once you have tested the current version on a test network then uncheck the box and let the production network upgrade.

Not as nice as using a local dashboard, but at least it'll stop from killing your network until you want it to. Smile

_________________
Production Network: r2693-26/nO 0.5.6-r8
Test Network: r2693-26/nO 0.5.6-r8
Open-Mesh Wiki:

Only registered users can see links on this forum!
Register or Login on forum!

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ROBIN - Open Source Mesh Network Forum Index -> OrangeMesh Dashboard All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
c d
e



Powered by phpBB © 2001, 2005 phpBB Group

Abuse - Report Abuse - TOS & Privacy.
Powered by forumup.it free forum, create your free forum! Created by Hyarbor & Qooqoa
Confirmed

Page generation time: 0.106