[SOLVED] Septentrio GPS detection stuck in loop

Hello all,
We have a septentrio GPS AsteRx-m2 GPS.
We are running ArduCopter master on our pixhawk 1.
The GPS is connected to SERIAL3.
The parameters are set as shown:

I have also attached the param file
septentrio.param (14.3 KB)

Can you take a look at this?

I attempted to fix this using this patch:

But it did not help. Any ideas ?

It is probably that you have Auto_blend turned on but have GPS_Type2 at 0.

I had a similar problem when I left GPS2 setup but only running the Astre-x on GPS1.
It kept spamming the GCS which is what your is doing.

@mboland autoblend is turned off in their params, and only GPS 1 is enabled

@karthikdesai what firmware is this on? The first thing that comes to mind is that the config string sending from the autopilot is a bit finicky and there was a race condition with it at one point. This patch https://github.com/ArduPilot/ardupilot/commit/7d2b8b6bde38cae63c14c45565a2187549fd4d86 was applied in time for the Copter 3.5 branch. However it is something that I haven’t pinned down why it was needed yet, it was simply noted that it resolved the issue and needed more investigation.

Thanks for the reply @WickedShell
So we were running master 3.6 Dev version for starters. We were unlucky with this detection loop. We went ahead and tested it with 3.5.2 version and had a bit of luck. We got a lock (Not a RTK float neither, just DGPS :frowning: ) and saw this on MP. But just this once.

So we tried with 3.6+Dev version on our pixhawk2.1 but was stuck in the loop again. I don’t know if the M2 got falsely configured, but on returning to 3.5.2, it was the same problem all over again. Yes it was a very random and we still not sure how it started to work on the first hand.

But as you said it seems very much like a race condition. You think increasing the delay is gonna help with this?
EDIT: What about the string that is sent at the beginning? any other combinations that could be tried? (WRT the blob itself)

I’d be curious if you downloaded the current boot config from the GPS (power it via USB only w/out letting the PH talk to it/configure it) and save that off. Then with 3.5.2 configured and the GPS getting detected if you copy the current configuration to boot configuration if that resolves your detect problem.

I’ve be curious what the two config files that produces looks like. At the moment my loaner M2 has been sent back, while I wait for the ones I purchased to arrive so I won’t be able to replicate with a M2 connected for a couple of weeks, although I think the config files can be read easily.

Hmm yeah i can give it a try tomorrow. But not really sure how to do it :sweat_smile:. We received this GPS this Monday so haven’t completely explored the software
But as i said, it being detected happens at random, but when it does, will get the boot config.

And you’re also getting one? awesome then we can get on the same page soon!

Yeah, I finished my test with a loaner unit and sent it back, and then shortly there after ordered some, so I will be getting more. Have you tried following the PDF from them on connecting/using the GPS with ArduPilot btw? Sorta obvious but it does talk you through how to copy/look at configs via RxControl.

Ah the ever evading PDF. Yes this wasn’t delivered to us but they sent it to us today close to closing hours so didn’t have time to read it yet. Will check it tomorrow and get back to you.
and ordered some? haha awesome

We found the problem !!
You can not connect mission planner until the GPS is fully configured:

Is this a problem unique to pixhawk2? I’ve been using an AsteRX for almost a year with no indications of this problem.

No this is reproducible with Pixhawk1 and Pixhawk 2.1 running ArduCopter 3.5.2
I think the issue is AsteRX-m2 FW 4.2.2

Just make sure you do not connect mission planner to Arducopter as soon as the pixhawk boots and you should be fine.

Interesting. Thanks for the reply. I often connect mission planner within seconds of powering the pixhawk and have never seen this problem. I haven’t upgraded to 3.5.2 yet. Not sure what firmeware I am running on the AsteRX. I’ll check when I get home.


I’m a bit confused by this. Is MP configured to be providing GPS injection on connect? I’ve had the GCS connected from the moment of boot on both M1/M2 with a variety of firmware’s and never had a problem. The only thing I can think of is that I wasn’t injecting data.

It makes no difference if MP is configured for injection or not.
My guess is that the parameter downloading thread messes up the timing of the GPS configuration blob or the timing of the autobaudrate.

Following your tip, I did increase the wait time to 4000ms

But it did not help

In any case I can reproduce this all the time, any time!

Waiting 15 seconds, gets it to work in ten out of ten attempts.

I’ll have to test with MP, but MP should be waiting on params to be broadcast before requesting them, which is what the GCS I use does as well. Have you pushed the param rate much higher/lower then the default of 10?

AFIAK it is at the default value of 10. I’ll check that on Monday, thanks for the tip.


I am trying t configure the Mosaic-Go single head with the latest ardurover build, but I have go the same problem that the SBF format stuck in loop.

Someone have fixed that problem? Thanks in advance

Could anyone fix the issue?

I had similar issues with CubeOrange+ when I was connecting it to GPS2 port. Once I actually connected to 8pin GPS1 port it started to work ok. In my case it was somehow related to not enough power.

I connected it to my PC through TTL/USB adapter and attached terminal software just to see that indeed it just hangs at this initialization procedure, then I changed powering and observed in terminal that it actually started to work, that way I figured out it was related to probably not enough current or so. Then I just moved it from GPS2 to GPS1 and it started to work. Though it is strange because looking at the cube power architecture they are exactly same :-/