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
    197 Posts 15 Posters 28.4k 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.
      • M Offline
        mr_growl
        last edited by

        Don't suppose anyone has the vendor blobs for android 12.1/lineage 19.1 extracted already? I'm trying a build myself and it's at the point where it wants them but I've been struggling a bit to extract them from the payload image I have. Checked the muppet but they don't have 19.1 .

        A J 2 Replies Last reply Reply Quote 0
        • A Offline
          atarilinux @mr_growl
          last edited by

          @mr_growl

          Sounds like a good idea! Keep us posted how the build goes and if you need anything! I did find this online during my research. Would this help?

          https://github.com/propgsp/Android-Tools

          1 Reply Last reply Reply Quote 0
          • J Offline
            JayH @mr_growl
            last edited by

            @mr_growl I would think since the vendor blobs are device specific that they wouldn't change from OS-to-OS ??

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

              @JayH I was presuming they'd be specific to the kernel they were built for. But I'm new to that πŸ™‚

              @atarilinux Thanks for the link. I'll give those a try next time I'm working at it (been too busy lately)

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

                @mr_growl

                I completely understand. It has been hectic this way too. I hope I can get some more time to look at this soon! I hope what I sent can be of some use.

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

                  @JayH @mr_growl

                  I also found this UBPorts video from 6 years ago. It shows how to build a port. Some things probably have changed a bit since then, but it should assist in providing a visual for the Porting Documentation.

                  https://m.youtube.com/watch?v=nShXVDXM50A

                  1 Reply Last reply Reply Quote 2
                  • M Offline
                    mr_growl
                    last edited by mr_growl

                    I had a go with doing a build this weekend and it seems to have built something (I have a boot.img, rootfs.img and system.img).

                    So now trying to sort out the phone to get it ready to try flashing. I checked my /data partition and it is mounted from dm-4 and is not ext4 (instructions say /data should not be encrypted and should be ext4). So just trying to sort that out. Any advice on setting up the partitions in preparation to flash would be appreciated πŸ™‚

                    arubislanderA 1 Reply Last reply Reply Quote 0
                    • arubislanderA Offline
                      arubislander @mr_growl
                      last edited by

                      @mr_growl As I understand it, just that /data should be ext4. There is no need for repartitioning if the correct stock ROM was installed beforehand.

                      πŸ‡¦πŸ‡Ό πŸ‡³πŸ‡± πŸ‡ΊπŸ‡Έ πŸ‡ͺπŸ‡Έ
                      Happily running Ubuntu Touch
                      JingPad (24.04-1.x daily)
                      OnePlus Nord N10 5G (24.04-2.x daily)
                      PinePhone OG (20.04)
                      Meizu Pro 5 (16.04 DEV)
                      Google Pixel 3a

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

                        @arubislander Thanks! I flashed android 12.1 to it, so I'll just try reformatting that partition as ext4.

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

                          @mr_growl

                          That's great news! Keep us posted how everything goes! Fingers crossed everything works correctly!

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

                            Did first attempt at flashing. This is on pixel 3a XL:

                            1. flash last stock firmware (android 12.1)
                            2. install twrp
                            3. boot into twrp and open terminal
                            4. umount /dev/block/dm-4 (which was mounted to /data and /sdcard)
                            5. mke2fs -t ext4 /dev/block/dm-4
                            6. mount /dev/block/dm-4 /data
                            7. mount /dev/block/dm-4/sdcard
                            8. boot into bootloader
                            9. flasboot flash boot boot.img
                            10. attempt to reboot into recovery

                            At this point the device wouldn't boot into recovery. So I'm flashing twrp back on to it.

                            Any thoughts?

                            Here's the repo I'm using: https://gitlab.com/mr-growl/ubports-ubuntu-touch-google-bonito-volte
                            I'm building in a ubuntu server 20.04 vm. I modified the deviceinfo from atarilinux's version slightly which got it building properly for me.

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

                              While I was re-flashing twrp a thought occurred. With TWRP on the pixel 3a (compared to the nexus 5 and 4 which I used to use) I have to boot it using "fastboot boot twrp.img" and then use the "flash current twrp" option (taken from the lineage install instructions)... on the older phones it was "fastboot flash recovery twrp.img". Which makes me think this twrp might be writing to the same place as boot.img when I do the "fastboot flash boot boot.img". Any thoughts on that?

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

                                @mr_growl Why don't you formtat through the built it in option in TWRP or even better via fastboot: fastboot format:ext4 userdata? (the partition name may differ)

                                Also, when the block device shows up as dm-something it is encrypted.

                                May the source be with you

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

                                  @ikoz Thanks! I'll give that a go (I'm still new to a lot of this).

                                  I was thinking it was encrypted. Seems to me that encryption is on by default in android 12 / lineage 19.1 and there isn't an option to disable it in the interface. Not sure what to do from this point.

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

                                    @mr_growl If you disable requiring password to login (just swipe to unlock), it will also disable encryption.

                                    But just running the fastboot command will work (if it throws any error, it likely means your fastboot build is broken and you'll have to use the official one from Google).

                                    May the source be with you

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

                                      @mr_growl

                                      I might be off here, but did you use fastbootd? The Google Pixel 3a has retrofitted dynamic partitons in Android 12.1.

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

                                      Info on Retrofitted Dynamic Partitions:
                                      https://lucaweiss.eu/post/2023-03-30-retrofit-dynamic-partition/

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

                                        @atarilinux I did not use or know about fastbootd. I did see it just now as I was flashing it back to stock. I'll have a read up about it.

                                        What would help is if someone could suggest what steps I should take to flash this. Starting with stock android 12 (not even set up, just a fresh flash with all defaults) and a boot.img, system.img, dtbo.img and rootfs.img

                                        I might not have time to test it till the weekend, though. I might try setting up a working build for sargo as well in the mean time. I can only test with bonito and the moment but I gather sargo is the more popular one around here πŸ™‚

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

                                          @mr_growl

                                          That sounds like exactly what was mentioned on the QA call. This was our Step 3 to figure out. I'm assuming we got Step 1 and Step 2 finished. Step 1 was to verify VoLTE was possible. Step 2 was to finish the build (or make a new port). Step 3 was to figure out how to get it on the phone. On Step 3, we were thinking the articles I gave you in the last post would help. Also, keep in mine that Lineage OS, etc. does have some form of install method for Pixel 3a with Android 12. We may be able to pull some information from that project.

                                          Here are my notes from the QA call:

                                          On Android 12 port for the Google Pixel 3a on GitHub:
                                          *Source Material - Not Image (VERIFIED, LOOKING AT NEW PORT)
                                          *Information on image build process, but not how to install it (FIRST IMAGE BUILD COMPLETE)
                                          *Built on top of latest Android 12.1 version for the Google Pixel 3a, but build not completed (FIRST IMAGE BUILD COMPLETE - @mr_growl)

                                          Issues with building/installing: (WHERE WE ARE NOW)
                                          *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

                                          As far as my phone, I have bonito as well. Unfortunately, I can't test sargo.

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

                                            @atarilinux Thanks for all that. I'll have a read through those articles hopefully this weekend.

                                            If you have a bonito to test with then I'll stick with that for now. Have you been able to get a build going? Should I find somewhere to host the outputs from my build?

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

                                              @mr_growl

                                              I haven't gotten a build going. I was still trying to get the process flow, etc. in order. It's all new to me, so any build would take me a long time as I want to know what happens on each step and why.
                                              Initially, I was trying to reverse engineer the original port and figure out what made it incomplete. Once I got to that point, I would complete the port. Doing that on my own is a bit difficult, but I'm detailing things as I come across them. My technical expertise is in a different area than this one, so there is a lot to learn.

                                              If you want to give me the steps and builds, I'd be happy to test further!

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