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 

Force unit to HOP instead of attach to weak gateway

 
Post new topic   Reply to topic    ROBIN - Open Source Mesh Network Forum Index -> beta-1.5 Release Candidates
View previous topic :: View next topic  
Author Message
Ads






Posted: Thu Nov 23, 2017 5:29 am    Post subject: Ads

Back to top
mtlowes
Moderator
Moderator


Joined: 28 Oct 2009
Posts: 577
Location: Lakeshore Ontario Canada

PostPosted: Mon Mar 15, 2010 9:16 pm    Post subject: Force unit to HOP instead of attach to weak gateway Reply with quote

Using 2690.
How do I force a node to attach to a repeater instead of a Gateway?..

Node1 to node2 is RSSI of 30 average

Gateway to Node1 is RSSI of 35
Gateway to node2 is RSSI of 9.

Node 2 insists on attaching to Gateway when Node1 represents the best and fastest path..... Thought this was the entire point?.. This is my 1st 2 hop attempt on any of my mesh networks and is more out of temporary necessity than desire.
Back to top
View user's profile Send private message
foxtroop11
Service Provider
Service Provider


Joined: 22 Mar 2009
Posts: 1168
Location: Ansbach, Germany and sometimes the States

PostPosted: Mon Mar 15, 2010 9:45 pm    Post subject: Reply with quote

Did you try out some of the alternate olsr settings? I'll have to find referance to it again, but maybe turning off sticky gateway will help.
Back to top
View user's profile Send private message
Antonio (isleman)
Site Admin
Site Admin


Joined: 10 Feb 2008
Posts: 2323
Location: Toscana, Italy

PostPosted: Mon Mar 15, 2010 10:36 pm    Post subject: Reply with quote

RSSI is not as significant as you might think, moreover olsrd doesn't know (and does not use) this kind of measure.
Yes, RSSI is important but we do not must too much focus on it. RSSI is a measurement of the received radio signal strength, it reports the energy integral and not the quality of the signal (a good quality is not always synonymous with a strong signal, chips can often decode low bit-rate signals down to -94dBm while strong signals may saturate the receiver).
Now forget to be a human and try to think as olsrd does, so run
olsrd-mon.sh |less
and look at the values listed under LQ NLQ and COST columns in the tables Link and Topology: try now to trace the best route to the gateway node using only those informations.

Many and many words have been written about this topic: single poor hop or two better hops? Rememeber that each hop be halves the bandwidth, frustrating the strength of the signal...
Back to top
View user's profile Send private message Send e-mail Visit poster's website
mtlowes
Moderator
Moderator


Joined: 28 Oct 2009
Posts: 577
Location: Lakeshore Ontario Canada

PostPosted: Mon Mar 15, 2010 11:09 pm    Post subject: Reply with quote

fair enough.. however, when the node I want to hop with is Direct Clear line of sight with strong signal strength and no channel interference compared to the gateway that is blocked by trees, houses and 3 times distant.. your argument doesn't make much sense to me.

If i use non mesh 2.4 units (Same 2610's) I get near perfect connection node to node location and very poor and error prone connection to the gateway location.. So this has been tested and verified.

So back to the orginal question.. How to force a unit to HOP?

....
Gateway to Node1 average speed is 9.8mbps... I can afford to cut it in half as all mesh accounts are rated to 2mbps anyways...
Back to top
View user's profile Send private message
Antonio (isleman)
Site Admin
Site Admin


Joined: 10 Feb 2008
Posts: 2323
Location: Toscana, Italy

PostPosted: Tue Mar 16, 2010 8:19 am    Post subject: Reply with quote

can you post olsrd-mon.sh output computed at node2 ?
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Antonio (isleman)
Site Admin
Site Admin


Joined: 10 Feb 2008
Posts: 2323
Location: Toscana, Italy

PostPosted: Tue Mar 16, 2010 12:08 pm    Post subject: Reply with quote

Quote:
...your argument doesn't make much sense to me.


Well, let's have a look at OLSR metrics for calculatging optimal routes

Hysteresis metric (OLSR-RFC)
Link hysteresis is calculated using an iterative process. If qn is the link quality after n packets and h is the hysteresis scaling constant between 0 and 1 then the received the link quality for each consecutive successful packet is defined by Equation:
qn = (1 − h)q( n − 1) + h
For each consecutive unsuccessful packet the link quality is defined by Equation:
qn = (1 − h)q( n − 1)

When the link quality exceeds a certain high hysteresis threshold (qhigh) the link is considered as established and when the link quality falls below a certain low hysteresis threshold (qlow) the link is dropped.

Hysteresis produces an exponentially smoothed moving average of the transmission success rate and the condition for considering a link established is stricter than the condition for dropping a link.


ETX metric (OLSR-ETX) (this is the metric we use)
ETX (Expected Transmission Count) calculates the expected number of retransmission that are required for a packet to travel to and from a destination and is based on the pair LQ and NLQ values. The link quality, LQ, is the fraction of successful packets that were received by us from a neighbor within a window period. The neighbor link quality, NLQ, is the fraction of successful packets that were received by a neighbor node from us within the same window period.
Based on this, the ETX is calculated as:
1 / (NLQ x LQ)
While LQ and NLQ values are from 0 to 1, ETX value will be from 1 to "infinite".

Let's assume that we have a two available routes from node_A to gateway node_G:
a) 2 hops route from node_A via node_B to reach gateway node_G
b) single hop route from node_A to gateway node_G

