Activating and using Galileo for GPS without losing coordinates

Issue: Enabling NMEA 4.1 format (needed to enable Galileo) and Galileo constellation, packet forwarder is not able anymore to retrieve coordinates, but time still ok. GNGGA messages are still flowing, GNRMC messages too. Resetting GPS to default restores ability to retrieve coordinates, but we should be able to use NMEA 4.1 and Galileo, or using a series 8 u-blox module is kinda worthless compared to 6 or 7.

Setup: default TTN setup.

After stopping ttn-gateway (sudo systemctl stop ttn-gateway.service)

To enable NMEA 4.1:
$ ubxtool -f /dev/ttyAMA0 -s 115200 -c 0x06,0x17,00,41,00,02,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,00
ubxtool: command 0x06,0x17,00,41,00,02,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,00

sent:
UBX-CFG-NMEA:
 filter x0 nmeaVersion x41 numSv 0 flags x2 gnssToFilter x0
 svNumbering 0 mainTalkerId 0 gsvTalkerId 0 version 1
 bdsTalkerId 0 0 reserved1 0 0 0 0 0 0

UBX-ACK-ACK:
  ACK to Class x06 (CFG) ID x17 (NMEA)

UBX-NAV-TIMEGPS:
  iTOW 339756000 fTOW 214711 week 2113 leapS 18 valid x7 tAcc 11

UBX-NAV-TIMEGPS:
  iTOW 339757000 fTOW 215157 week 2113 leapS 18 valid x7 tAcc 11

To enable Galileo:
$ ubxtool -f /dev/ttyAMA0 -s 115200 -e GALILEO
ubxtool: enable GALILEO

sent:
UBX-CFG-GNSS:
 msgVer 0  numTrkChHw 0 numTrkChUse 255 numConfigBlocks 1
  gnssId 2 TrkCh  4 maxTrCh  8 reserved 0 Flags x01010001
   Galileo E1 enabled

UBX-ACK-ACK:
  ACK to Class x06 (CFG) ID x3e (GNSS)

UBX-NAV-TIMEGPS:
  iTOW 0 fTOW 0 week 0 leapS 18 valid x4 tAcc 4294967295

UBX-NAV-TIMEGPS:
  iTOW 1000 fTOW 441 week 0 leapS 18 valid x4 tAcc 4294967295

To save changes:

$ ubxtool -f /dev/ttyAMA0 -p SAVE
ubxtool: poll SAVE

sent:
UBX-CFG-CFG:
  clearMask: 0x0 ()
  saveMask: 0xf1f (ioPort msgConf infMsg navConf rxmConf senConf rinvConf antConf logConf)
  loadMask: 0xf1f (ioPort msgConf infMsg navConf rxmConf senConf rinvConf antConf logConf)
  deviceMask: 0x17 (devBBR devFlash devEEPROM devSpiFlash)


UBX-ACK-ACK:
  ACK to Class x06 (CFG) ID x09 (CFG)

To check if it has been applied:

$ ubxtool -f /dev/ttyAMA0 -p CFG-GNSS
ubxtool: poll CFG-GNSS

sent:
UBX-CFG-GNSS:
  Poll request
UBX-CFG-GNSS:
 msgVer 0  numTrkChHw 32 numTrkChUse 32 numConfigBlocks 7
  gnssId 0 TrkCh  8 maxTrCh 16 reserved 0 Flags x01010001
   GPS L1C/A enabled
  gnssId 1 TrkCh  1 maxTrCh  3 reserved 0 Flags x01010001
   SBAS L1C/A enabled
  gnssId 2 TrkCh  4 maxTrCh  8 reserved 0 Flags x01010001
   Galileo E1 enabled
  gnssId 3 TrkCh  8 maxTrCh 16 reserved 0 Flags x01010000
   BeiDou B1I 
  gnssId 4 TrkCh  0 maxTrCh  8 reserved 0 Flags x03010000
   IMES L1 
  gnssId 5 TrkCh  0 maxTrCh  3 reserved 0 Flags x05010001
   QZSS L1C/A enabled
  gnssId 6 TrkCh  8 maxTrCh 14 reserved 0 Flags x01010001
   GLONASS L1 enabled

UBX-ACK-ACK:
  ACK to Class x06 (CFG) ID x3e (GNSS)

UBX-NAV-TIMEGPS:
  iTOW 340682000 fTOW -372606 week 2113 leapS 18 valid x7 tAcc 7

UBX-NAV-TIMEGPS:
  iTOW 340683000 fTOW -372163 week 2113 leapS 18 valid x7 tAcc 7

To restore back to default:

$ ubxtool -f /dev/ttyAMA0 -p reset
ubxtool: poll RESET

sent:
UBX-CFG-CFG:
  clearMask: 0xf1f (ioPort msgConf infMsg navConf rxmConf senConf rinvConf antConf logConf)
  saveMask: 0x0 ()
  loadMask: 0xf1f (ioPort msgConf infMsg navConf rxmConf senConf rinvConf antConf logConf)
  deviceMask: 0x17 (devBBR devFlash devEEPROM devSpiFlash)


UBX-ACK-ACK:
  ACK to Class x06 (CFG) ID x09 (CFG)
1 Like