Bug: data mobile interface looses ip
-
I've written a workaround script that I'm currently testing, that detects an IP loss on the interface and automatically reinitialize the modem when it happens. For now it seems to work quite well, and even seems to have a positive impact on VoLTE connexion. I will test it for a few days, and if everything goes well, I will publish it here.
-
@pparent Great.
A good test is to see if the connection is still lost after reboot or complete shutdown and startup. -
A good test is to see if the connection is still lost after reboot or complete shutdown and startup.
This is not really the purpose of the script for now. The purpose of the script is that, when you keep the phone up, and you travel, Internet remain accessible at any moment, without needing to manualy go in the settings to restart the connection.
-
@pparent ok. Thanks for the clarification. I just said that because it is a behavior i noticed very frequently.
-
For the record I never commented on this problem because I had not yet seen it but I recently observed something that looked like it: I did pass in an area without cellular support and when going back to civilization, the cellular data did come back but no routing it seems, as you describe.
I'd need a Faraday cage to confirm. -
Here is the script that I currently use, it improves greatly the usability of my phone, because it reduces dramatically the need to go in the settings to restart cellular connexion, in order to get access to the Internet.
Though it's not perfect and might have secondary effects, use at your own risks!
#!/bin/bash MODEM="/ril_0" HOST_TO_PING="8.8.8.8 www.google.com ubports.com 1.1.1.1 9.9.9.9 cloudflare.com amazon.com microsoft.com wikipedia.org apple.com" function get_modem_iface() { /usr/share/ofono/scripts/list-contexts |awk -v target="$1" ' /^\[ \/ril_/ { r=$2 } /Type = internet/ { i=1 } /Interface=ccmni/ && r==target && i { sub(/^.*Interface=/, "") sub(/ .*/, "") print exit } ' } IFACE=$(get_modem_iface $MODEM) i=0; while true; do if [ "$IFACE" = "" ]; then IFACE=$(get_modem_iface $MODEM) fi ifconfig $IFACE | grep -v inet6 | grep inet > /dev/null 2>&1 if [ "$?" -ne "0" ]; then gdbus call --system --dest org.ofono --object-path "$MODEM" --method org.ofono.NetworkRegistration.GetProperties | grep "'Technology': <'lte'>" > /dev/null 2>&1 if [ "$?" -eq "0" ]; then date echo "IFACE: $IFACE"; echo "IP loss detected" /usr/share/ofono/scripts/offline-modem $MODEM /usr/share/ofono/scripts/online-modem $MODEM sleep 5; IFACE=$(get_modem_iface $MODEM) fi else route=$(ip route show default) if [ "$route" = "" ]; then gdbus call --system --dest org.ofono --object-path "$MODEM" --method org.ofono.NetworkRegistration.GetProperties | grep "'Technology': <'lte'>" > /dev/null 2>&1 if [ "$?" -eq "0" ]; then date echo "IFACE: $IFACE"; echo "Route loss detected" /usr/share/ofono/scripts/offline-modem $MODEM /usr/share/ofono/scripts/online-modem $MODEM sleep 5; IFACE=$(get_modem_iface $MODEM) fi fi fi i=$((i+1)) if [ "$i" -gt "15" ]; then i=0; gdbus call --system --dest org.ofono --object-path "$MODEM" --method org.ofono.NetworkRegistration.GetProperties | grep "'Technology': <'lte'>" > /dev/null 2>&1 if [ "$?" -eq "0" ]; then internetaccess=0; for host in $HOST_TO_PING ; do ping -W 1 -c 1 $host >/dev/null 2>&1 if [ "$?" -eq "0" ]; then internetaccess=1; break; else echo "Ping to $host failed, trying next one in 4s ...." sleep 4; fi done if [ "$internetaccess" -eq "0" ]; then date echo "IFACE: $IFACE"; echo "Internet access loss detected" /usr/share/ofono/scripts/offline-modem $MODEM /usr/share/ofono/scripts/online-modem $MODEM sleep 5; IFACE=$(get_modem_iface $MODEM) fi fi fi sleep 20; done -
did you reported the issue to the porter ?.
i personaly have some issues on FP4 regrding network too:
e.g Noticed that QNetworkConfigurationManager doesn't report isOnline properly -
-
I just read through this post and want to add that lately, I have that exact issue on my Volla X (24.04-1.2 stable).
I'll test the script and report back.In my case this goes hand in hand with not being able to receive calls. I can initiate calls, but it takes around a minute until a call is established (until the ring sound).
-
@pparent Hello. Thanks for the script. Did you notice side effects (you said that, i have a Volla 22 too) ?
May you please suggest a complete procedure to test (as done here https://forums.ubports.com/topic/6211/howto-alternate-way-of-saving-battery-when-using-4g-lte ) ?
Thanks in advance.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login