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
    29 Posts 5 Posters 1.9k 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 @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 pparent

                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 side 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
                
                D 1 Reply Last reply Reply Quote 0
                • lduboeufL Offline
                  lduboeuf
                  last edited by

                  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

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

                    @lduboeuf said:

                    did you reported the issue to the porter ?.

                    I plan to do so when I have time.

                    1 Reply Last reply Reply Quote 0
                    • J Offline
                      jojumaxx
                      last edited by

                      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).

                      Happily running Ubuntu Touch:

                      • BQ Aquaris E5 HD (Retired)
                      • BQ Aquaris M10 HD (Retired)
                      • Meizu MX4 Pro (Retired)
                      • Meizu Pro 5 (Retired)
                      • PinePhone UBPorts Edition
                      • Volla Phone
                      • Volla Phone X
                      1 Reply Last reply Reply Quote 0
                      • D Offline
                        domubpkm @pparent
                        last edited by

                        @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.

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

                          @domubpkm said:

                          Did you notice side effects (you said that, i have a Volla 22 too) ?

                          The only thing that I've noted so far, is that If I enable airplane mode with a wrong timing (bad luck), it might go into a loop of disabling / re-eabling the modem. But then I switch off and on, the airplane mode it goes fine.

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

                            @domubpkm said:

                            May you please suggest a complete procedure to test

                            1°) With adb create the script with

                            nano /home/phablet/backup-ip.sh
                            

                            and paste the content

                            2°) Give execution rights:

                            chmod +x /home/phablet/backup-ip.sh
                            

                            3°) Start the script with:

                            sudo su -c "/home/phablet/backup-ip.sh > /home/phablet/log-backupip 2>&1 &"
                            

                            It will then be running until next reboot.

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

                              I've reported the bug here:

                              https://gitlab.com/ubports/porting/reference-device-ports/android11/volla-phone-22/volla-mimameid/-/work_items/26

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

                                @pparent added some comments.

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

                                  @pparent i test the script in train..

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

                                    @pparent Given that the conditions are particularly detestable on the train, I can say that the script passed the test with success: I always managed to recover the network at various times without any action on my part even if it was not immediate given the moving train and the constant change, I suppose, of relay towers.

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

                                      @domubpkm

                                      Great!

                                      In any case in a train you cannot expect a perfectly stable connection! 😉

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

                                        @pparent Yes the script works well. However, maybe a side effect that I noticed (not in the train) : VoLTE and cellular data use different APNS from what I understood. So, without the script, I have Volte enabled even though cellular data is off. When the script is enabled, VoLTE only works if cellular data is enabled.

                                        Edit : What is the command line to stop the script without reboot or stop restart of the Volla 22 ?

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

                                          @domubpkm

                                          To stop the script:

                                          sudo pkill backup-ip.sh
                                          

                                          It's true that I've not taken into account the case where LTE is activated, but mobile data is disabled.

                                          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