I'm working on an nRF9151 application that periodically sends small UDP packets (20-40 bytes) over both terrestrial LTE and satellite NTN networks. The device uses PSM between transmissions to conserve power.
Current approach for LTE:
Before each transmission, I call lte_lc_conn_eval_params_get() which:
- Wakes the modem from PSM
- Verifies the connection is active
- Provides signal quality metrics
This works perfectly and ensures we don't send data when not connected.
Problem with NTN:
The same approach fails on NTN with error -77 (AT command failure). The connection evaluation API appears to be LTE-specific and doesn't support NTN mode.
The challenge:
Since we're using UDP, send() always succeeds regardless of actual connection status. Without proper verification before transmission, we risk sending data into a black hole when the modem isn't actually registered to the satellite
network.
Questions:
1. What's the recommended approach for verifying NTN connection status before transmission?
2. Is there an NTN equivalent to lte_lc_conn_eval_params_get() that wakes the modem and verifies connectivity?
3. Will lte_lc_nw_reg_status_get() return fresh status from PSM, or is it cached?
4. Are there plans to support connection evaluation APIs for NTN similar to LTE?
Thanks in advance for any guidance!
Environment:
- Board: Custom with nRF9151
- NCS version: v3.1.1
- Modem firmware: mfw_nrf9151-ntn_0.5.1
- Network: Skylo NTN (Monogoto SIM)