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

    VoLTE Implementation For Google Pixel 3a/3a XL

    Scheduled Pinned Locked Moved Google Pixel 3a/3a XL
    volte
    119 Posts 14 Posters 9.0k Views 2 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.
      • A Offline
        atarilinux
        last edited by

        @ElliotLurie

        I have some more info on the error message and the super partition.

        On the cannot stat error:
        https://stackoverflow.com/questions/34254164/getting-an-error-cp-cannot-stat-when-trying-to-copy-files-from-one-folder-to-an

        Postmarket OS has some info on the super partition and dynamic partitions:
        https://wiki.postmarketos.org/wiki/Android_dynamic_partitions

        From the Android documentation:
        https://source.android.com/docs/core/ota/dynamic_partitions/implement

        Now we just have to see how we can put this all together for Ubuntu Touch.

        A 1 Reply Last reply Reply Quote 0
        • A Offline
          atarilinux @atarilinux
          last edited by

          I found something else that may be similar on the forums. It is regarding Fairphone 4 though...but there is a partition issue. There may be something we can glean from here.

          https://forums.ubports.com/topic/11173/fp4-can-install-android-11-12-13-and-e-os-11-12-13-and-postmarkos-except-ubuntu-touch

          ikozI 1 Reply Last reply Reply Quote 0
          • A Offline
            atarilinux
            last edited by

            Furthermore, Lineage OS has a recent build that should incorporate the retro-fitted super partition changes for the Google Pixel 3a. See below the github page.

            https://github.com/orgs/LineageOS/repositories?q=android_device_&type=all&language=&sort=

            1 Reply Last reply Reply Quote 0
            • ikozI Offline
              ikoz @atarilinux
              last edited by

              @atarilinux All modern UT devices already work with the super partition. I don't understand what you mean by "implementing" it, the only thing UT has to do is mount them, which is already done.

              May the source be with you

              A 1 Reply Last reply Reply Quote 0
              • A Offline
                atarilinux @ikoz
                last edited by atarilinux

                @ikoz

                @fredldotme mentioned having an issue with the retro-fitted super partition for the Google Pixel 3a build on a QA call. He stated that we will need to figure that part out to get it working. When the Google Pixel 3a Android 12-based Ubuntu Touch port was trying to be built, we get the following error messages below, which refernces the partitions. If this has already been worked out on other Ubuntu Touch ports can the fix be applied to this one, or is this a different issue entirely? Any insight is recommended! Thanks!

                cp: cannot stat 'partitions/': No such file or directory
                System image: Applying update: halium_halium_arm64.tar.xz
                cp: cannot stat 'partitions/
                ': No such file or directory
                System image: Applying update: device_sargo.tar.xz
                System image: Applying update: version.tar.xz
                cp: cannot stat 'partitions/*': No such file or directory
                losetup: /dev/loop0: detach failed: No such device or address

                ikozI Eric HE 2 Replies Last reply Reply Quote 0
                • ikozI Offline
                  ikoz @atarilinux
                  last edited by ikoz

                  @atarilinux The cp error is normal and happens on all builds, the actual problem is the last one. From my understanding based on an older discussion in the porting telegram group, the retrofitted partition is used for older devices which didn't have the new super partition. However, it shouldn't be impossible to get it working, as others got their device booting, mounting the android partitions is necessary only for getting the android container running.

                  Anyways, more experienced people are active on the telegram group, so you may want to ask them.

                  May the source be with you

                  A 1 Reply Last reply Reply Quote 1
                  • A Offline
                    atarilinux @ikoz
                    last edited by

                    @ikoz

                    Yes, that is correct. The retro-fitted partition is what the Google Pixel 3a uses. Thanks for helping with reading the error! I'll see what I can find out on this. If you know of anyone who may have some insight, can you let them know this is something we are looking to get resolved?

                    As we understand it, VoLTE works with a more recent version of Android. We are hoping to make this possible for the Google Pixel 3a on Ubuntu Touch as well. It has been confirmed that other alternative OS's already have VoLTE implemented for the Google Pixel 3a, so I think we have some resources we can potentially pull from if we need to. I'm not entirely sure what is being discussed on Telegram or if people may already be looking this.

                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      mr_growl @atarilinux
                      last edited by

                      @atarilinux No prob. So you know, I've just ordered a Pixel 3a XL for playing around on so if you'd like any specific versions of lineage tested for VoLTE, let me know. I gather that testing with a version based on 12.1 is the one you're most interested in?

                      A 1 Reply Last reply Reply Quote 0
                      • A Offline
                        atarilinux @mr_growl
                        last edited by

                        @mr_growl

                        Thanks so much! Yes, that is correct! We are currently looking at Android 12.1 for two reasons:

                        1. The unfinished Ubuntu Touch port is based around this version.
                        2. This version is supposed to have the VoLTE patch included.

                        The current struggle seems to be with the retro-fitted super partition, but it seems like this has already been worked out with other Ubuntu Touch ports. If we can get whatever worked for them applied to this port, we may be able to get this working if I understand the recent comments correctly. We may have other issues down the line, but that looks like the first thing we need to address.

                        1 Reply Last reply Reply Quote 0
                        • A Offline
                          atarilinux
                          last edited by

                          Just an added note on trying to troubleshoot the loop error:

                          Error:
                          losetup: /dev/loop0: detach failed: No such device or address

                          Note:
                          "Loop devices are provided by a kernel module. Therefore, you need special privileges to access them. You also need them to be exposed into your container, or you need to manually create the device files."

                          I'm not sure if something may have changed between Android 9 and Android 12.1 for this. We would need to investigate this error in addition to the retro-fitted super partition issue.

                          1 Reply Last reply Reply Quote 0
                          • Eric HE Offline
                            Eric H @atarilinux
                            last edited by Eric H

                            @atarilinux
                            I see same errors (cp and losesetup) in other ports.
                            For example:

                            • on Faiphone 4
                            • on Fairphone5
                            • on Poco X3
                            • ...

                            here's an example of flashing devel images on a device with a super partition :
                            https://gitlab.com/EricHeintzmann/ubuntu-touch/xiaomi-surya/-/wikis/fastboot-flash

                            About fastbootd :
                            https://source.android.com/docs/core/architecture/bootloader/fastbootd

                            • Ubuntu Touch for Xiaomi POCO X3 NFC Telegram group
                            • Ubuntu Touch installation guide for Xiaomi POCO X3 NFC / X3
                            A 1 Reply Last reply Reply Quote 0
                            • A Offline
                              atarilinux @Eric H
                              last edited by

                              @Eric-H

                              Thanks! I do see these same errors from the logs of the other device ports you sent me...so maybe that isn't the problem mentioned in the QA call? Also, thanks for the fastbootd link!

                              Quick question... for any of these devices you sent, are we looking at a retro-fitted partition? The reason why I ask is that I'm trying to match some of this up to the issue presented on the QA call. That way we can see if this part can be resolved.

                              Eric HE 1 Reply Last reply Reply Quote 0
                              • Eric HE Offline
                                Eric H @atarilinux
                                last edited by Eric H

                                @atarilinux
                                AFAIK, these devices use a super partition, but not a retro-fitted one.
                                But, I don't think the build system is aware of the partition type.

                                • Ubuntu Touch for Xiaomi POCO X3 NFC Telegram group
                                • Ubuntu Touch installation guide for Xiaomi POCO X3 NFC / X3
                                A 1 Reply Last reply Reply Quote 0
                                • A Offline
                                  atarilinux @Eric H
                                  last edited by

                                  @Eric-H

                                  Unfortunately, the Google Pixel 3a uses a retro-fitted partition for Android 12.1 and not the common super partition used in newer Android devices. According to the QA call:

                                  Issues with building/installing:
                                  *Issue with getting image on phone
                                  *Has retrofitted system super-partition, this means two partitions act as they are one
                                  *Has not been installed in this type of environment, we would need to figure it out

                                  Also, the build was not completed.

                                  It very well possible that this was figured out with these other device ports. However, these issues would need to be worked out with this Google Pixel 3a build as I understand it. I'm assuming that is why this build is not considered complete.

                                  Eric HE 1 Reply Last reply Reply Quote 0
                                  • Eric HE Offline
                                    Eric H @atarilinux
                                    last edited by

                                    @atarilinux

                                    1. You have a retro-fitted super partition
                                    2. You have images
                                    3. You have the procedure to flash images in retro-fitted super partition : https://source.android.com/docs/core/architecture/bootloader/fastbootd#dynamic-partitions

                                    What else ?

                                    • Ubuntu Touch for Xiaomi POCO X3 NFC Telegram group
                                    • Ubuntu Touch installation guide for Xiaomi POCO X3 NFC / X3
                                    A 1 Reply Last reply Reply Quote 0
                                    • M Offline
                                      mr_growl @atarilinux
                                      last edited by

                                      I flashed lineage 19.1-20231014-nightly-bonito-signed (which the wiki said should have android 12.1):

                                      Android Version: 12 (according to the running system on the phone)
                                      Lineage OS Version: 19-20231014-NIGHTLY-bonito
                                      Phone Version: bonito
                                      Phone Carrier: Amaysim (Optus)
                                      Country: Australia

                                      VoLTE is working just fine.

                                      A 1 Reply Last reply Reply Quote 0
                                      • A Offline
                                        atarilinux @Eric H
                                        last edited by

                                        @Eric-H

                                        What you have stated above is correct to the best of my knowledge. Here is the other part from the QA call:

                                        *Source Material - Not Image
                                        *Information on image build process, but not how to install it
                                        *Built on top of latest Android 12.1 version for the Google Pixel 3a, but build not completed

                                        So....it looks like we need to:

                                        1. Finish the build (This part is the least specific. Finish what? This is the main issue due to it not being specific. Maybe it is only the retro-fitted partition issue? A lot of data may need to be checked to see what is complete. Here is the bottleneck in completing development.)
                                        2. Build the image from source
                                        3. Install image on the Google Pixel 3a

                                        What we have currently:

                                        1. Information on the retro-fitted partition and possible install process
                                        2. Confirmation on VoLTE access for the Google Pixel 3a from other alternative OS's and carriers (It is possible!)
                                        3. Specifically what to look for to see if the carrier supports your Google Pixel 3a (VoLTE Roaming is supported, Hardware check from carrier)
                                        E 1 Reply Last reply Reply Quote 0
                                        • A Offline
                                          atarilinux @mr_growl
                                          last edited by

                                          @mr_growl

                                          Great news! Thanks for sharing! I think we are closer. Please see my last post to @Eric-H to see where we are now and the remaining items we will need to figure out.

                                          1 Reply Last reply Reply Quote 0
                                          • E Offline
                                            ElliotLurie @atarilinux
                                            last edited by

                                            @atarilinux

                                            It seems like some data is lost from the deviceinfo file during the build process... Here's the output of unpack_bootimg after the build:

                                            kernel_size: 18686554
                                            ramdisk size: 6267912
                                            os version: 12.0.0
                                            os patch level: 2022-09
                                            boot image header version: 3
                                            command line args: 
                                            
                                            A 1 Reply Last reply Reply Quote 1
                                            • F Offline
                                              FPSensor
                                              last edited by

                                              when the retrofitted partitions were implemented by pixel 3a stock rom? someone knows that? also would be nice to see if there are more devices that have retrofit to see how they merged it in the build system or what they adapted to get it working, i don remember what loop0 is to be honest

                                              A 1 Reply Last reply Reply Quote 0
                                              • First post
                                                Last post