Using modem_cellular and gnss-nmea-generic simultaneously

Hi,

I am developing on the nRF5340 and using an external modem and an external GNSS module.I am using SDK version 3.4.0.

To operate the modem, I use `modem_cellular`.

To operate the GNSS, I use `CONFIG_GNSS` with `gnss-nmea-generic`.

Individually, both work perfectly. However, if I try to run them simultaneously, neither works. During testing, I noticed that if `CONFIG_PM_DEVICE=y` is enabled, the GNSS stops working.

Is there a way to get both working at the same time?

Best Regards


CONFIG_GNSS=y
CONFIG_GNSS_SATELLITES=y

CONFIG_LOG=y
CONFIG_LOG_BACKEND_SHOW_COLOR=y
CONFIG_LOG_FUNC_NAME_PREFIX_DBG=y
CONFIG_LOG_FUNC_NAME_PREFIX_INF=y
CONFIG_LOG_FUNC_NAME_PREFIX_WRN=y
CONFIG_LOG_FUNC_NAME_PREFIX_ERR=y
CONFIG_LOG_MODE_IMMEDIATE=y
CONFIG_LOG_BUFFER_SIZE=8192

CONFIG_GNSS_DUMP_TO_LOG=y
CONFIG_GNSS_DUMP_TO_LOG_BUF_SIZE=1024
#CONFIG_GNSS_LOG_LEVEL_DBG=y
#CONFIG_MODEM_MODULES_LOG_LEVEL_DBG=y

# Nécessaire pour gnss-nmea-generic / modem_backend_uart
CONFIG_MODEM_MODULES=y
CONFIG_UART_INTERRUPT_DRIVEN=y

CONFIG_POSIX_API=y

# Networking
CONFIG_NETWORKING=y
CONFIG_NET_NATIVE=y
CONFIG_NET_L2_PPP=y
CONFIG_NET_IPV4=y
CONFIG_NET_UDP=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_CONTEXT_RCVTIMEO=y

# DNS
CONFIG_DNS_RESOLVER=y
CONFIG_NET_L2_PPP_OPTION_DNS_USE=y

# Network management
CONFIG_NET_MGMT=y
CONFIG_NET_MGMT_EVENT=y
CONFIG_NET_CONNECTION_MANAGER=y

# Modem driver
CONFIG_MODEM=y
CONFIG_PM_DEVICE=y
CONFIG_MODEM_CELLULAR=y

# Dynamic APN configuration (uncomment if not needed)
#CONFIG_MODEM_CELLULAR_APN="" # Remove default APN
#CONFIG_SAMPLE_CELLULAR_MODEM_AUTO_APN=y
#CONFIG_SAMPLE_CELLULAR_APN_0="shared.m2m.ch"
#CONFIG_SAMPLE_CELLULAR_IMSI_LIST_0="22801"
#CONFIG_SAMPLE_CELLULAR_APN_1="em"
#CONFIG_SAMPLE_CELLULAR_IMSI_LIST_1="29505 90143 29509"

# Statistics
CONFIG_MODEM_STATS=y
CONFIG_SHELL=y

# Testing
CONFIG_MODEM_AT_SHELL=y
CONFIG_PM_DEVICE_SHELL=y
CONFIG_SHELL_WILDCARD=n

# Logging
CONFIG_LOG=y
CONFIG_MODEM_MODULES_LOG_LEVEL_DBG=y
&uart1 {
        compatible = "nordic,nrf-uarte";
        current-speed = <115200>;
        hw-flow-control;
        status = "okay";

        pinctrl-0 = <&uart1_default>;
        pinctrl-1 = <&uart1_sleep>;
        pinctrl-names = "default", "sleep";

        modem: modem {
                compatible = "telit,me310g1";
                status = "okay";
                mdm-power-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
                //mdm-power-gpios = <&gpio0 9 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                mdm-dtr-gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
                //mdm-reset-gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
                //mdm-pwrmon-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
        };
};

&uart3 {
        compatible = "nordic,nrf-uarte";
        current-speed = <115200>;
        //hw-flow-control;
        status = "okay";

        pinctrl-0 = <&uart3_default>;
        pinctrl-1 = <&uart3_sleep>;
        pinctrl-names = "default", "sleep";

        gnss: gnss-nmea-generic {
                compatible = "gnss-nmea-generic";
        };
};
Related