• If you are experiencing issues logging in, we moved to a new and more secure software and older account passwords were not able to be migrated. We recommend trying to reset your password, then contacting us if there are issues.
  • Nearly done! Migration cleanup is mostly done. There are a small number of issues left that we continue to work on, but all the heavy lifting is done. We still would love to hear feedback over at this thread and also check out the new XDA app! Thanks and we hope you enjoy the new forums, and thanks for your support of XDA <3

[ROM][Unofficial][9.0.0][signed]LineageOS 16.0 for Osprey

MSe1969

Elite Member
Dec 16, 2016
1,371
2,511
113
Frankfurt Rhine-Main metropolitan region
This thread is dedicated to provide Lineage-OS 16.0 builds for the Motorola Moto G 2015 (Osprey) with current security patches.

You can consider this thread as kind of a successor of my LineageOS 14.1 Osprey thread

There are two build flavors available, both are signed (see further below). Both builds aim at provide stable and reliable "daily-driver" builds.
They are mainly based on the work of chil360 and the main features are:
  • Fork of Hybrid-X kernel with frequently applied security patches
  • Encryption fully functional
  • Native Wireguard VPN support in kernel
  • Enforcing SE Policy
  • OTA support


A. Standard LineageOS 16.0
This build flavor aims at providing LineageOS 16.0 "as is" with most recent security patches.
Download here

B. Security hardened microG build
For the security/privacy focused
Download here
  • Pre-installed microG and F-Droid like the LineageOS for microG project (own fork)
  • Pre-installed AuroraStore
  • eSpeak TTS engine (FOSS TTS solution)
  • Additional security hardening features listed below
  • Access to /proc/net blocked for user apps
  • Bundled netmonitor app to allow network monitoring
  • Enhanced Privacy Guard: Switches for motion sensors and other sensors
  • Cloudflare as default DNS (instead of Google)
  • Privacy-preferred default settings
  • Optional blocking of Facebook- and Google-Tracking
  • Optional disable captive portal detection
  • Firewall UI
  • Increased max. password length of 64
  • No submission of IMSI/phone number to Google/Sony when GPS is in use
  • Default hosts file with many blocked ad/tracking sites
  • Privacy-enhanced Bromite SystemWebView
  • Additional restriction options for secondary users
  • Constified JNI method tables and hardened bionic lib

Current release levels
Security string: 2020-11-05
AOSP tag: 9.0.0_r46
System Webview: M86 (Standard build)
Bromite Webview: M86 (microG build)


Source-code and build instructions
Kernel: https://github.com/lin16-microg/android_kernel_motorola_msm8916/tree/mse_v1
Build manifest: https://github.com/lin16-microg/local_manifests

Installation Instructions

YOU ARE RESPONSIBLE SOLELY YOURSELF FOR ANY ACTIONS YOU DO WITH YOUR DEVICE !!!

Please note - I won't explain any single aspect (e.g. how to install 'fastboot' on your PC or troubleshoot USB connectivity issues under Windows). Search the net and consult the search engine of your choice or look here in XDA, there is plenty information available.

Pre-Requisites
  • Get familiar with the hardware keys of the Motorola Moto G 2015 (osprey) device, especially how to enter fastboot mode (switch phone off hold power + volume down together for about 3 seconds) and recovery mode (in fastboot mode, switch with volume key to the reboot recovery option and select with power key)
  • Activate the Developer options (Settings, about phone: tap 7 times on the build number), get into the new menu Developer options and activate, if available, the option "OEM unlocking")
  • Have fastboot and adb installed on your PC and make sure, you can connect via USB to your device in fastboot mode and via adb
  • Download the most current .ZIP file of this ROM and place it to your phone's internal memory or SD card
  • Only valid for the "standard build flavor": If you wish to install Google apps (GApps), please refer to the GApps section further below
  • An unlocked bootloader (read the warnings carefully and backup your data!)

Install TWRP recovery
If you come from stock ROM and have just unlocked your boot loader, this is the next thing to do. If you have already a working custom recovery on your device, there is no necessity to replace it. However - I recommend to use the official TWRP recovery from the TWRP site. The following instructions are based on TWRP.
To install TWRP, download the TWRP.img file (Note: replace "TWRP.img" in the following instructions with the real file name) from this section to your PC, connect the phone via USB to your PC, get it into 'fastboot mode' and enter the following command on your PC:
Code:
fastboot flash recovery TWRP.img
Afterwards, directly boot into 'recovery mode' (enter fastboot reboot on your PC and use the right hardware keys to get into recovery mode) - I recommend not to boot the phone's Android system after having flashed TWRP. Once TWRP has been launched, you may decide to reboot your phone and install the ROM at any time later. But the first boot after flashing TWRP should be TWRP in recovery mode.