The ETX for the single hop route in b) is ETX_ag
But what is the total ETX for the two hops route in a), i.e. how often is our packet retransmitted on its way from A to G?
This number is simply ETX_abg = ETX_ab + ETX_bg, where:
- ETX_ab = how many attempts to successfully transmit a packet from node_A to node_B
- ETX_bg = additional number of attempts to hop from node_B to node_G

Routes are always chosen such that the sum of all the ETX values of adjacent node pairs is minimized, hence if ETX_ag < (ETX_ab + ETX_bg) then the node_A will use the single-hop route.

Just for example:

2 hops route a-b-g
LQ_ab = NLQ_ab = 1 (the best!)
LQ_bg = NLQ_bg = 0.9 (near the best)
expected ETX is ETX_abg = (ETX_ab + ETX_bg) = (1 + 1.234) = 2.234

single hop route a-g
LQ_ag = NLQ_ag = 0.7 (30% less than LQ_ab!)
expected ETX is ETX_ag = 2,04

ie, the single (but worse) hop route provides the better ETX.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ezyfi-sc
Moderator
Moderator


Joined: 22 May 2009
Posts: 545

PostPosted: Wed Mar 17, 2010 2:37 am    Post subject: Reply with quote

Thanks for that incredibly useful and detailed look into OLSR, Antonio.

I might have a simple solution... network name?

_________________
Production Network: ezyfi

If I am helpful, please donate to ROBIN by paypal:

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

!
Back to top
View user's profile Send private message
mtlowes
Moderator
Moderator


Joined: 28 Oct 2009
Posts: 577
Location: Lakeshore Ontario Canada

PostPosted: Wed Mar 17, 2010 2:54 am    Post subject: Reply with quote

So.. If I appreciate the method correctly.. A 2610 at full tx power.. ie: 28db/600mw with the range set to 800 on a link that is only 50ft away could over saturate the link rendering it with too many errors in the packets?..

If this is the case.. how to reset the tx power and range to get the ACK timing correct and knock the power down... Any way to make the routine autoACK and calculate optimum range and ack values?
Back to top
View user's profile Send private message
ezyfi-sc
Moderator
Moderator


Joined: 22 May 2009
Posts: 545

PostPosted: Wed Mar 17, 2010 4:44 am    Post subject: Reply with quote

Here's an option: put that gateway on another network that has "block alien nodes" activated. That's what I have done in the past.

_________________
Production Network: ezyfi

If I am helpful, please donate to ROBIN by paypal:

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

!
Back to top
View user's profile Send private message
Antonio (isleman)
Site Admin
Site Admin


Joined: 10 Feb 2008
Posts: 2323
Location: Toscana, Italy

PostPosted: Wed Mar 17, 2010 9:21 am    Post subject: Reply with quote

We might explore some other solution, such as switch to hysteresis metric (I'm going to prepare and upload a proper custom.sh script) or act on timers and intervals of olsrd messages.

With the typical settings (validity times of messages several times bigger than message interval) a lost packet containing multiple messages from different olsr nodes is no big tragedy for olsrd, at least if this message did not contain informations about dramatic changes. But loosing consecutively multiple messages from a node, as the information that this node exists, will simple timeout (based on the validity time of the message).

If such timeouts happen - as said, due to not enough messages received - we will suffer from missing routes. Here is where the txtinfo output comes in our help: try to run olsrd-mon | less and look at the values in the VTimes columns, they show how long a link or a topology data or a host/network announcement is still valid.
Eg, if the link from us to neighbor node_X has a validity time of 200 secs it means that if no HELLO messages come to us from node_X in next 200 seconds this route will be removed.
Usually (in a working network) this should be for all entries far greater than 50% of the validity time reported in olsrd config file (/etc/olsrd.conf.robin).
Shortly, VTime is the current time-wait window: if no messages come inside the window (ie in next VTime seconds) the related route is removed from olsrd databse (something like a TTL).
But, since the link quality = received_packets/expected_packets, olsrd might remove the route earlier than VT timeout to avoid the existance of routes on too many poor links.
The same considerations can be made by reading the values <message>Interval and <message>ValidityTime, eg

HelloInterval = 5
HelloValidityTime = 100

means that the node_X may consecutively loose up to (100/5) 20 hello messages from node_Y before to remove the route nodeA -> nodeB (better known as the soft state)... but - as said below - usually the route to node_Y is removed much earlier, as no routes over links with an lq <0.1 are used.

As you see:
Interval(s) and ValidityTime(s) affects LQ, NLQ
LQ, NLQ affect ETX
ETX affects the metric
metric affects the way the world is seen by the node

By reducing ValidityTime values we get a less conservative approach which penalizes the weakest links and causes a faster rate of LQ deterioration so that the poor link is no more used.

Unfortunately, there is no one olsrd_config_file be good for all seasons: we adopt a quite good "general purposes" configuration but that should be tuned to better meet sinlge needs.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    ROBIN - Open Source Mesh Network Forum Index -> beta-1.5 Release Candidates 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: 3.995