Losing All AOG when Cell Service drops

How do you have this set up as output?


I have selected TCP Server.

First option button gives the following. What option do I use in the port here?

image

Do I need to configure anything in the second option dialog?

I am struggling with input settings, it seems to refresh very slowly with defaults but Iā€™m not really sure what to change. The square by my input starts green, then goes yellow and says timeout in the box at the bottom. Then after a few moments it turns green again. Also like jimc I havenā€™t the slightest clue what to put for output. Finally is there a way to save my ntrip settings, it seems to forget them on restart. Thanks so much for helping us through this.

I just tested this. I am getting the exact same results as B_bimmer.

Just a note: I am connecting to a Trimble VRS network maintained by MODOT if that makes any difference.

SK21 informed me that AIO transmits the correction on port 8888 so that is what I am using.

Finally is there a way to save my ntrip settings, it seems to forget them on restart. Thanks so much for helping us through this.

Mine are being saved in a strsvr.ini file in the same folder as the .exe. It recovers the settings when I start it up.

I send the output to a virtual serial port which is configured to send to UDP 2233 of the teensy IP.

Tibbo Virtual Serial Port Manager (VCP) handles this great and is free. I thought someone said you can do it natively in strsvr now, but I have never bothered to look as this has always worked 100% for meā€¦

I have tried the virtual serial port. I think that will work for the output side. I am still having issues connecting to the caster. Did you have to make any other changes to connect to the caster other than the normal address, port, mountpoint, username and password?

If you get this going I would be very interested in your settings. I havenā€™t had a chance to fiddle with it yet but may need it in a field coming up soon.

Does it still show the age of corrections in agopengps using a different ntrip program?

Just normal settings and has always worked fineā€¦

Still shows age as this comes from the F9P

Today in the tractor getting some seat time noticed something about this blackout. It is actually a freeze of the teensy. I suspect it is locked in a loop or something. When this blackout happens the steer switch will not disengage the autosteer motor. Also the current sensor will not disengage the motor.

I will have to do some more testing and maybe I can find what the culprit may be. I would guess a bad data value is being passed in the NTRIP data via UDP and it is not handled correctly when that is ā€œreceivedā€ at the teensy causing this hang.

2 Likes

Unlikely to be Teensy Iā€™d think - more likely a networking thread hang, tablet-side, in AgIO or AgOpenGPS.

If this was the case then the steer switch and current sensor would continue to work, since they are hard wired to the steer board with the teensy. They are not communicated across the newtork to enable or disable the motor. I donā€™t think. I may need to examine the code further.

The behaviour that we see is the following the autosteering stops during this blackout time, but the motor remains enabled. There is a watchdog in the teensy that should kick out the motor also on loss of communication to AOG. It should only take 250 cycles of the loop to make this happen.

I also found this.

1 Like

Iā€™m sure youā€™re telling me everything a competent person needs but I am not that with networking. Does this look right for th3 virtual serial properties?

I think youā€™re right, this is done in the Teensy from what I see. So a Teensy issue seem to be plausible.

With the zero length packet issue. I think we need to check the packet in AIO before we send it to make sure it is not a zero length packet.

Looking at the code this is already checked.

From SendUDPMessage

try
{
// Send packet to the zero
if (byteData.Length != 0)
{
UDPSocket.BeginSendTo(byteData, 0, byteData.Length, SocketFlags.None,
endPoint, new AsyncCallback(SendDataUDPAsync), null);
}
}
catch (Exception)

I tried to reproduce it using windows Hyper-V.

This is theoretically a 4kbit/second internet:
Set-VMNetworkAdapter -VMName AOGNTRIP -MaximumBandwidth 3900

And with this I was able to get some hectic results but even a 2G connection is 100kbit/sec. so this isnā€™t very likely to happen. But maybe it has a 2+ second roundtrip time.

Not quite sure how should we reproduce it outside of the tractor.

I downloaded procmon to see the TCP connections behind the scenes

Bench testing has been difficult. I have been able to get it to do it a couple of times by having it connected to my cell phone then turning off cell service. It does not always cause the blackout but it has on a couple of occasions.

I plan on putting some debug serial messages in the teensy code that can help to see if it is hanging during the blackout.

If itā€™s any help my setup is a seperate teensy for Panda and it also happens me, I do loose sections then but suspect that is because gps signal is gone. Recovers itself within a few seconds

The main issue with the AgIO application is that everything runs on a single thread. All communication between the AgOpenGPS application and the control board can be frozen due to a hanging NTRIP connection (mostly due to sockets). If someone is interested, I have a solution to this problem. It requires some changes in the autosteer Teensy code (this is not a problem with the Teensy itself).