Advanced Wipe
ONLY perform the steps described here, if you come from Stock ROM or a different Custom ROM!
Boot into recovery mode. In TWRP, choose "Wipe", "Advanced" and spefify "Dalvik", "System", "Cache" and "Data" to be wiped. Make sure NOT to wipe "Internal memory" or "SD Card". Swipe to confirm the deletion and get back into the main menu.

GApps
DO NOT attempt to flash GApps on the "microG" build variant!
For the "Standard" variant, the following applies:
You do not need to install GApps, but you may wish to do so. In that case, download GApps from here and put the .ZIP also to the SD card or Internal memory of your device. Choose ARM as platform, Android 9.0 and the flavor of your choice. I recommend "pico", as this leaves you the most freedom to only install, what you really need; you can later still install all the Google products you want and do not need to live with pre-installed Google applications you have no use for.
(To be more precise, I EXPLICITLY DO NOT RECOMMEND any Gapps variant larger than "nano"!)

Install the ROM
In the TWRP main menu, choose "Install". A file manager appears to let you navigate to your internal memory (path /sdcard) or your SD card (path /external_sd). Choose the .ZIP file of the ROM and swipe to flash.
If you update from a previous version of the ROM, you don't need to perform a wipe. If you had GApps already installed before the update, there is no need to flash them again. They will be automatically restored during the flash process. (Note: If you wish to get rid of GApps, navigate to TWRP's file manager in the Advanced section of the main menu, go to path /system/addon.d and delete the file 70-gapps.sh, before flashing the ROM update)
If you come from a different ROM (or stock firmware), make sure that you have performed the Wipe steps above. If you wish to install GApps, select the respective .ZIP file directly afterwards, do not boot into Android before having flashed GApps.
When finished flashing, return to the main menu, choose "Reboot" and then "System", which will cause your phone to boot into our Lineage OS 16.0 - be patient, the first boot after flashing a new ROM takes quite long!

microG
Only valid for the "microG" build variant: After the first installation of this ROM, you need to setup microG.
Please read the instructions given on the LineageOS for microG site, section "Post Install - UnifiedNlp"


Dealing with signed builds
Please note, that my builds are signed with an own key. When you come from a different build, you cannot directly "dirty-flash" this build. You either have to perform a "clean flash" (recommended), or flash "interim-wise" one of my migration builds.

If you don't want to perform a "clean flash" (which means, you will loose your data), you can work with my prepared "Migration Builds". Simply flash the respective Migration Build flavor (A or B) over your existing build. If you had Gapps before, make sure to also flash the respective Gapps (correct android version!) on top before rebooting and wipe cache and dalvik.
A migration build resets the package signatures during each boot and thus supports "dirty-flashing" from a different build.
If you choose to go that path, make sure to immediately perform the OTA update, which will be offered by the Updater app - stay on the migration build as short as possible and UNDER NO CIRCUMSTANCES install or update any app! (if you e.g. had Gapps installed before, deactivate auto-updates).
The migration builds are foreseen to support the following scenarios only:
  • My Lineage 14.1 (Nougat) Osprey build variant A => my LineageOS 16.0 standard build >> use migration build A
  • Any Lineage 15.1 (Oreo) LineageOS build => my LineageOS 16.0 standard build >> use migration build A
  • Any Lineage 16.0 (Pie) LineageOS build => my LineageOS 16.0 standard build >> use migration build A
  • My Lineage 14.1 (Nougat) Osprey build variant B or C => my LineageOS 16.0 microG build >> use migration build B
  • One of my previous LineageOS 16.0 microG test builds => my LineageOS 16.0 microG build >> use migration build B
In case you come from my LineageOS 14.1 Osprey builds, please read the detail migration instructions in this thread.
Download sources:
Migration Build A
Migration Build B


Switching between build flavors
You can easily do so via clean-install. However, if you want to switch between the standard build and the microG build and vice-versa without wiping your data, please follow the below instructions:

Standard build => microG build
  • De-install any of the following apps, in case you have manual installations of them: Aurorastore, Privacy-friendly netmonitor, microG Services Core, microG Services Framework Proxy, Fake Store, F-Droid, Mozilla Unified NLP Backend, Nominatim Geocoder Backend
  • Deactivate System Webview
  • If you have flashed GApps before, deactivate all of them to remove any installed updates
  • Boot into TWRP recovery
  • Wipe the /system partition
  • Flash the microG ROM ZIP (make sure not to use an older version than the current standard build)
  • Wipe Cache & Dalvik and reboot
  • Follow the 'Post-install' steps outlined here

microG build => standard build
  • Deactivate the following apps: Aurorastore, Privacy-friendly netmonitor, microG Services Core, microG Services Framework Proxy, Fake Store, F-Droid, Mozilla Unified NLP Backend, Nominatim Geocoder Backend, Bromite System Webview
  • Boot into TWRP recovery
  • Wipe the /system partition
  • Flash the standard ROM ZIP (make sure not to use an older version than the current microG build)
  • If you want to flash GApps, do it before re-boot
  • Wipe Cache & Dalvik and reboot

