What’s somewhat strange: After the switch to official LOS I still have those very old firmware blobs on my device although newer firmware blobs should be included…?
In other words all the firmware partitions are included in the OTA as expected. Now, comparing, as an example, the recent Fairphone OS stock 0101-release modem image with the LineageOS modem image:
Yey, that’s what I believe too. But somehow those firmware partitions aren’t installed correctly on my device? I really don’t know what’s wrong on my side
Nope, I changed my installation routine again: First, I installed microG directly with Magisk. Then I took from NanoDroid the so-called NanoDroid-patcher module and installed it again with Magisk. Now, Signature Spoofing seems to work
EDIT:
So you’re having the same old firmware blobs like me. But that’s not surprising since LOS4microG releases don’t include formware blobs…
Tell us how exactly you installed official LOS coming from micro-g LOS. Maybe a dumb recovery neglected to install all partitions? I used TWRP, then adb sideload for the migration.
Compare the modem and other partition images with 0101 stock release versions as reference, like I did. Then you will know if you are actually using these images in your LOS or not. Easiest way to do that might be to boot twrp and extract partition images using adb pull on raw devices.
Finally, if all the correct firmware is in place, then I suppose certain out-of-date user configurations might still be messing with your calls - but then we are mostly out of luck and down to trial-and-error reinstalling apps, cleaning caches, whatever.
I did it the same way. Installed it with TWRP through adb sideload. Later I also tried it with Lineage Recovery.
Thank you for this advice! I pulled both mmcblk0p1 and mmcblk0p2 modem partitions and compared them with modem file from lineage-17.1-20210614-nightly-FP3-signed.zip
\update_payload_extractor-master\output_FPOS>fc mmcblk0p1 modem
Comparing files mmcblk0p1 and MODEM
FC: no differences encountered
\update_payload_extractor-master\output_FPOS>fc mmcblk0p2 modem
Comparing files mmcblk0p2 and MODEM
FC: no differences encountered
The same with NON-HLOS.bin
\update_payload_extractor-master\output_FPOS>fc mmcblk0p1 NON-HLOS_FP3-REL-Q-3.A.0101.bin
Comparing files mmcblk0p1 and NON-HLOS_FP3-REL-Q-3.A.0101.BIN
FC: no differences encountered
\update_payload_extractor-master\output_FPOS>fc mmcblk0p2 NON-HLOS_FP3-REL-Q-3.A.0101.bin
Comparing files mmcblk0p2 and NON-HLOS_FP3-REL-Q-3.A.0101.BIN
FC: no differences encountered
hmh, but why does the build number (which I mentioned above) still mention this QQ3A.200805.001 firmware?
EDIT: And the reboot issue is also still present. When rebooting, the device gets stuck with a black screen and I have to press Volume Down + Power to get into the bootloader and start the OS from there…
This most probably is a Magisk issue which not only happens on the FP. Btw, probably you also can wait between 30s and 4m, this seems to be the standard time needed for the reboot. And it seems it does not work for shutdown (people report massive battery drain while thinking the phone is off)
No idea. The LineageOS build overrides my device build properties, not sure exactly how or why yet. When you build yourself, you will see things such as these:
That’s for my test of 18.1 LOS, naturally. It may be more informative to examine the properties shown in the Settings menu under Android version such as Baseband version etc.
Do you have any idea how one could include all the partitions in the docker-lineage-cicd from the MicroG folks? Im using that to build my images and I would really to include all those firmwares.
Or, asked in another way:
If I build the official LineageOS in the following way: Build for FP3 | LineageOS Wiki are all the partitions included? Or are they somehow added in another way or even after the build?
Yes, the official instructions for building yourself do not cover flashing over these firmware partitions. My suggested option is to do that yourself with fastboot, but I will consider providing some official help with that.
When LineageOS sends out an officially signed OTA zip, special build scripts ensure that the partition images are transferred out of an internal repository and copied as “radio” images into the OTA.
Thanks! I understand its not easy to provide official instructions because of licenses for those blobs. Anyway, I’d love to get some assistance in how to extract those partitions from official images and how to flash them via fastboot If you could even provide some hints on how to add them to the lineage zip I’d be more than happy
I’ve just noticed that the FP3 using a Lineage4microG-build from April 14th does not allow sharing Wifi/mobile data over Bluetooth. I wonder if this has to do with LineageOS or if it is something about the device that prevents this feature?
Today I have made the switch from LOS4uG+Magisk to LOS + Magisk + uG.
I did not want to do a factory reset (as I would have lost my work profile, where I put all the apps from Aurora Store), so I had tried the “dirty” install with LOS recovery.
Unfortunately when I had booted into fastboot and run fastboot boot lineage-17.1-20210614-recovery-FP3.img the phone first booted as usual. Then I rebooted it and it went into a bootloop. Eventually LOS recovery started on its own but the only thing I could do was a factory reset.
I did the factory reset, and again booting with LOS recovery did not work. I therefore booted with the twrp-3.5.2_9-0-FP3.img and I could sideload LOS, and that was no problem at all. Of course since I had already done a factory reset, I did a clean install.
I will share here my experience with the process (after having backed up my storage partition and having run a SeedVault backup):
reboot into bootloader adb reboot bootloader;
boot into twrp: fastboot boot twrp-xxxxx-FP3.img
tap Advanced > ADB sideload, select “wipe cache” and “wipe Dalvik cache” swipe
from terminal: adb sideload lineage-17.1-xxxxx-nightly-FP3-signed.zip
reboot and boot into LOS
finish the initial setup, do not restore the Seedvault backup;
repeat steps 1-3
from terminal: adb sideload Magisk-xxxxx.zip. It is preferable to first flash Magisk and then the signature spoofing patch, so that it is installed as a Magisk module, and not “in the system”, and thus it can be preserved during OTA updates (thanks, lost_geographer).
reboot after having flashed Magisk, open the launcher and click on the Magisk app (it will download and install itself). It may ask you to reboot again. Reboot and then repeat again steps 1-3.
from terminal: adb sideload NanoDroid-patcher-xxxxx.zip, go back and do the same for NanoDroid-fdroid-xxxxx.zip (both downloaded from here). If everything was done correctly, during the flashing of the NanoDroid patcher you will see the following string: Installation mode: MAGISK, otherwise it will say SYSTEM. If this is the case there is no problem: reboot to LOS (this will change slot), reboot to fastboot, boot into TWRP and repeat the flash.
Boot into LOS, open Magisk, search for “microG Installer Revived” module, tap for more info, at the “Installation” chapter, click on the “GmsCore apk” link, download and install
install the Magisk “microG Installer Revived” module and reboot. If you didn’t install the apk first some authorizations (in my case SMS and accurate location) can’t be provided.
fulfill all of the uG self-check
from terminal run adb shell am start-activity -a com.stevesoltys.seedvault.RESTORE_BACKUP to start the procedure to restore the seedvault backup. I have found out that if you mistake the 12-word recovery then it is not possible to try again. My workaround was to do a factory reset and try again.
install your favourite work-profile app (I am using Inslanded) and check again the uG ticks over there.
Last time I had tried to do a SeedVault backup of my work profile (on a separate Nextcloud account since the work profile can not access the uSD card), but while restoring it would crash, resulting in a very incomplete restoration.
I don’t know if this behavior is expected or not. I would like very much to be able to backup my work profile too.
Now everything works fine, uG is working (even though for the first 1-2 hours the Device registration of my work profile was deactivating on its own, and when it were not, the GCM was), apps are registered and finally I can have an updated device. Haven’t tested yet VoIP calls (Whatsapp, Telegram, Signal): with LOS4uG the phone was crashing almost all the time, now I hope everything will work.
I hope this will be useful to not-so tech-savy people like me!
@dk1978
Today I tried to narrow down those VoIP crashes. I called with Signal from another phone to my phone multiple times while the screen was unlocked. In this setup, my phone never crashed.
But while I called my phone with locked screen my phone crashed much more often. I was able to catch a logcat in this situation: https://cloud.informethic.ch:5001/d/f/626315192837389977
There seems to be an issue with audioserver but I don’t know if this is the root case for those phone crashes.
I hope this might help to determine the issue…
6-18 16:21:03.412 12658 12658 I libc : malloc_limit: Allocation limit enabled, max size 536870912 bytes
06-18 16:21:03.413 12658 12658 I audioserver: ServiceManager: 0x7f747bddc0
06-18 16:21:03.773 3981 5595 I ServiceManager: Waiting for service 'media.audio_policy' on '/dev/binder'...
06-18 16:21:03.773 1159 2074 I ServiceManager: Waiting for service 'media.audio_policy' on '/dev/binder'...
06-18 16:21:03.773 1799 1902 I ServiceManager: Waiting for service 'media.audio_policy' on '/dev/binder'...
06-18 16:21:03.820 1159 1702 E AudioSystem-JNI: Command failed for android_media_AudioSystem_checkAudioFlinger: -32
06-18 16:21:03.820 1159 1702 E AS.AudioService: Audioserver died.
06-18 16:21:03.862 1954 3107 I ServiceManager: Waiting for service 'media.audio_flinger' on '/dev/binder'...
06-18 16:21:04.269 4138 12636 I ServiceManager: Waiting for service 'media.audio_flinger' on '/dev/binder'...
06-18 16:21:04.322 1159 1702 E AudioSystem-JNI: Command failed for android_media_AudioSystem_checkAudioFlinger: -32
06-18 16:21:04.322 1159 1702 E AS.AudioService: Audioserver died.
06-18 16:21:04.774 3981 5595 I ServiceManager: Waiting for service 'media.audio_policy' on '/dev/binder'...
06-18 16:21:04.775 1159 2074 I ServiceManager: Waiting for service 'media.audio_policy' on '/dev/binder'...
06-18 16:21:04.776 1799 1902 I ServiceManager: Waiting for service 'media.audio_policy' on '/dev/binder'...
06-18 16:21:04.824 1159 1702 E AudioSystem-JNI: Command failed for android_media_AudioSystem_checkAudioFlinger: -32
06-18 16:21:04.824 1159 1702 E AS.AudioService: Audioserver died.
06-18 16:21:04.863 1954 3107 I ServiceManager: Waiting for service 'media.audio_flinger' on '/dev/binder'...
06-18 16:21:05.019 4138 12625 I org.webrtc.Logging: EglRenderer: call_screen_large_local_rendererDuration: 4004 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
06-18 16:21:05.270 4138 12636 I ServiceManager: Waiting for service 'media.audio_flinger' on '/dev/binder'...
06-18 16:21:05.326 1159 1702 E AudioSystem-JNI: Command failed for android_media_AudioSystem_checkAudioFlinger: -32
EDIT:
and sometimes the phone then reboots by itself with a veeeery slow LOS boot animation.
here is the logcat (from ~the phone call until the boot logo gets stuck completely) https://cloud.informethic.ch:5001/d/f/626319122782794574
No, I mean storage partition: my mindset was “I am not going to use TWRP” so I played with adb pushadb pull. The thing is that when I tried adb pull /data the folder on my PC was empty… apparently it was managing to pull only from storage.
Weird.
Anyway it was not much of a great loss, so I can’t really complain, it’s more of a bother for the work partition (I have whatsapp installed over there, and I have not activated the backups because I am not using Google, so it is a bit annoying starting with a fresh whatsapp every time.
EDIT: I thought “pull” and wrote “push”. Also I did not have adb with root access, and I did not have the option to enable it in my developer options. I was quite in a hurry and didn’t investigate further.
Perhaps because you didn’t use adb as root, so it didn’t have the rights to read the folder?
The /storage location is equivalent to /data/media/0 if I’m not mistaken. Did you try pulling this instead?
The internal storage of the work profile should be located in /data/media/10, or /data/media/11, or another number (I think you can check with a file manager).
Also, when I had exported WA from the personal profile to the work profile, I had managed to copy my messages. Here’s the trick I had used (I had done it some time ago though, I hope I remember correctly):
In WhatsApp, in the settings, do a backup of all messages.
Copy the WhatsApp folder in the internal storage.
Paste it once you reinstalled the OS/in your work profile, in the internal storage.
Open WhatsApp.
It’s going to tell you it can’t find messages if you try directly to restore the backup you did, or that you should set it up as new. Don’t do anything, close it and force stop it, and delete its storage.
Open WhatsApp again, tell it to restore from backup, it should now find it and restore it.
Can’t be sure this will work, but if you want to try it next time, or someone else…