GNSS very bad reception / unreliable fix

We are using the Asset Tracker Template with on a nRF9151-SMA-Devkit, using the enclosed external GNSS antenna outdoors (out of the window) and the GNSS reception is very bad.
Even when the device is using the A-GPS and M-Cell location, the GNSS fix sometimes takes minutes to get, even when there is very little obstruction

Are we missing an option to activate the power for the LNA ? (I assume this is already activated in the Asset Tracker Template ?)

What is the recommended setting for a 10 second tracking interval (constantly updating the GNSS fix and sending the latest GNSS fix every 10 seconds) ?

Thanks a lot!

Parents
  • Hi Markus,

    A few things to check — the most likely culprit is the LNA not being enabled for the external SMA antenna.

    1. Enable the LNA via COEX0 (most important)

    On the nRF9151-SMA-DK, the external antenna LNA must be explicitly enabled. Send this AT command (or add it to your modem initialization):

    ```
    AT%XCOEX0=1,1,1565,1586
    ```

    This tells the modem to assert COEX0 during GNSS operation in the L1 band. Without this, the external SMA antenna will perform very poorly regardless of clear sky view.

    In your `prj.conf`, also confirm:
    ```
    CONFIG_NRF_MODEM_LIB=y
    CONFIG_GNSS_MODULE=y
    ```

    2. Confirm the SMA antenna is physically selected.

    The nRF9151-SMA-DK has a solder bridge to switch between the onboard patch antenna and the SMA connector. Double-check the board schematic to confirm ANT_SEL is set for the SMA port.

    3. Recommended settings for 10-second tracking interval

    For continuous 10s fix + send, add the following to your `prj.conf`:

    ```
    # Continuous GNSS tracking
    CONFIG_GNSS_SAMPLE_MODE_CONTINUOUS=y
    CONFIG_GNSS_SEARCH_TIMEOUT=120

    # Disable PSM — it conflicts with frequent GNSS+LTE use
    CONFIG_LTE_PSM_REQ=n

    # Give GNSS priority over LTE during fix acquisition
    # Send this at runtime before each fix attempt:
    # AT%XGNSSPRIO=1
    ```

    Note: LTE and GNSS share the RF frontend on the nRF9151, so frequent 10s LTE transmissions will interrupt GNSS. Using `AT%XGNSSPRIO=1` temporarily during fix acquisition helps a lot.

    4. Make sure A-GPS data is being injected

    Ensure the device has an LTE connection before starting GNSS, and confirm in `prj.conf`:

    ```
    CONFIG_NRF_CLOUD_AGPS=y
    CONFIG_NRF_CLOUD_PGPS=y
    ```

    Without A-GPS injection, cold TTFF can easily take several minutes even with good sky view.

    Hope that helps!

  • PS: I cant find the solder bridge on the SMA-devkit (Maybe you meant the normal Devkit that has a patch antenna ?):

    docs.nordicsemi.com/.../solder_bridge_configuration.html

Reply Children
Related