Please note, that you may face issues with some apps, which depend on play services. In that case, try solving them in the following order: 1. delete app cache, 2. delete app data, 3. de-install and re-install app
Further, in case you use Magisk, you have to flash it manually again.



Bug reports:
If you have a problem please create a post with these information:
Original Kernel shipped with this rom:
Build Date:
And try to get log as described here


Credits
Android Open Source project (AOSP)
LineageOS project
chil360
squid2
microG project
csagan5 (Bromite)
Whyorean (AuroraStore)
zx2c4 (Wireguard)

XDA:DevDB Information
[ROM][Unofficial][9.0.0][signed]LineageOS 16.0 for Osprey, ROM for the Moto G 2015

Contributors
MSe1969
Source Code: https://github.com/lin16-microg/local_manifests

ROM OS Version: 9.x Pie
ROM Kernel: Linux 3.10.x
Based On: LineageOS

Version Information
Status: Stable
Stable Release Date: 2020-11-14

Created 2020-05-06
Last Updated 2020-11-16
 

MSe1969

Elite Member
Dec 16, 2016
1,371
2,511
113
Frankfurt Rhine-Main metropolitan region
Change Log

November 14th, 2020
  • ASB Security string 2020-11-05
  • Additional Fix for CVE-2020-15999
  • Fix of AOSP E-Mail widget
  • System Webview 86.0.4240.185 (Standard variant)
  • Bromite Webview 86.0.4240.181 (microG build variant)
  • Updated microG with fixes in GCM and EN API (microG build variant)
  • Replaced weak F-Droid signatures with ROM's V2 signatures (microG build variant)

October 13th, 2020
  • ASB Security string 2020-10-05
  • Bromite Webview 86.0.4240.73 (microG build variant)
  • microG 0.2.12.203315 - including "Exposure notification API" for use of Covid tracing apps (microG build variant)
  • Additional hardening: bionic and constified JNI method tables (microG build variant)

September 13th, 2020
  • ASB Security string 2020-09-05
  • Kernel: Wireguard tag v1.0.20200908
  • System Webview 85.0.4183.101 (Standard build variant)
  • Bromite Webview 85.0.4183.86 (microG build variant)
  • Added eSpeak TTS engine (microG build variant)

August 10th, 2020
  • ASB Security string 2020-08-05
  • Kernel: Wireguard tag v1.0.20200729
  • System Webview 84.0.4147.89 (Standard build variant)
  • Bromite Webview 84.0.4147.113 (microG build variant)
  • Location of the firewall functionality moved to Network > Data usage in Settings (microG build variant)

July 12th, 2020
  • ASB Security string 2020-07-05
  • Kernel: Wireguard tag v1.0.20200623
  • microG: updated prebuilt GmsCore fom /e/ project to fix FCM registration issues (microG build variant)
  • F-Droid updated to 1.8 / F-Droid privileged extension updated to 0.2.11 (microG build variant)
  • Aurorastore updated to 3.2.9 / AuroraServices updated to 1.0.6 (microG build variant)

June 10th, 2020
  • ASB Security string 2020-06-05
  • Kernel: Wireguard tag v1.0.20200520
  • Disabled NearbyMessagingService and DiscoveryService (only relevant, if genuine Gapps are used) to improve WiFi performance, when BT is used
  • System Webview on 81.0.4044.138 (Standard build variant)
  • Bromite Webview on 83.0.4103.101 (microG build variant)
  • Sepolicy: Netmonitor exception f. "Tracker Control" app (microG build variant)

May 6th, 2020
Initial feature list:
  • OTA Support
  • Enforcing SELinux
  • Forked Hybrid-X kernel with native Wireguard support and current sec. patches
  • System Webview on 81.0.4044.117 (Standard Build)
  • Below listed initial features apply to the "microG" build variant:
  • Pre-installed microG and F-Droid same as the LineageOS for microG project
  • Pre-installed AuroraStore (Version 3.2.8) with AuroraServices 1.0.5
  • Access to /proc/net blocked for user apps
  • Bundled netmonitor app to allow network monitoring
  • Enhanced Privacy Guard: Switches for motion sensors and other sensors
  • Cloudflare as default DNS (instead of Google)
  • Privacy-preferred default settings
  • Optional blocking of Facebook- and Google-Tracking
  • Optional disable captive portal detection
  • Firewall UI
  • No submission of IMSI/IMEI to Google when GPS is in use
  • Default hosts file with many blocked ad/tracking sites
  • Privacy-enhanced Bromite SystemWebView 81.0.4044.127
  • Additional restrictions for secondary users
  • Increased password length
 
