Mobile data stops working, outgoing packets still sent but incoming packets no longer arrive
Librem 5 running PureOS.
It happens quite often (maybe about once a day on average) that the mobile data connection suddenly stops working, while calls and SMS still work.
Mobile data seems to stop working while it is being used, for example today I was playing a video clip on a web page in Firefox and that video suddenly stopped playing, because mobile data had stopped working.
Trying to find out what goes wrong I have looked at
mmcli -m any and also
mmcli -m any -b x with x being bearer number, and things look normal there. As far as I can tell there is no error indication anywhere. Also
nmcli con show shows the connection as working, and
ip route and
ip addr output looks normal, it looks the same as when things are working. So both ModemManager and NetworkManager seem to think that everything is fine. But things are not fine, I can no longer communicate using the mobile data connection.
Trying to ping something in the outside world fails, but when I tried pinging my own server I could see the ping request packets from the Librem 5 arriving at the server, and the server sent an echo reply packet back each time. So in this situation the Librem 5 can send ping request packets, but the replies to not arrive. So the mobile data connection is not totally broken, it works in the outgoing direction but not in the incoming direction.
Trying to ping the gateway IP also fails. (Pinging the phone's own IP works though.)
mmcli -m any --reset followed by
service NetworkManager restart makes things work again.
Ideas on how to troubleshoot this further? One thing that would be interesting it to get some more low-level info from the kernel driver(s) involved, to see if there is any activity at all when incoming packets arrive.
Could it be related to suspend functionality?