London traceroute example: contact without line of sight possible?

I can get a traceroute, and direct message with tick, in just two hops from 51.43518, -0.04306 in London SE23 2LR Lewisham to a node point 10 km away stated to be 51.34415 , -0.04888 in South Croydon CR2 8SA . But the line of sight from the first hop shows this to be impossible.


If I move the line of sight to New Addington to the East of the stated node location, I get a clear line of sight…

That is the approximate line of sight.
If one plots the line of sight to the first hop one has this:

then the second hop if the location of the node is correct is:

which one would think is not possible so if one moves the actual node position across East one has this:

Basically my question is : could this work without a direct line of sight if the node position is correct? The day is Wed 31.7.24 and time is 23:00. Nodes are reporting distant contacts and the atmospherics are apparently ideal. Any explanations welcome. Will test when weather changes.

The next day 1.8.24 at 10:00 the traceroute is still returned as the evening before, so I doubt it has anything to do with the weather.

The node I was using (MRbx) is just lying on the radiator by a wall with the antenna horizontal (inside box see Boxed solar node - glorified Bluetooth link to main nodes)

Perhaps there is a repeater that does not appear in node list? Device Configuration | Meshtastic

Radio waves sometimes take strange paths.
And yes, your plots can definitely work. One must not forget the reflections of the signal. The waves also follow the ground and can sometimes reach nodes that are actually in the radio shadow.
I know this from CB radio. Here I also made connections through the whole of Switzerland at 11m, with 2000-3000m high mountains in between.

But it worked with 4W transmission power. :+1:

1 Like

Wow. Nice plot. I was wondering if there were node settings in which the node is neither shown on the map nor shown in the traceroute… so we do not know if the traceroute is accurate and whether there was one long hop or in fact a “hidden” hop.

I believe nodes using ‘official’ meshtastic firmware should always appear on the traceroute, although maybe as ‘unknown’ if they not sharing their identity. [edit, see next mesage, looks like was wrong]

a ‘repeater’ role, will not appear in ‘node lists’ as it doesn’t send NodeInfo (should be sending very little itself), but does still decrement HopLimit during forwarding, so it will appear in traceroutes (probably as unknown!)

There might be ‘non-compliant’ nodes out there that will ‘relay’ a meshtastic message, without decrementing the hop count, and hence being unable to be identified in the traceroute.

Note that there is a significant limitation with the node list (on Android at least, not sure about other clients), and ‘old’ clients, that does not provide hopstart information, will appear as a zero hop.
Ie will show a RSSI/SNI figure in the node list, making it ‘look like’ it a direct connection, when actually its via hops.
I want to suggest a change to the client to address this: Comparing meshtastic:master...barryhunter:patch-1 · meshtastic/Meshtastic-Android · GitHub as I can’t yet test it, not been brave enough to submit a pull request. Would change ‘unknown’ hops to show ‘hops away: ?’ rather than looking like zero.
… I don’t think this affects ‘traceroute’ module, but not certain.

… I am also in south england have been seeing long than normal links. Eg over the North Downs. Do think recent atmospheric conditions are somehow allowing it.

1 Like

Hmm, actually seems I might of been mistaken!

Checking the code for Traceroute module firmware/src/modules/TraceRouteModule.cpp at bcdda4de8ab81fec6a35be52cc2a3a0fa3fa5332 · meshtastic/firmware · GitHub
… intermediate ‘unknown’ nodes need to be adding during the ‘outgoing’ packet chain.

If a intermediate node with pre [2.3.12] (Release Meshtastic Firmware 2.3.12.24458a7 Beta · meshtastic/firmware · GitHub)
it won’t add unknowns in the middle of the route. Ie the first node AFTER the unknown, needs to be 2.3.12 or above.

So if there is a mesh with non-recent firmware nodes, there MIGHT be missing hops in a traceroute!

Also the FIRST node (the one making the traceroute request, ie you), needs to be a recent firmware. (otherwise unknown hops can’t be identified!)
I think [2.3.2] Release Meshtastic Firmware 2.3.2.63df972 Beta · meshtastic/firmware · GitHub

… so in general traceroutes only kinda reliable, if local hodes are using recent firmware. (updated in last few months!)

(all bets off, if non-meshtastic firmware nodes involved)

1 Like