Last edited:

MSe1969

Elite Member
Dec 16, 2016
1,371
2,511
113
Frankfurt Rhine-Main metropolitan region
Detail features of "microG" build flavor

1. Pre-installed microG and F-Droid
same as the LineageOS for microG project

2. Pre-installed AuroraStore
works w/o having to enable the "unknown sources feature"

3. Restrict access to /proc/net for user apps
An adapted SELinux policy prevents user apps from accessing the /proc/net pseudo file system, which can be misused to monitor and track the phone's internet traffic. For technical backgrounds, see here. For the legitimate use case of the smart phone owner him/herself monitoring the network traffic to see, what the installed apps do, the app Privacy-Friendly Network Monitor has been bundled.

4. Enhanced Privacy Guard - Sensor permission switches
An own sensor template to control access to motion sensors ('ask' mode) and all other sensors (allowed by default, but can be restricted) has been implemented into the Privacy Guard.

5. Cloudflare (instead of Google) default DNS
Cloudflare DNS has a better privacy policy than Google Public DNS and has DNS-over-TLS and DNS-over-HTTPS. In the deafult DNS settings (as fallback) and network diagnostics, the Cloudflare DNS adresses 1.1.1.1 and 1.0.0.1 are specified as defaults (instead of Google's 8.8.8.8 and 8.8.4.4)

6. Privacy-preferred default settings
When newly installed, the below settings are defaulted, different from standard LineageOS 16.0 (all settings can be changed at any time later):
  • Privacy Guard is enabled on install (proposal during Setup)
  • Anonymous LineageOS statistics disabled (proposal during Setup)
  • The standard browsing app does not get the location runtime permission automatically assigned
  • Sensitive information is hidden on the lock screen
  • Camera app: Location tagging disabled by default
Further, when a lock screen protection is set (PIN, pattern, password), the Nfc, Hotspot and airplane mode tiles require authentication and cannot be set without

7. Optional blocking of Facebook- and Google-Tracking
Settings => Network & Internet (scroll down)
When activated, all outgoing connection attempts to Facebook servers will be suppressed.
Same applies to Google, but certain apps on an internal exception list will still be able to connect (AuroraStore, microG, or e.g. NewPipe, if installed)

8. Optional disable captive portal detection
Settings => Network & Internet (scroll down)
When activated, the system will not ping a specific Google server any longer when establishing a WiFi connection to determine, whether a captive portal is being used.

9. No submission of IMSI or phone number to Google/Sony when GPS is in use
GPS also works fine, if no SIM card is present, so there obviously is no benefit for the phone holder (different from other involved parties :rolleyes:) to provide this data . . .

10. Default hosts file with many blocked ad/tracking sites
The system's hosts file redirects a comprehensive list of URLs known to be adware, tracking, etc. to 127.0.0.1 (ipv4) and ::1 (ipv6)

11. Privacy-enhanced Bromite SystemWebView
Instead of the default Chromium System Webview component, the Bromite SystemWebView is used offering more privacy, more ad blocking and less Google tracking.

12. Firewall UI
Settings => Security & Location - Firewall
Lists all apps and allows to restrict Internet access per app in regards to WiFi, mobile network or VPN
This per-app feature is a standard feature in LineageOS, but the UI to show all apps is an Extra (taken from a topic in LineageOS's Gerrit - it may, or may not, become part of the official LineageOS one day)

13. Maximum password length increased to 64

14. Additional restriction options for secondary users
- Disallow app installation option
- Disallow audio recording option

15. Miscellaneous hardening
- hardened bionic lib
- constified JNI method tables
 
Last edited:

MSe1969

Elite Member
Dec 16, 2016
1,371
2,511
113
Frankfurt Rhine-Main metropolitan region
Further Tips & Tricks

Root
The ROM does not come with root baked in. A couple of features in this ROM even reduces the usual need for root.
Nevertheless, if you need/want to grant root permissions to some of your apps, the most popular options are:
Note that I cannot and will not support any issues related to Magisk

microG initial configuration after 1st install
After the first installation of this ROM, you need to setup microG.
Please read the instructions given on the LineageOS for microG site, section "Post Install - UnifiedNlp"

OTA Updates on an encrypted device
In case your device in encrypted and you have flashed apps creating "survival scripts" in /system/addon.d (e.g. Magisk), there *may* be a dependency to files in the data partition.
An OTA update until current TWRP 3.3.1 does not decrypt the data partition, as this is usually not needed - under specific circumstances however, this may lead to unwanted effects (up to a non-booting device!) during an OTA update, if such scripts aim at modifying files located in the data partition. If unsure, rather perform the update manually as dirty-flash in TWRP or - which in general is a good practice - regularly perform backups in TWRP. If you haven't flashed anything on top of my build (except for the LineageOS root addon or Gapps f. variant A, which both is no problem), there shouldn't be any issue.
(This commit in TWRP indicates, that this potential issue will be solved in future TWRP releases).
 
Last edited:
  • Like
Reactions: nodens76

johnatanlhm

Member
Apr 26, 2016
9
2
3
24
Hello MSE1969.
When installing external applications or installing applications through the My APK application, the system interface freezes.
 

MSe1969

Elite Member
Dec 16, 2016
1,371
2,511
113
Frankfurt Rhine-Main metropolitan region
Hello MSE1969.
When installing external applications or installing applications through the My APK application, the system interface freezes.
Thanks for the log. First of all, I can't reproduce any issue in regards to installing apk files "from unknown sources". I'll only have time tomorrow to look into the log in detail, but I have some general questions:
My build is signed, as explained in the OP. So you can't just "dirty flash" it over an existing build. Further, if you attempt to "upgrade" a system app, which you previously have extracted from another build via "My APK", this will also cause issues.
So could you please provide some details on your installation? (Clean flash, dirty flash and if DF, what you did? What did you try to "restore" with My APK?)
Thanks
 

johnatanlhm

Member
Apr 26, 2016
9
2
3
24
Hello. Mse1969.
answering your questions. I did a clean install and started installing my apps through my apk. There came a time when the system screen froze and returned to normal only when the device was restarted. As I continued the application installation process, the system screen was frozen again.
detail. the system screen freezes during the transition from the my apk screen to the apk installation screen. doing this in sequence, the screen freezes.
 
Last edited:

MSe1969

Elite Member
Dec 16, 2016
1,371
2,511
113
Frankfurt Rhine-Main metropolitan region
Hello. Mse1969.
answering your questions. I did a clean install and started installing my apps through my apk. There came a time when the system screen froze and returned to normal only when the device was restarted. As I continued the application installation process, the system screen was frozen again.
detail. the system screen freezes during the transition from the my apk screen to the apk installation screen. doing this in sequence, the screen freezes.
The log is somehow "ambiguous".
Code:
05-08 16:43:07.029  5814  5991 E tsoft.myapk.fw: Invalid ID 0x00000000.
. . .
05-08 16:43:15.101   433  2216 E         : Couldn't opendir /data/app/vmdl921819599.tmp: No such file or directory
05-08 16:43:15.101   433  2216 E installd: Failed to delete /data/app/vmdl921819599.tmp: No such file or directory
. . .
05-08 16:43:28.490  5814  5814 E xxx     : onError [email protected]
Not sure how to interpret this - the myapk app seems to talk to Facebook (for me a reason not to use an app at all, but that is not topic of this conversation) and there seems to be an issue with accessing the /data partition by the package manager, but I also see other read errors.

Could you please describe in detail, what you did?
- You said clean flash (good), so you wiped /data and /system, and flashed the ROM - which build variant of my ROM?
- What else did you flash?
- Did you attempt to re-format the /data partition with a different than default file format (maybe you did that way before flashing this ROM)?
- Was it a specific app, which you attempted to install through "my apk", when the issue has occurred? (As indicated before: DO NOT restore system apps)

A general advice: As you started with a clean flash - I recommend to simply try the following, just to make sure:
- make sure to use the most recent official TWRP
- Boot to TWRP
- Wipe the system partition and FORMAT(!) the /data partition
- Reboot TWRP and flash the ROM again
(I had, in different threads and different contexts, this approach finally solve some similarly weird issues)

Regards, M.
 
  • Like
Reactions: jemail

johnatanlhm

Member
Apr 26, 2016
9
2
3
24
Hello MSe1969.
- clean installation. I cleaned Dalvik / ART Cache, System, Data, Cache and installed the ROM.
- I also installed the gapps and the lineageos root along with the ROM.
- I did not try to reformat the / Data partition with a file format other than the standard one.
- The free apps that I have that can be downloaded from the Play Store are installed normally, because I install from the Play Store. But I have other paid apps that were saved by my apk to be installed by my apk.

Detail. I don't use Facebook on osprey. Osprey is now my secondary device.
 
Last edited:

nodens76

Member
Jun 17, 2010
38
6
0
Paris
Hello, first of all thank you very much MSE for the very high quality build you provide us ! I was a long time user of your lineage 14 hardened build (variant b) and I switched lately on the present build (still variant b, ie no gapps).

I made a clean flash, had no problem, all is very functionnal.

Maybe one force close when I try to access the gps property in the menu. I can switch it with the quick tile but whenever I try to access it in pref, it force close.

Edit : Add some log

Code:
05-12 17:42:48.145 D/LocationSettings( 9725): NO dashboard tiles for LocationSettings
05-12 17:42:48.149 D/SettingsActivity( 9725): Executed frag manager pendingTransactions
05-12 17:42:48.174 I/system_server( 1332): NativeAlloc concurrent copying GC freed 130303(5MB) AllocSpace objects, 40(1564KB) LOS objects, 50% free, 11MB/22MB, paused 174us total 214.919ms
05-12 17:42:48.214 I/DeviceIndex( 9725): Skipping: device index is not enabled
05-12 17:42:48.216 W/TileUtils( 9725): Found com.android.settings.Settings$NotificationAppListActivity for intent Intent { act=com.android.settings.action.SETTINGS pkg=com.android.settings } missing metadata com.android.settings.category
05-12 17:42:48.218 I/LocationEnabler( 9725): Location mode has been changed
05-12 17:42:48.219 I/LocationEnabler( 9725): Location mode has been changed
05-12 17:42:48.220 W/TileUtils( 9725): Found org.lineageos.lineageparts.trust.TrustPreferences for intent Intent { act=org.lineageos.lineageparts.action.SETTINGS pkg=org.lineageos.lineageparts } missing metadata 
05-12 17:42:48.220 W/TileUtils( 9725): Found org.lineageos.lineageparts.firewall.FirewallPreferences for intent Intent { act=org.lineageos.lineageparts.action.SETTINGS pkg=org.lineageos.lineageparts } missing metadata 
05-12 17:42:48.222 I/LocationEnabler( 9725): Location mode has been changed
05-12 17:42:48.226 I/chatty  ( 9725): uid=1000(system) com.android.settings identical 2 lines
05-12 17:42:48.228 I/LocationEnabler( 9725): Location mode has been changed
05-12 17:42:48.243 D/SettingsActivity( 9725): No enabled state changed, skipping updateCategory call
05-12 17:42:48.320 W/ActivityManager( 1332): Background start not allowed: service Intent { cmp=com.google.android.gms/org.microg.nlp.ui.SettingInjectorService (has extras) } to com.google.android.gms/org.microg.nlp.ui.SettingInjectorService from pid=9725 uid=1000 pkg=com.android.settings startFg?=false
05-12 17:42:48.321 D/AndroidRuntime( 9725): Shutting down VM
05-12 17:42:48.322 E/AndroidRuntime( 9725): FATAL EXCEPTION: main
05-12 17:42:48.322 E/AndroidRuntime( 9725): Process: com.android.settings, PID: 9725
05-12 17:42:48.322 E/AndroidRuntime( 9725): java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.google.android.gms/org.microg.nlp.ui.SettingInjectorService (has extras) }: app is in background uid UidRecord{ce13ab6 u0a30 TRNB bg:+1h1m42s346ms idle change:idle procs:1 seq(0,0,0)}
05-12 17:42:48.322 E/AndroidRuntime( 9725):     at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1577)
05-12 17:42:48.322 E/AndroidRuntime( 9725):     at android.app.ContextImpl.startServiceAsUser(ContextImpl.java:1549)
05-12 17:42:48.322 E/AndroidRuntime( 9725):     at android.content.ContextWrapper.startServiceAsUser(ContextWrapper.java:680)
05-12 17:42:48.322 E/AndroidRuntime( 9725):     at com.android.settings.location.SettingsInjector$Setting.startService(SettingsInjector.java:561)
05-12 17:42:48.322 E/AndroidRuntime( 9725):     at com.android.settings.location.SettingsInjector$StatusLoadingHandler.handleMessage(SettingsInjector.java:457)
05-12 17:42:48.322 E/AndroidRuntime( 9725):     at android.os.Handler.dispatchMessage(Handler.java:106)
05-12 17:42:48.322 E/AndroidRuntime( 9725):     at android.os.Looper.loop(Looper.java:193)
05-12 17:42:48.322 E/AndroidRuntime( 9725):     at android.app.ActivityThread.main(ActivityThread.java:6718)
05-12 17:42:48.322 E/AndroidRuntime( 9725):     at java.lang.reflect.Method.invoke(Native Method)
05-12 17:42:48.322 E/AndroidRuntime( 9725):     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
05-12 17:42:48.322 E/AndroidRuntime( 9725):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
05-12 17:42:48.326 W/ActivityManager( 1332):   Force finishing activity com.android.settings/.Settings$LocationSettingsActivity
05-12 17:42:48.345 W/BroadcastQueue( 1332): Permission Denial: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to ProcessRecord{2575a2a 4777:com.amazon.venezia/u0a107} (pid=4777, uid=10107) requires android.permission.READ_LOGS due to sender android (uid 1000)
05-12 17:42:48.345 I/Process ( 9725): Sending signal. PID: 9725 SIG: 9
05-12 17:42:48.393 I/ActivityManager( 1332): Process com.android.settings (pid 9725) has died: fore TOP 
05-12 17:42:48.393 I/WindowManager( 1332): WIN DEATH: Window{faddc05 u0 com.android.settings/com.android.settings.Settings$LocationSettingsActivity}
05-12 17:42:48.394 W/libprocessgroup( 1332): kill(-9725, 9) failed: No such process
05-12 17:42:48.396 I/Zygote  (  294): Process 9725 exited due to signal (9)
05-12 17:42:48.433 W/SurfaceFlinger(  256): Attempting to destroy on removed layer: AppWindowToken{51b5fb7 token=Token{e6066b6 ActivityRecord{44f3e51 u0 com.android.settings/.Settings$LocationSettingsActivity t231}}}#0
05-12 17:42:48.442 W/libprocessgroup( 1332): kill(-9725, 9) failed: No such process
05-12 17:42:48.442 I/libprocessgroup( 1332): Successfully killed process cgroup uid 1000 pid 9725 in 48ms
 
