Hello,
I am currently working a project, initially based on nRF9160, which is now equiped with nRF9151.
The device sends data to nRFCloud using CoAP, every 15 min. The device is stationnary.
The issue I am currently looking at is the lack of PSM in some countries/operators.
With the nRF9160, the device has to disconnect from network (to save battery), then reconnect 15min later. With nRFCloud, this implies a full handshake/authentification, which consumes a lot of power and SIM data. Overall, we are looking at battery life divided by 2 for device without PSM access.
This is the main reason why I now upgrade the design with nRF9151.
At first, I though that SO_KEEPOPEN would be my savior. But it appears that if the modem is switch off (because no PSM), the SO_KEEPOPEN doesn't provide any benefit: the handshake needs to be re-made (that what the Nordic AI told me).
Here are several questions on this topic:
1#
So, I turned to "proprietary PSM", on which I was unable to find any detail explanation.
Is there any details on this feature, other than nrfconnectdocs.nordicsemi.com/.../psm.html
2#
From my understanding, this feature simply consists in putting the modem in sleep mode, without informing the network. Is that correct ?
If so, is there a way to apply the same principle to the nRF9160, using some AT commands ?
3#
How should this be implemented ?
Is this the right way to do it:
- Connect to network
- Send data
- Check if PSM is available / Negociate with network ?
-> Yes, PSM can be used: just let the modem go idle on its own
-> No, PSM can't be used
-> Enable Proprietary PSM, using %FEACONF
-> Should AT or TAU be negociated again ?
-> Should PSM modem be disabled with lte_lc_psm_req() ?
4#
Is there a way to test this feature ?
At my workplace, all operators accessible to my device provide "normal" PSM.
5#
If the modem goes idle, the expected power consumption between 2 messages should be identical to what I have when the modem is switched off ?
Thanks a lot for your help.