VoLTE Implementation For Google Pixel 3a/3a XL
-
We have confirmed VoLTE is possible with Ubuntu Touch for the Google Pixel 3a. The VoLTE patch is included in this port. We just need to finish this port to get everything up an running. Currently, we need to get the device info file built.
The Ubuntu Touch community does see the need to get VoLTE up and running for those in the US and elsewhere. A number of phones are already running VoLTE. However, a number of these may be hard to get in the US or expensive. For example, the Fairphone 5 can run VoLTE in the US. Trying to find one in the US may be difficult or expensive. That is part of the reason why we are trying to get this port up and running. This could also help our European friends and others if their carrier has not dropped the Google Pixel 3a or does not include VoLTE Roaming.
Unfortunately, the original developer's carrier dropped the Google Pixel 3a, and this is the main reason why this port is unfinished. We already have confirmed that some carriers in the US still support the Google Pixel 3a and VoLTE Roaming. Therefore, we can continue this project for the original developer. We are always looking for people to help test and contribute!
-
@atarilinux Here's what /proc/cmdline says for lineage 19.1 on Bonito:
rcupdate.rcu_expedited=1 rootwait ro init=/init androidboot.bootdevice=7c4000.sdhci androidboot.baseband=sdm androidboot.keymaster=1 msm_drm.dsi_display0=dsi_sofef00_sdc_1080p_cmd_display::timing0 androidboot.force_normal_boot=1 androidboot.serialno=99BAX0K5LP androidboot.slot_suffix=_a androidboot.slot_retry_count=0 androidboot.slot_successful=no androidboot.hardware.platform=sdm670 androidboot.hardware=bonito androidboot.revision=MP1.0 androidboot.bootloader=b4s4-0.4-8048689 androidboot.hardware.sku=G020A androidboot.hardware.radio.subtype=2 androidboot.hardware.dsds=0 androidboot.secure_boot=PRODUCTION androidboot.cdt_hwid=0x05032802 androidboot.hardware.majorid=0x03 androidboot.dtb_idx=0 androidboot.dtbo_idx=8 androidboot.bootreason=reboot androidboot.hardware.ddr=4GB,Hynix,LPDDR4X androidboot.ddr_info=Hynix androidboot.ddr_size=4GB androidboot.hardware.emmc=64GB,SKHynix androidboot.cid=00000001 androidboot.boottime=0BLE:530,1BLL:62,1BLE:446,2BLL:126,2BLE:579,SW:10020,KL:1,KD:106,ODT:117,AVB:496,AFTL:0 androidboot.ramdump=disabled androidboot.blockchain=disabled usbcfg.suzyq=disabled androidboot.hardware.pcbcfg=BPPV androidboot.hardware.devcfg=B4VP root=PARTUUID=366e8a1b-1c20-45e6-b794-df754b290cfe androidboot.verifiedbootstate=orange androidboot.aftlstate=8 printk.devkmsg=on msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 firmware_class.path=/vendor/firmware cgroup.memory=nokmem lpm_levels.sleep_disabled=1 loop.max_part=7 androidboot.boot_devices=soc/7c4000.sdhci androidboot.super_partition=system buildvariant=userdebug console=null
Is that what you were looking for?
-
@atarilinux From the boot.img on lineageOS 22.2-20250817 with working Verizon SIMM:
console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 firmware_class.path=/vendor/firmware cgroup.memory=nokmem lpm_levels.sleep_disabled=1 loop.max_part=7 androidboot.boot_devices=soc/7c4000.sdhci androidboot.super_partition=system
-
Thanks for checking! Unfortunately, I don't think that's it. I don't see the output beginning with console=.
Did this come from deviceinfo_kernel_cmdline? -
-
@atarilinux Sorry, yes, this is bonito.
and this is the only legible string in the boot.img file that looks anything like your example. It starts at 0x40 in the file. No deviceinfo_kernel_cmdline.
The builds for both 19.1 and 22.2 contain the following line in BoardConfig-common.mk (I was unable to locate a boot.img for 19.1):
BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=onBoardConfig-common.mk:40:BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on BoardConfig-common.mk:41:BOARD_KERNEL_CMDLINE += msm_rtb.filter=0x237 BoardConfig-common.mk:42:BOARD_KERNEL_CMDLINE += ehci-hcd.park=3 BoardConfig-common.mk:43:BOARD_KERNEL_CMDLINE += service_locator.enable=1 BoardConfig-common.mk:44:BOARD_KERNEL_CMDLINE += firmware_class.path=/vendor/firmware BoardConfig-common.mk:45:BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem BoardConfig-common.mk:47:BOARD_KERNEL_CMDLINE += lpm_levels.sleep_disabled=1 BoardConfig-common.mk:48:BOARD_KERNEL_CMDLINE += loop.max_part=7 BoardConfig-common.mk:49:BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/7c4000.sdhci
It looks like lineageOS has been using the same kernel for bonito builds since lineageOS 16
-
It looks kind of similar. Here is one from a UB Ports sample file that I am using for reference.
deviceinfo_kernel_cmdline="console=ttyMSM0,115200n8 earlycon=msm_geni_serial,0xA84000 androidboot.console=ttyMSM0 printk.devkmsg=on androidboot.hardware=qcom video=vfb:640x400,bpp=32,memsize=3072000 androidboot.configfs=true loop.max_part=7 msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 androidboot.memcg=1 cgroup.memory=nokmem androidboot.usbcontroller=a600000.dwc3 swiotlb=2048 androidboot.boot_devices=soc/1d84000.ufshc systempart=/dev/mapper/system"
-
Please see below. Does this look like what you need for device_info_kernel_cmdline? Will this complete the device_info file?
@JayH said in VoLTE Implementation For Google Pixel 3a/3a XL:
@atarilinux From the boot.img on lineageOS 22.2-20250817 with working Verizon SIMM:
console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 firmware_class.path=/vendor/firmware cgroup.memory=nokmem lpm_levels.sleep_disabled=1 loop.max_part=7 androidboot.boot_devices=soc/7c4000.sdhci androidboot.super_partition=system
-
@atarilinux Here's the one extracted from the lineage 19.1 signed zip that I used to flash the phone:
deviceinfo_kernel_cmdline="console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 firmware_class.path=/vendor/firmware cgroup.memory=nokmem lpm_levels.sleep_disabled=1 loop.max_part=7 androidboot.boot_devices=soc/7c4000.sdhci androidboot.super_partition=system buildvariant=userdebug"
That is lineage 19.1 (android 12.1) on bonito.
-
@atarilinux And a lineage 19.1 sargo for good measure
deviceinfo_kernel_cmdline="console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 firmware_class.path=/vendor/firmware cgroup.memory=nokmem lpm_levels.sleep_disabled=1 loop.max_part=7 androidboot.boot_devices=soc/7c4000.sdhci androidboot.super_partition=system buildvariant=userdebug"
-
Great! Thanks so much!
-
@atarilinux @mr_growl @JayH
There is a script to extract command line args and other needed fields.
See at https://docs.ubports.com/en/latest/porting/build_and_boot/standalone_kernel_build.html#extracting-values-from-stock-boot-img-vendor-boot-img