Last edited:
  • Like
Reactions: MSe1969

MSe1969

Elite Member
Dec 16, 2016
1,371
2,511
113
Frankfurt Rhine-Main metropolitan region
Hello, first of all thank you very much MSE for the very high quality build you provide us ! I was a long time user of your lineage 14 hardened build (variant b) and I switched lately on the present build (still variant b, ie no gapps).

I made a clean flash, had no problem, all is very functionnal.

Maybe one force close when I try to access the gps property in the menu. I can switch it with the quick tile but whenever I try to access it in pref, it force close.

Edit : Add some log
Thanks for the log - on my device, I cannot reproduce the issue, it works fine either way: tile and settings pref.
I can't directly interpret the error based on the log entries - but just to make sure: Have you configured the microG stuff already? (configured location providers, granted permissions, disabled battery optimization etc.)?
I know that if microG isn't fully configured in regards to location providers, some weird things sometimes happen, if location functionality is involved . . .
 

maxwell80

Member
Apr 29, 2020
17
7
0
Hello,
I have an other issue in the microg-version here...
Push-messages (Signal, Whatsapp) are delayed when device sleeps.
Microg is set up correctly and announces an incoming message, but Signal doesn't do anything "due to app idle"
For both Signal and microG Services Core background activity is not restricted and battery usage not optimized.
Any idea?

