[Solved] GPS status alternates between full fix and 'No GPS' every few seconds

omnibusf4pro (F405RGT6), u-Blox M8N

I brushed the cobwebs off my big hexacopter today that was working perfectly last time I used it about a year ago, and installed 4.6.0. There seems to be a problem with reading GPS data where the status briefly looks normal for a second or two, and then kinda… resets or something, showing zero sats and ‘No GPS’. This repeats endlessly so I cannot arm or fly.

I tried changing a few settings settings but none of these made any difference:
GPS_AUTO_SWITCH = 0 (use primary)
GPS_AUTO_CONFIG = 0 (disable)
GPS1_TYPE = 2 (uBlox)

Any ideas why this might happen?

btw as I’m typing this post, an annoying dialog keeps popping up over and over telling me “draft is being edited in another window”… what’s up with that??

I’m thinking cables. . . Or, you could be using a slower baud to your GPS - something like 115200. Correct settings for U-Blox related GPS modules

Set LOG_DISARMED,1 and share the resulting log.

I tried this again today and realized that everything is fine until the receiver starts outputting a signal when I first turn the radio on. Yesterday I had actually moved the receiver input from the LED strip plug to the normal RX pin, which apparently is shared with UART6.

It was about 3 years ago I originally set up this hex so I couldn’t remember why the receiver was going into the LED strip plug, but I guess I must have built my own firmware with a custom hwdef to avoid exactly this problem.

So… I had to build my own firmware again. Mainly for my own future reference I’ll leave the details here:

Before:

PB6 GP_GPIO OUTPUT LOW GPIO(70)
PB8 TIM4_CH3 TIM4 RCININT PULLDOWN LOW

After:

#PB6 GP_GPIO OUTPUT LOW GPIO(70)
#PB8 TIM4_CH3 TIM4 RCININT PULLDOWN LOW

PB6 TIM4_CH1 TIM4 RCININT PULLDOWN LOW

The LED strip plug is the 3 pin JST on the underside of the board: