Receive stopped for reasons: 4Once it occurs, GNSS tracking/data reception halts because the UART is disabled. Looking at the logic analyzer, the RX data looks correct and logic analyzer is not flagging any errors (see images below). The GNSS module continues to send NMEA data.
System Setup
CONFIG_UART_ASYNC_API=y
CONFIG_UART_30_ASYNC=yCONFIG_UART_30_INTERRUPT_DRIVEN=nCONFIG_MODEM_BACKEND_UART_ASYNC_RECEIVE_IDLE_TIMEOUT_MS=30CONFIG_PM_DEVICE_RUNTIME=yCONFIG_PM_DEVICE_RUNTIME_DEFAULT_ENABLE=yCONFIG_PM_DEVICE_RUNTIME_ASYNC=yCONFIG_PM_DEVICE_RUNTIME_USE_DEDICATED_WQ=y


- Verified GNSS UART configuration and stable NMEA output.
- Logic analyzer shows clean UART at the pin (decoded data matches expected sentences) when the error fires.
- Confirmed the failure correlates with 8-10 ms idle gaps (we've seen 8.5ms, 9.5ms, 9.2ms); longer continuous streams do not show errors.
Device tree snippet for uart30 + pinctrl states (default/sleep):
&uart30 { compatible = "nordic,nrf-uarte"; status = "okay"; current-speed = <115200>; pinctrl-0 = <&uart30_default>; pinctrl-1 = <&uart30_sleep>; pinctrl-names = "default", "sleep"; gnss: se868 { compatible = "telit,se868"; status = "okay"; pps-mode = "GNSS_PPS_MODE_DISABLED"; mdm-power-gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>; mdm-reset-gpios = <&gpio0 4 GPIO_ACTIVE_LOW>; };}; uart30_default: uart30_default { group1 { psels = <NRF_PSEL(UART_TX, 0, 1)>; }; group2 { psels = <NRF_PSEL(UART_RX, 0, 0)>; bias-pull-up; }; }; uart30_sleep: uart30_sleep { group1 { psels = <NRF_PSEL(UART_TX, 0, 1)>, <NRF_PSEL(UART_RX, 0, 0)>; low-power-enable; }; };