logfile:
https://www.file-upload.net/download-14074950/logfile.html
 
Last edited:

MSe1969

Elite Member
Dec 16, 2016
1,371
2,511
113
Frankfurt Rhine-Main metropolitan region
Hello,
I have an other issue in the microg-version here...
Push-messages (Signal, Whatsapp) are delayed when device sleeps.
Microg is set up correctly and announces an incoming message, but Signal doesn't do anything "due to app idle"
For both Signal and microG Services Core background activity is not restricted and battery usage not optimized.
Any idea?

logfile:
https://www.file-upload.net/download-14074950/logfile.html
Hi, the log confirms your observation, but I don't see any indication, why.
The Osprey isn't my primary device, so I don't want to move Signal to it away from my primary device. I don't have a good idea right now. The open issues in the microG GMS core repo also do not lead me anywhere...

Anybody else in the forum having such an issue?

EDIT: I confirm that this build seems to have difficulties with push messages (test app), but still need to find out why...
 
Last edited:

maxwell80

Member
Apr 29, 2020
17
7
0
EDIT: I confirm that this build seems to have difficulties with push messages (test app), but still need to find out why...
Hi!
Push Notification Tester worked for me when I disabled Iptable Block-Script.
The script blocks the connection to the (PNT) server...
High priority notifications after 30 minutes doze were no problem.
But.... it does not change anything with Signal.

