GNS Disconnects


Hello - so please download and install:

It is a new app named “GNS Log”… you’ll have to configure again, but this way there’s no mess with your “real” app and settings. Everything is the same, but the log will be generated.

After exiting the monitor window, both the configuration ( and the log (gns.log) files will be present in the /Download folder of your phone. If you send these to me, I expect to find something interesting there. Quite looking forward to see.

Please note the files will be overwritten in each session, so once you’ve the program failure please send them straight away.

Thank you very much,



When I tap on monitor it comes up with
‘ERROR: Developer must include WRITE_EXTERNAL_STORAGE to the build settings! Ensure that your app is using the “android.permission.WRITE_EXTERNAL_STORAGE” permission’


ops, shouldn’t happen, I’ll have to check on other phones, in mine it works fine.
Sorry, I’ll check

… sent from a phone


Please download again:



I can’t get the logging version to fail while the original version continues to fail. I ran a test of 50 frames and the original version failed on the 9th frame while the logging version completed all frames. To me this suggests a timing problem where the logging changes the timing enough to avoid the problem. What protocol are you using to communicate between the programs? TCP, UDP, or something else?


The protocol is UDP … how strange, the only change are the logging messages, that could add a little bit of delay but so small…

The log is verbose but not that verbose, just a few messages / second at most.

Your network latency is normal, I mean, in the hundreds of ms at most?

What mostly concerns me is the lack of “network error” in your normal program. What’s the polling period? Can you try lowering it to 3 seconds or so?



UDP is a broadcast protocol which does not guarantee receipt. I think a message is being lost and it is not detected. I think you either need to switch to TCP which does guarantee receipt or add some receipt acknowledgement messages to detect lost messages.

I tried a 3 second poll and it fails.

Network is a local WIFI so latency should be low but that should not matter.


My bad I should have said TCP - I use UDP in many other things, but here TCP it is.

The problem is not however if a packet is lost (a write can fail in TCP…) - but that somehow that event is not detected (which of course should!).

If the communication with the host is lost, the screen should reflect that (comms arrows turning orange / red) and then being replaced by square dots meaning trying to re-establish the communication.

Specially puzzling me is the fact that you cannot reproduce the failure in the version generating logs - and that I cannot reproduce it at all.

I’ll check the code once more and cross fingers you can get the log version to fail.



What does the “no communication with remote” message in the PC log tell you?


… in the smartphone.

You previously reported everything in the smartphone was “green”, so the comms failure was not detected. Having it detected in the PC is good, but does not help in that regards.