UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Bug: data mobile interface looses ip

    Scheduled Pinned Locked Moved OS
    16 Posts 3 Posters 1.0k Views 5 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • pparentP Offline
      pparent @pparent
      last edited by

      I'm wondering about something, as this problem is an IP loss problem, I think it should be noted that by defualt NetworkManager uses it's internal dhcp handler. But it is also possible to configure it to use dhclient. And I wonder if the later would not be more reliable.

      So I think I will test to change the configuration of my NetworkManager to use dhclient, and see if it has any impact on this bug.

      1 Reply Last reply Reply Quote 0
      • D Offline
        domubpkm
        last edited by

        Any news about this annoying issue ?

        pparentP 1 Reply Last reply Reply Quote 0
        • pparentP Offline
          pparent @domubpkm
          last edited by

          @domubpkm

          I will soon try to write a workaround script, but when I have time.

          D 1 Reply Last reply Reply Quote 1
          • D Offline
            domubpkm @pparent
            last edited by

            @pparent THANKS. I still linked this post to NotKit from the Volla team. This is still a big problem for the Volla 22 which will have to be fixed. In addition, network loss is almost systematic each time the volla 22 is restarted.

            pparentP 1 Reply Last reply Reply Quote 0
            • pparentP Offline
              pparent @domubpkm
              last edited by

              @domubpkm

              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.

              D G 2 Replies Last reply Reply Quote 3
              • D Offline
                domubpkm @pparent
                last edited by

                @pparent Great.
                A good test is to see if the connection is still lost after reboot or complete shutdown and startup.

                pparentP 1 Reply Last reply Reply Quote 0
                • pparentP Offline
                  pparent @domubpkm
                  last edited by

                  @domubpkm said:

                  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.

                  D 1 Reply Last reply Reply Quote 0
                  • D Offline
                    domubpkm @pparent
                    last edited by

                    @pparent ok. Thanks for the clarification. I just said that because it is a behavior i noticed very frequently.

                    1 Reply Last reply Reply Quote 0
                    • G Offline
                      gpatel-fr @pparent
                      last edited by

                      @pparent

                      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.

                      pparentP 1 Reply Last reply Reply Quote 0
                      • pparentP Offline
                        pparent @gpatel-fr
                        last edited by

                        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 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
                        
                        1 Reply Last reply Reply Quote 0

                        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
                        • First post
                          Last post