I noticed I receive messages in time when the device is charging and in doze, but with delay when unplugged.
And I found this:
https://github.com/signalapp/Signal-Android/issues/8604
https://github.com/signalapp/Signal-Android/issues/8692

It MIGHT be a problem Signal has with Android's power management which changed with Version 9:
https://developer.android.com/about/versions/pie/power

But on the other hand the battery settings of your rom still look more like Lineageos than stock Pie, so I don't know ....

Regards
 
Last edited:
  • Like
Reactions: MSe1969

johnatanlhm

Member
Apr 26, 2016
9
2
3
24
Hello MSe1969.
I did a new installation, everything went well and the problem did not appear. I leave a LogCat of the installation of the application (s), through My APK and also through the Play Store. I leave this LogCat also for you to look for other errors.
 

Attachments

  • Like
Reactions: MSe1969

MSe1969

Elite Member
Dec 16, 2016
1,371
2,511
113
Frankfurt Rhine-Main metropolitan region
Hi!
Push Notification Tester worked for me when I disabled Iptable Block-Script.
The script blocks the connection to the (PNT) server...
High priority notifications after 30 minutes doze were no problem.
First of all, thanks for your feedback. Indeed, I was also doing tests with Push notification tester.
Yes, PNT contacts google, so the block script would need to be disabled. I consider however adding PNT to my exception list ;)

What you write is interesting, because - different from my other LineageOS 16.0 microG builds (one treble GSI and my OP3T build), where PNT works flawlessly, I have an issue with PNT on the Osprey build:
It first does not seem to receive any push message (test screen waiting forever), but they arrive with a delay of several hours! Same happens with the test feature of the Slack app (ok on my other LineageOS 16.0 builds, but hours of delay with the Osprey build). So I consider something to be fixed related to the device-specific parts (kernel?, device-config?, blobs). Same results even after factory-reset and first tests undoing some aggressive power-saving tweaks. So you say, that on your device, PNT works normally and you only have issues with Signal? Or are you saying that the specific case of a high prio message after several minutes of doze works?
To everybody: Any hints and feedback welcome.

But.... it does not change anything with Signal.
I noticed I receive messages in time when the device is charging and in doze, but with delay when unplugged.
And I found this:
https://github.com/signalapp/Signal-Android/issues/8604
https://github.com/signalapp/Signal-Android/issues/8692

It MIGHT be a problem Signal has with Android's power management which changed with Version 9:
https://developer.android.com/about/versions/pie/power

But on the other hand the battery settings of your rom still look more like Lineageos than stock Pie, so I don't know ....

Regards
Next to the assumed issue with this ROM, there indeed also seems some issue with Signal itself - I also sometimes (but not really reproducible) had the impression of delays with Signal on my OP3T device . . .
EDIT: Interestingly, the Signal issue #8692 also mentions in one comment an Osprey device, where such issues even occur in older Android versions . . . - does not necessarily mean anything, but who knows . . .?
 
Last edited:

maxwell80

Member
Apr 29, 2020
17
7
0
Yes, PNT contacts google, so the block script would need to be disabled. I consider however adding PNT to my exception list ;)
With the block script on it's not possible to download received videos in Whatsapp so maybe you could think about adding another exception as well...?

Regarding the included adblocker - could it make sense to have the option to turn it off? I don't know how a mobile ab works, but I know they can cause trouble on PCs.

So you say, that on your device, PNT works normally and you only have issues with Signal? Or are you saying that the specific case of a high prio message after several minutes of doze works?
I checked again:
PNT notifications arrive in time, both normal and high priority.
Whatsapp seems to work too, after I turned battery optimization off.
Signal messages are always delayed (~2 - 20 minutes) when device is in doze and always in time when awake.
 

MSe1969

Elite Member
Dec 16, 2016
1,371
2,511
113
Frankfurt Rhine-Main metropolitan region
With the block script on it's not possible to download received videos in Whatsapp so maybe you could think about adding another exception as well...?
No.
Whilst I see your point, this is technically not possible. WA is Facebook and FB is a large pool of IP addresses which are dynamically assigned, redirected and balanced, so you block FB as a whole or you haven't blocked it at all (same with Google).
EDIT: I think I may have misunderstood you. It would be possible to allow only the WA app to connect to FB. Need to think about that...

Regarding the included adblocker - could it make sense to have the option to turn it off? I don't know how a mobile ab works, but I know they can cause trouble on PCs.
The AB is a pre-delivered, frequently updated hosts file, which translates known ad hosts into 127.0.0.1 (IPv4) and ::1 (IPv6). You can set an option in the Dev. Options to keep/restore the hosts file on your device and ignore the updates and then use a hosts file root app or simply replace the hosts file with a dummy file.

I checked again:
PNT notifications arrive in time, both normal and high priority.
Whatsapp seems to work too, after I turned battery optimization off.
Signal messages are always delayed (~2 - 20 minutes) when device is in doze and always in time when awake.
Thanks for the confirmation; odd, that it's doing this weird stuff on my device, even after a factory reset...
 
Last edited:

MSe1969

Elite Member
Dec 16, 2016
1,371
2,511
113
Frankfurt Rhine-Main metropolitan region
Push notifications - update

I checked again:
PNT notifications arrive in time, both normal and high priority.
Whatsapp seems to work too, after I turned battery optimization off.
Signal messages are always delayed (~2 - 20 minutes) when device is in doze and always in time when awake.
Thanks again for your feedback, yes, I can confirm that push notifications as such work perfectly well!
The issue with my phone was very specific:
- I didn't realize, that I had some days back connected my Osprey phone to the Guest WiFi and not the regular WiFi
- The guest WiFi however has a netfilter active to only allow http / https (and as such no other tcp port, which means also no GCM)
- Therefore, push messages did not work at all
- At night, the WiFi is automatically switched off, and via the mobile data connection, the push messages finally arrived - that explains the weird delay of several hours

I am glad, that there is no issue with the ROM (only my own "special" WiFi setup). :)