Significance of .ROM module - Upgrading, Modifying and Unlocking

Where can I find info on the significance/structure of the .ROM module? I'm currently working on building a new ROM for the XDA Atom. Unfortunately, I couldn't find info on it.
I have tried various experiments with it, and it has caused various results using trial and error:
1. today screen and control panel applets can be enabled or disabled
2. SD Card access and ActiveSync can also be enabled or disabled
3. phone/sms can be enabled or disabled.
Naturally, I would want everything to be enabled except that I wouldn't know the exact combination...

Related

XTRA aGPS

Hey all I found something that might work on the Samsung Epix for a faster GPS lock.
I found this on modaco.
dmk679 said:
With the emergence of an updated i910 rom, gps functionality is unlocked - great news! Through real-world testing, it is apparent that gps functionality is standalone (without aGPS). A big pro of a standalone gps is the independent function without data services. A big con is that it may take a few minutes to obtain a successful lock, which can be frustrating in some situations. The goal of this discussion is to enable aGPS on the verizon i910 (omnia).
Target 1 - XTRA
The samsung i900 (gsm) has an additional control panel applet named Enhanced GPS. This control panel applet initiates the executable \windows\gps_xtra.exe (aka XTRA) on the handheld. XTRA contacts a server (notably: test.agps.com:7275 or xtra1.gpsonextra.net:80) to download an xtra.bin file. The xtra.bin file contains satellite information to allow for much faster locks. The gps_xtra.exe on the i910 does not open a window to allow for user interaction. A different version of XTRA (attached), opens on the i910 and also interacts with registry settings in hklm/software/samsung/ril/gps/xtra. Although the user can interact with this version of XTRA, we are unable to download updated xtra.bin files using the phone data services or through activesync. Manually downloading the xtra.bin file from xtra1.gpsonextra.net and placing the file in the devices root directory (ie \My Device) allows XTRA to read the date/time stamp from the file. For additional testing of successfully running XTRA on the i910, a comparison of registry values and files from the i900 needs to occur. View XTRA screen shots and settings from this samsung-omnia thread.
Target 2 - Registry
The i910 registry has several folders of interest related to aGPS settings. hklm/software/samsung/ril/gps and hklm/software/samsung/ril/gps/xtra . Note that the XTRA directory is not present using any of the current Verizon roms and needs to be manually created, with keys setup similar to the i900.
Code:
Registry settings on the i900 - from this [url="http://www.modaco.com/content/i9x0-omnia-http-omnia-modaco-com/272440/xtra-et-a-gps/"]modaco thread[/url]
[HKEY_LOCAL_MACHINE\Software\Samsung\RIL\GPS]
"AccessPoint"=""
"Accuracy"=dword:00000013
"AGPSStatus"=dword:00000000
"DownloadResult"=dword:00000000
"MaxLocationAge"=dword:00000000
"OperatingMode"=dword:00000000
"QOPDelay"=dword:0000000c
"RefreshRate"=dword:00000001
"ResponseTime"=dword:00000002
"Running"=dword:00000000
"ServerAddress"="txtra1.gpsonextra.net"
"SessionType"=dword:00000001
"SSL"=dword:00000000
"StartingMode"=dword:00000001
"TimeSync"=dword:00000000
"VAccuracy"=dword:00000000
[HKEY_LOCAL_MACHINE\Software\Samsung\RIL\GPS\XTRA]
"AccessPoint"=""
"AutoDownload"=dword:00000000
"DownloadInterval"=dword:00000018
"DownloadResult"=dword:00000000
"Enable"=dword:00000000
"UseSpecificAPN"=dword:00000000
Manipulation of these registry keys may prove useful in unlocking aGPS on the i910.
Target 3 - qpst gpsone settings
By connecting the i910 to qpst, an internal qualcomm program to set/debug phone, gpsone settings can be viewed and manipulated. In many succesful aGPS setups on other devices, gpsone settings will be edited and entered "in sync" with appropriate registry settings - see aGPS setup for vx6800 on xda. For example, if an ip address for an aGPS server is entered in qpst, the associated ip can be entered in the serveraddress registry key listed above. Below is an image of the qpst gpsone tab on a motoq - the gpsone tab one the i910 has identical input options.
By setting up the appropriate aGPS settings in qpst and/or the registry, it may be possible to obtain aGPS functionality. View this thread over at xda regarding settings used on an HTC which have resulted in successful aGPS setup. Obtaining the default gpsone settings from an i900 device may prove helpful.
Summary
We have at least three targets to get aGPS working on the i910:
1) get XTRA to work properly (or get quickGPS to work - which functions in a similar manner)
2) modify registry in hklm/software/samsung/ril/gps and hklm/software/samsung/ril/gps/xtra (note xtra directory must be added; see above for i900 keys for both directories)
3) modify gpsone settings using qpst
Lets work together and see if we can obtain aGPS on the i910.
ps: you can run command line entries on the i910. First enable the clock to display in the taskbar (should be under the clock setting in the ctrl panel). Open an application (eg File Explorer) to display the clock in the upper task bar. Hold down the middle button on the bottom of the i910. Tap and hold the clock in the taskbar. Upon release of the clock, you will be prompted with a "Run" dialog box that will allow you to run command line strings.
Click to expand...
Click to collapse
I am going to test it and post the results.
Another useful thread: http://www.samsung-omnia.org/precise-gps-navigation/how-to-enhance-your-gps-lock-times-and-speed/
REMEMBER always back up before editing the registry!
Hmmm, i amgoing to restore back up and just change the server address and add the XTRA key and see what happens.
I get a "Unable to acess server error" when clicking download data.

[ROM][AOSP][CM][SafeStrap]Cyanogenmod 11 for SafeStrap with locked bootloaders

[ NO LONGER ACTIVELY BEING DEVELOPED - SORRY, READ THE POSTS FOR INFORMATION ]
Yes, you read that right. What we have here is a semi-functional CM11 (Kit Kat 4.4.4) for those with the locked boot loader using Safe Strap. I have been working on this for about a month, and this is what has come of that work. However, I need some help. I am not Android savvy enough to fix all of these problems to make this a fully functioning phone.
That being said, the phone does boot up and appears to mostly work. At this time, it is not a stable daily driver.
I did search all the threads, and I believe that this is not covered in another thread, so please forgive me if there is another CM11 thread that is for SS users on AT&T's locked boot loader phones. I don't see any.
How I got here:
Well, I wanted Cyanogenmod on my AT&T locked boot loader Safe Strapped phone. Every thread says we can't do that, and I just don't like hearing people tell me we can't do something and not provide any reasons. So I decided to try for myself. For the most part, they are right, but with enough perseverance, anything could happen.
I wanted to still use my phone as my daily driver, so I needed SafeStrap to work without having to bounce between kernels.
I was currently using Safe Strap with the NB1/NC1 kernels, and running Joe-Tech's GPE 4.4.4, so I decided that I should start with a 4.4.4 variant of CM, which lead me to CM11. I tried all of them, the nightlies, the home builds, the official builds, and I stumbled across one particular CM11 nightly (20151115) that would boot and then crash as soon as it booted. So I decided to use that as a base.
Reviewing the situation/logs/errors after each crash, I slowly removed, edited, or replaced something until it would not receive that error and would move on to the next error. By the grace of God it was slowly coming together! Hence why the built in camera app is gone and replaced with open camera, etc.
If we get this working, we may be able to use these hacks or tricks to get higher versions such as CM12 or perhaps (fingers crossed) CM13. I know this is kind of lofty, but perhaps we could get something going here. Once we identify the key problems, perhaps we can also apply these tricks to other AOSP variants, such as Slim Roms.
However, let's stick to putting one foot in front of the other right now and focus on CM11.
The Setup:
AT&T boot loader locked phone with NB1/NC1 kernel and modules flashed.
Safe Strap 3.75, currently using Rom Slot 1 for this, as my daily driver is on the stock slot, however I have done it both ways, and it works either way.
Download the below CM11 zip and put it on your phone.
In Safe Strap, choose stock or rom slot, then wipe and flash the CM11 zip.
After flashing the zip, flash the wifi modules for your kernel.
Once it boots:
Go to the settings->about phone->tap on build to enable developer mode.
Then, in developer menu, choose "Disable HW overlays" to always use GPU for screen compositing. (To improve graphics performance, you may find playing with the other graphics options help also.)
Then disable the lock screen by changing "slide" to "none" (To prevent sleep of death until we fix it.) Thanks @Sterben Pistole
Temporary Root:
Simply open the KingoRoot app and click on the padlock. This will take roughly 3-5 minutes, but it will successfully give you root permissions. After reboot, root permission will be lost, but you can simply open KingoRoot and give yourself root permissions again.
Download link:
http://www.mediafire.com/download/at7iw100uawi74k/CM11-20160322-SS.zip
OR This version, which includes the qcom scripts (testing):
http://www.mediafire.com/download/nb98rtkk2j0vjpa/CM11-20160326-SS.zip
Screenshots:
Boot animationhttp://www.mediafire.com/view/wgn5m57mjk5irvm/IMG_20160310_165320.jpg
Boot animationhttp://www.mediafire.com/view/7k8y591adrwsscw/IMG_20160310_162451.jpg
Settings http://www.mediafire.com/view/lrni6kpw04oi43d/IMG_20160310_165713.jpg
About phone1http://www.mediafire.com/view/8hb8slcwxgqxycl/IMG_20160310_165603.jpg
About phone2http://www.mediafire.com/view/ugra6jdeiz6wro5/IMG_20160310_165610.jpg
Dev. optionshttp://www.mediafire.com/view/qvd2q9uwd2vv8pn/IMG_20160310_165652.jpg
Home screen2http://www.mediafire.com/view/5h9vg4wxaacfpio/IMG_20160310_165742.jpg
Menu screenhttp://www.mediafire.com/view/55bvds7k08b2nkk/IMG_20160310_165548.jpg
Home screen1http://www.mediafire.com/view/qkod20qyyv3fska/IMG_20160310_165449.jpg
Check the following posts for issues and known working items. If you have an idea of how to solve the item, the best thing to do would be to download this CM11 and try it out. If you can't do that, or if you did and found a solution, just post your thoughts/trials/2 cents here in the forum and we can hopefully integrate it into the final product!
Team Members and Contributors: (People who have contributed to the project.)
@Sterben Pistole
@Evant28
Beta testers: @DeadlySin9
Huge special thanks to @jmsq and @Joe-Tech for permission to use things we need from their GPE roms!
Known problems
Here is a list of the Known issues:
SYSTEM:
-USB - MTP, UMS, and PTP are not currently working properly. The PTP may be working, but my Linux computer cannot connect to it. The UMS will not mount. The MTP says the connection is taking too long and resets (on my computer).
-Sleep of Death - Lock screen causes sleep of death and reboot errors. Must disable the lock screen to prevent this. Thanks @Sterben Pistole !
-Mounting external SD card - Currently the extSdCard is mounted, however it requires root privileges to use it.
-SU - Currently, @Sterben Pistole has found a SU temporary work around, however, it is lost on reboot.
-GPS - Not currently functioning.
-APN settings - Since that portion of the settings crashes, I thought we could edit the xml file directly and set a default option for the carrier of choice. Not ideal, but perhaps a good work around?
-TeleService.apk has been removed, it causes too many crashes, this apk is really important for phone calls/radio control, so this would really need to be replaced.
APPS:
-GPS Status - The app works, but GPS does not appear to be functioning.
-Messaging - Crashes when you open it. I think due to settings issue with connectivity to network.
-Settings - Mostly works, a few settings options cause it to crash, most importantly, the mobile network settings for APN's etc. crashes.
-Torch - Torch apk does not function at this time. Found that during CM kernel init, changes are made to facilitate the torch.apk, which are not done by the stock kernel init. However, it is possible that these could be written in as a init.d script.
Known Working
Here is a list of the known working:
SYSTEM:
-ADB - Fully functional.
-Audio - Makes sounds when you tap on buttons, appears to work fine.
-Bluetooth - Fully functional, used it to tether internet to use the browser, worked great.
-Bootlogo - Fully functional.
-Bootup - Boots all the way up the first time.
-Camera - Fully functional.
-External SD Card - Currently mounts, but requires super user privileges to use it.
-Internal Storage - Fully functional.
-Themes - @Sterben Pistole has verrified that different themes work.
-Wifi - Remember to flash your modules in SS! Thanks @Sterben Pistole
APPS:
-Apollo - Works great.
-Browser - Works great when you have an active network connection.
-Calculator - Works great.
-Calendar - Works great.
-Camera - Works great. Thanks @Sterben Pistole
-Clock - Works great.
-CM File Manager - Now working!
-DSP Manager - Appears to work.
-Email - Appears to work.
-Gallery - Works great!
-Movie Studio - Appears to work.
-People - Appears to work.
-Phone - Appears to work, but due to a settings issue with setting the carrier, I could not connect to make a phone call.
-Terminal Emulator - Works great.
-Voice Dialer - App opens, don't know if it works as I did not add my contacts.
Change log
Code:
3/26/16
-New QCOM script testing download link CM11-20160326-SS.zip
-Removed two of the scripts, the BT, and the BTDUN scripts. Those two scripts cause the Bluetooth to fail. Now the bluetooth works just as it did before the scripts were added.
3/24/16
-Alternate CM11-20160324-QCOMSCRIPTS-SS.zip download link
-Our NB1/NC1 kernel will need certain settings, services, and scripts run to be fully functional in regards to the hardware. Our kernel, through init, was calling for several qcom shells that did not exist. They have been added into this zip. Although it does not immediately solve any issues, it may be worth trying some of the things in these scripts, thus the original 20160322 zip is still available for download.
3/22/16
-New CM11-20160322-SS.zip download link
-Removed /recovery, boot.img, and file_context from zip as well as from updater-script. This makes it smaller and quicker to flash to your phone.
-Removed Loki script from installation script, as we do not need it on SS.
3/16/16
-New CM11-20160316-SS.zip download link
-External SD card now is auto mounted to /storage/extSdCard, however, it requires super user permission to use it.
-Dropped UltraExplorer and added ES File Manager for maintenance tools. Not intended for final product.
3/15/16
-New CM11-20160315-SS.zip download link
-Added Kingoroot for simpler one click rooting, root is still temporary.
(We had already achieved temporary root, but it was more complicated to activate than this. Kingoroot can re-root after restarting your phone.)
3/14/16
-New CM11-20160314-SS.zip download link
-Subtle changes in build.prop, fixed model # in about phone.
-Added TowelRoot, UltraExplorer, and Pushbullet for maintenance tools. Not intended for final product.
3/13/16
-New CM11-20160313-SS.zip download link.
-Camera2.apk fixed, open camera removed. Thanks [user=6053184]@Sterben Pistole[/user]
-CM File Manager fixed, removed ES File explorer.
3/12/16
-New CM11-20160312-SS.zip download link.
-WiFi Fixed, be sure to flash the appropriate modules in SS! Thanks [user=6053184]@Sterben Pistole[/user] !
3/11/16
-New CM11-20160311-AKLU-SS.zip download link with fix for internal phone memory "sdcard" mounting with SS.
-Sleep of death and reboot error workaround - Thanks [user=6053184]@Sterben Pistole[/user]
- Disable the lock screen to prevent sleep of death and to allow future reboots. We will want to disable or fix the lock screen function, but the workaround allows us to continue working at this time!
3/10/16
-Uploaded to XDA for assistance from other members and to share what has been done so far.
2/26/16
-Created new boot animation reflecting SS and CM.
2/24/16
-Removed Torch.apk, camera.apk, camera2.apk due to issues.
-Added OpenCamera - works great, and you can choose where to save pics.
-Added /system/lib/modules, but still cannot insmod them, due to no root permission.
-Tried Kingroot, will not root without internet connection, used bluetooth tether, but it did not recognize internet connection, even though browser worked online.
-Tried SuperSU, but it cannot update the binary.
2/23/16
-Removed teleservices.apk from /system/priv-app due to issues.
-Edited build.prop
-Now the crrashing has stopped, however we cannot use data or make phone calls without teleservices.apk. Perhaps we can steal it from another rom?
-Camera app crashes when accessing the camera.
-Settings sometimes crash.
-File manager could not find any storage devices, internal or external. Replacd with ES File Manager and now can see all files in mounted partitions.
-sdcard and extSdCard are not mounted at boot. Write script to do that?
-GPU needed set to no HW overlays in dev. options to prevent graphics errors/tearing.
-Bluetooth tests sat! :)
2/22/16
-Installed CM11 nightly through SS, but it constantly crashes.
I'm going to be experimenting with your build as I've started working on the same type of project as of last week. I'm going to see what I can do to fix a couple of the crashes and report back to you.
EDIT: TO ALL, IF YOU DON'T KNOW WHAT YOU'RE DOING DO NOT INSTALL THIS. IT IS NOT A DAILY DRIVER AT ALL.
EDIT 2: As I suspected, if you go into the settings and disable the lockscreen it won't go into the sleep of death.
Wow, this looks great! I'd love to help with this if I can.
Rebooting works flawlessly if you turn off the lock screen. As for the internal and external storage not mounting properly, you need a wrapper script for that. I think @jmsq made one a while ago, but he's not active anymore.
Sterben Pistole said:
I'm going to be experimenting with your build as I've started working on the same type of project as of last week. I'm going to see what I can do to fix a couple of the crashes and report back to you.
EDIT: TO ALL, IF YOU DON'T KNOW WHAT YOU'RE DOING DO NOT INSTALL THIS. IT IS NOT A DAILY DRIVER AT ALL.
EDIT 2: As I suspected, if you go into the settings and disable the lockscreen it won't go into the sleep of death.
Click to expand...
Click to collapse
Tested, works great! Updated thread! Great work!
Now we should replace or fix the lock screen. At least now we know what the problem was. Great insight!
Evant28 said:
Wow, this looks great! I'd love to help with this if I can.
Click to expand...
Click to collapse
Evant28,
You bet, if you can, download the files and play around with it. Let us know if you find any way to fix anything and we'll put it to work.
Sterben Pistole said:
Rebooting works flawlessly if you turn off the lock screen. As for the internal and external storage not mounting properly, you need a wrapper script for that. I think @jmsq made one a while ago, but he's not active anymore.
Click to expand...
Click to collapse
Great find on the disabled lock screen allowing reboots! I've added it to the instructions after booting up the first time. I am breaking down @jmsq GPE 4.4.3 rom to look at the script. I've also pm'd to ask their permission.
To be fair, some of those people saying it wasn't possible did specify that it would require plenty of work that most people don't want to/can't do. Kitkat probably is the best option since we did get those GPE's working though, and I certainly applaud your efforts. I'm no developer myself or I'd help out, but I think a good way to get some things working since we can't change the kernel is to try and build and load modules for it using bypasslkm. I don't know the viability of that, but I know at least for the storage issue I've seen a case where a module was loaded in order to allow mounting.
*deleted*
DeadlySin9 said:
To be fair, some of those people saying it wasn't possible did specify that it would require plenty of work that most people don't want to/can't do. Kitkat probably is the best option since we did get those GPE's working though, and I certainly applaud your efforts. I'm no developer myself or I'd help out, but I think a good way to get some things working since we can't change the kernel is to try and build and load modules for it using bypasslkm. I don't know the viability of that, but I know at least for the storage issue I've seen a case where a module was loaded in order to allow mounting.
Click to expand...
Click to collapse
Does BypassLKM work on 4.4.2? I know it works on 4.3, because that's what it was built for, but if it does it would definitely help a good bit.
Mounting of sdcard fixed.
DeadlySin9 said:
To be fair, some of those people saying it wasn't possible did specify that it would require plenty of work that most people don't want to/can't do. Kitkat probably is the best option since we did get those GPE's working though, and I certainly applaud your efforts. I'm no developer myself or I'd help out, but I think a good way to get some things working since we can't change the kernel is to try and build and load modules for it using bypasslkm. I don't know the viability of that, but I know at least for the storage issue I've seen a case where a module was loaded in order to allow mounting.
Click to expand...
Click to collapse
Internal phone storage "sdcard" mounting is fixed, new download link in OP. Turns out SS roms use a special sdcard mounting script. Thanks for the suggestions though, we need all the help we can get!
Wow great progress! I'll be installing as soon as I get home. Now that internal storage is fixed does WiFi work?
Evant28 said:
Wow great progress! I'll be installing as soon as I get home. Now that internal storage is fixed does WiFi work?
Click to expand...
Click to collapse
Not at the moment. Even if Wi-Fi was working this would still be far off from being a stable daily driver. I'll post an update if I figure something out.
EDIT: WIFI IS NOW UP AND RUNNING! Modules are needed as always.
EDIT 2: Uploading build with working Wi-Fi as I am typing this. I have slow Wi-Fi so it'll be a while ;-;
EDIT 3: Got root working, but it's not out of the box. You need to flash SU in Safestrap right after modules, download towelroot, make it rain, and then install SU binary's from SU app.
EDIT 4: Root is only temporary. After a reboot it disappears. Also, theme's work great
Sterben Pistole said:
Not at the moment. Even if Wi-Fi was working this would still be far off from being a stable daily driver. I'll post an update if I figure something out.
EDIT: WIFI IS NOW UP AND RUNNING! Modules are needed as always.
EDIT 2: Uploading build with working Wi-Fi as I am typing this. I have slow Wi-Fi so it'll be a while ;-;
EDIT 3: Got root working, but it's not out of the box. You need to flash SU in Safestrap right after modules, download towelroot, make it rain, and then install SU binary's from SU app.
EDIT 4: Root is only temporary. After a reboot it disappears. Also, theme's work great
Click to expand...
Click to collapse
Just about to flash, did you by chance get the build uploaded? Awesome work!
Evant28 said:
Just about to flash, did you by chance get the build uploaded? Awesome work!
Click to expand...
Click to collapse
uploaded wrong file lol There you go btw, there's still no service.
EDIT: Reuploading... Uploaded the original one by accident :/
Sterben Pistole said:
Does BypassLKM work on 4.4.2? I know it works on 4.3, because that's what it was built for, but if it does it would definitely help a good bit.
Click to expand...
Click to collapse
I'm pretty sure someone got it working while everyone was looking into getting a working kexec module. I'll see if I can't find a link somewhere.
EDIT: Still searching, but there are also directions on how to point it to the right address and compile it in the bypasslkm thread. Surge1223 built one for 4.4.2, but it's for verizon NC5 and I haven't found the link yet just found it here.
DeadlySin9 said:
I'm pretty sure someone got it working while everyone was looking into getting a working kexec module. I'll see if I can't find a link somewhere.
EDIT: Still searching, but there are also directions on how to point it to the right address and compile it in the bypasslkm thread. Surge1223 built one for 4.4.2, but it's for verizon NC5 and I haven't found the link yet just found it here.
Click to expand...
Click to collapse
http://ubunmobile.blogspot.com/2015/03/moddev-enable-unsigned-kernel-modules.html Here's a link to what seems like it's what we're looking for.

Problem with Rooted Stock Rom with AirWatch

My company is now enforcing and managing BYOD with AirWatch. I'm trying to enrol my Magisk-rooted Pixel 2 XL. I've searched around XDA and other sites and I was able to enrol the phone when I use Magisk Hide to hide from the AirWatch agent, aka now the Intelligent Hub. It creates a Work profile and installed several work related apps. The only other app aside from Intelligent Hub I've tested so far is Boxer and it works for the few minutes during my test.
When I say Boxer works for a few minutes, that is because next I attempted to open Workspace One. As it loads, I'm guessing it checks other details about the phone, then it would popup a message saying Work apps and profile removing because the device is "compromised" and uninstall the work apps and Word profile.
I would like to use Magisk Hide and hide from Workspace One app, but Magisk Hide doesn't even list that and other apps in the Work profile. An admin at work checked the AirWatch server and it shows the device compromised detection with the status "Malicious file found - Check files in system or exec folder".
So my question is, outside of troubleshooting step by step from wiping phone and setting up each thing from scratch, anyone else have an insight on what else I can check?
FYI, these are the following setup I have on my phone
- Pixel 2 XL
- Rooted with latest version of Magisk and Manager
- Latest Pie 9.0 Aug 2019 Update
- Magisk Modules Installs: Busybox, Viper4Android
- Apps with Root Access: AdAway, BetterBatteryStats, Franco Kernel Manager, Material Terminal, Titanium Backup
s0l1dsn8k3 said:
My company is now enforcing and managing BYOD with AirWatch. I'm trying to enrol my Magisk-rooted Pixel 2 XL. I've searched around XDA and other sites and I was able to enrol the phone when I use Magisk Hide to hide from the AirWatch agent, aka now the Intelligent Hub. It creates a Work profile and installed several work related apps. The only other app aside from Intelligent Hub I've tested so far is Boxer and it works for the few minutes during my test.
When I say Boxer works for a few minutes, that is because next I attempted to open Workspace One. As it loads, I'm guessing it checks other details about the phone, then it would popup a message saying Work apps and profile removing because the device is "compromised" and uninstall the work apps and Word profile.
I would like to use Magisk Hide and hide from Workspace One app, but Magisk Hide doesn't even list that and other apps in the Work profile. An admin at work checked the AirWatch server and it shows the device compromised detection with the status "Malicious file found - Check files in system or exec folder".
So my question is, outside of troubleshooting step by step from wiping phone and setting up each thing from scratch, anyone else have an insight on what else I can check?
FYI, these are the following setup I have on my phone
- Pixel 2 XL
- Rooted with latest version of Magisk and Manager
- Latest Pie 9.0 Aug 2019 Update
- Magisk Modules Installs: Busybox, Viper4Android
- Apps with Root Access: AdAway, BetterBatteryStats, Franco Kernel Manager, Material Terminal, Titanium Backup
Click to expand...
Click to collapse
The following works but I am not sure if all the steps are crucial and which ones may be superfluous. Those instructions in (parentheses) may be not necessary).
I am not a programmer (Basic on a C-64 doesn't count, I take it), don't know anything about computer architectures etc., just able to follow instructions and wrap my mind around them to tweak my devices.
The main part is to "Hide Magisk Manager" after Boxer is installed (but before it is opened/setup) as that also creates another Magisk app (instance?) with the new name for the work profile where Boxer etc. show up and can be hidden with Magisk Hide.
The other (first) part is to hide anything that would alert and conflict with Hub before or during setting up the work profile - I pretty much hid everything under Magisk Hide...
I don't know BYOD nor Workspace One, so the solution below may not work.
- uninstall Hub (that's the only app remaining after the auto-uninstall, right?)
- if Magisk Manager is already hidden: go to Settings\Restore Magisk Manager "with original package and app names" - that seems to be important, as hiding it later and with another name will then also create a Work Profile where one can see and click and hide the work profile apps such as Boxer (not sure if it works the other way around, i.e. starting off hidden with a different name and then later restoring to original will create a Magisk work profile)
- Magisk Hide: click almost every system app, not just the Google ones, but almost everything, camera, calendar, contacts etc. and your phone maker's versions as well (not sure what is necessary, but only Google system apps didn't seem to do it...), also all root and SU related apps like BusyBox etc. (not sure what Hub looks for)
(- System\Apps > clear storage data for Google Play Store and other Play Apps, also make sure Hub is really uninstalled. If not or having problems at least clear data storage as well)
- reboot (can also go into TWRP and wipe cache/Dalvik, not sure if necessary)
- install Hub, don't open it
- open Magisk, go to Magisk Hide: click Hub
(- close Magisk)
(- reboot)
- open Hub, let setup run its course creating the work profile
- if there are conflicts showing in Hub (and/or on your employer's MDM website for your device), e.g. root certificate not installed, don't install any apps yet such as Boxer etc. and reboot instead
- Are those conflicts resolved after reboot?
- install Boxer and other apps (trough Hub itself, MDM website push (or Google Play)) but don't open/start them
(- reboot)
- open Magisk, go to Settings\Hide Magisk Manager and click on it, pick a name and confirm: this will then change the name of Magisk AND create a another Magisk app (with the new name) for the work profile.
- open that new Magisk work profile and go to Magisk Hide: click Boxer (and other apps controlled by Hub); Hub itself and everything already hidden in the private (= non-work) profile Magisk app should show up here as already hidden. Double and triple check.
(- reboot)
- open Boxer and start set-up
That's it. Stable, even after another reboot.
Did this solution work for you @s0l1dsn8k3?
I am in a similar boat. @s0l1dsn8k3 please let me know if you found an alternate solution.
I am in a similar boat. @s0l1dsn8k3 please let me know if you found an alternate solution.

Just tweak it [Tab S4] - debloat, root, plugins, battery...

Tab S4 stock cleanup actions
phablet guide fest continues V30->Note9->6T->Mi9->S10->7T->Tab S6->Tab S4, time to provide some thoughts, easy to click links and guides. Goal is to have a clean device after each update, and have a helper script running at boot or on demand. This is a tablet, we want to achieve flat battery graphs when it is unused (picture attached), hopefully charge once a week with slight usage.
Debloat
What the script does:
* choose 8 categories of app removal, in the beginning of the file
for each say 0=skip 1=remove 2=revert back
* use more switch to disable some questionable/helpful stuff
* disable up to 80 apps with possibility to revert back
* remove usage access for google (do manually)
* remove device admin backdoor "Find My Mobile", you won't recover stolen device this way lol, it doesn't work with Secure Startup! it's useful for Govt.
* remove proca (which was slowing down tablet after rooting), if it doesn't work from your shell, edit the file as below
Tested ok on March stock Pie firmware. Samsung has too much bloatware installed, and requires shocking permissions to run some basic services. We will further need to reclaim privacy. As for debloat list, i've cooked the list based on knowledge of each process, its current presence in the Pie firmware, and what would fit the tablet usage. In this case, i'm leaving Samsung account, Galaxy shop and few pen apps and we assume XPrivacy is sending these snitch services bogus personal details.
Download: (file attached)
Installation:
- run in su terminal once or add to any startup script (3C\Device mgr\Scheduler can assign scripts from /storage/emulated/0/Android/data/ccc71.at/scripts), or to magisk
Rooting
We want encryption. There are no ROMs, and TWRP can be used for many other tasks without access to your files.
OEM unlock in dev settings
when turned off and rather plugged it to your PC with drivers installed, hold Power & Vol+ & Vol- til you see download screen, confirm with Vol+
in ODIN, slap TWRP into AP while "Auto reboot" is unchecked
hold Power & Vol- to exit download mode, then Power & Vol+ to enter recovery
in TWRP, slap kernel and Magisk into tablet from SD card or USB (can be usb flash, can be other mobile, can be adb)
in TWRP, say boot to system and wait 5min
check Magisk app status, enable USB debugging in dev settings
kernel: WETA recovery: TWRP 3.3.1 for PIE SM-T83x
watch kernel log for 20sec
Code:
dmesg -Tw|grep proca
if proca messages appear open /vendor/etc/init/pa_daemon_qsee.rc and comment the lines
You should enable "Secure startup" in "Biometrics and security" settings. Recovery should fail reading encrypted drive sda27 because of its crypto flags and logical mapping.
Which plugins to use
Similarly to Mi9, collecting what i think is useful to keep on stock rooted firmware.
Magisk plugins:
* Riru - Core, Riru - Ed Exposed -- brings XPosed to Pie. Need also installer. Make a choice SandHook/Yahfa bipolar release, i never found out which one is better.
* libsecure_storage companion -- helps us keep the bluetooth pairings
* (optional) YouTube Vanced black themed -- brings usable YouTube experience. Unfortunately it's now a horror to install (v15), but v14 from Magisk still works.
* (optional) Move certificates -- perhaps
* (impossible) QuickSwitch -- there's no pill but Samsung custom recents... oh how glad i am for it now! Android10 cancelled this fantastic Pie pill already and you can scroll apps in OneUI!
XPosed plugins:
* Xposed Edge Pro -- a must have and best plugin
* XPrivacy -- Screw the big brother. Must have of the century. Disabling analytics, tracking, telephony, network, identification for all visible apps and all Google and Samsung apps with some exceptions.
* Firefds kit -- so this is our main customization app irrelevant here: ..and enables the very important call recording, which is beutifully integrated into call history. Bye bye external apps. Also for Samsungs it forces Restart "recovery"
* (optional) Xposed Dex -- some tweaks
* (optional) afWall -- Problems with this firewall and some VPN clients for years. Using AdGuard now and happy. It can even control DNS, no need one of those paid lausy apps. This plugin should by disabled in Xposed.
* (optional) Exi for Swiftkey -- you can make Swiftkey great again, GBoard is still the best, Samsung keyboard is very good, but too tall and leaves gap in fullscreen mode
Root apps:
* TitaniumBackup -- a must since Android was born
* Adaway -- a must but with AdGuard not so.. but i use both
* AdGuard -- can filter more and can amend requests.. that's a game changer. You can have a efficient proxy when rooted.
* 3C toolbox -- too helpful not to pay for the biggest package
* (optional) Root Essentials -- a multitool, have a look
* (optional) MiXplorer -- best file manager, replaces spyware ES File explorer you had before. Edits root files comfortably even when other editors don't
* (optional) FolderSync -- best sync tool
Battery
Battery saving:
- tablet should not be neccessarily always connected, receive notifications, so why not keep it dead when the screen is off
- the key is to disable background network activity:
disable it overall by Medium Power Saving mode
disable background network for individual apps (there's "Allow background data usage" and also nice "Allow background activity" checkbox)
force it with 3C (Device Mgr\Profiler) or Adguard (App Management)
- can't see wifi switch.. to turn wifi off when screen off. no wifi scanning drainer or other "intelligent" bs functions there either. just "Hotspot 2" - turn off.
- nearby scanning should be off, what a useless function of finding unknown devices - once you pair the known, what's the sense? or you keep connection 10 new bt devices each week? just a drain and endless beacon
- location can be off, and again it can be scripted by turning on only when screen is on by 3C
- not installing {LSpeed, Naptime, Servicely, FDE, LKT, Universal GMS Doze, Sysconfig patcher} here
- no signifficant doze functions here {AOD, fp icon, dt2wake, raise2wake} to speak off
- we want battery to remain flat when screen off, last tablet i had could do -1% per week! let's do it here
Other
- i like tender boot screen indicating knox off status, no need to flash boot logos
- no boot keys needed like on Tab s6
- not using multidisabler as i'm on stock and i do want encryption on every device ever
- how to launch camera quickly?? still dind't find out
- don't be afraid to use another device (mobile) as USB drive.. this way you can restore your apps directly via TitaniumBackup without copying it first! also Smart Switch can be used from non-Samsung phones, but it is as weak as Google backup ever was - no data restore
What do you do to run this exactly?
copy the file to storage. open su terminal. Get any root terminal app (ConnectBot, 3C Toolbox, or adb shell) and run as root. I run this script as autostart on each of my devices.
wifi_standby_test: first battery standby test: 37 hours to 91%, i've 'charging protection' so approx 93% that give us 0.19%/hr drain with wifi and bluetooth on. 10x less then a mobile (S10). Good start, nice 3 weeks of standby potential, but let's try medium power saving mode to squeeze it to over month of standby.
Will i loose my data while rooting? Im on Build number PPR1.180610.011.T835DDS4BSL2
doggydog2 said:
Tab S4 stock cleanup actions
phablet guide fest continues V30->Note9->6T->Mi9->S10->7T->Tab S6->Tab S4, time to provide some thoughts, easy to click links and guides. Goal is to have a clean device after each update, and have a helper script running at boot or on demand. This is a tablet, we want to achieve flat battery graphs when it is unused (picture attached), hopefully charge once a week with slight usage.
Debloat
What the script does:
* choose 8 categories of app removal, in the beginning of the file
for each say 0=skip 1=remove 2=revert back
* use more switch to disable some questionable/helpful stuff
* disable up to 80 apps with possibility to revert back
* remove usage access for google (do manually)
* remove device admin backdoor "Find My Mobile", you won't recover stolen device this way lol, it doesn't work with Secure Startup! it's useful for Govt.
* remove proca (which was slowing down tablet after rooting), if it doesn't work from your shell, edit the file as below
Tested ok on March stock Pie firmware. Samsung has too much bloatware installed, and requires shocking permissions to run some basic services. We will further need to reclaim privacy. As for debloat list, i've cooked the list based on knowledge of each process, its current presence in the Pie firmware, and what would fit the tablet usage. In this case, i'm leaving Samsung account, Galaxy shop and few pen apps and we assume XPrivacy is sending these snitch services bogus personal details.
Download: (file attached)
Installation:
- run in su terminal once or add to any startup script (3C\Device mgr\Scheduler can assign scripts from /storage/emulated/0/Android/data/ccc71.at/scripts), or to magisk
Rooting
We want encryption. There are no ROMs, and TWRP can be used for many other tasks without access to your files.
OEM unlock in dev settings
when turned off and rather plugged it to your PC with drivers installed, hold Power & Vol+ & Vol- til you see download screen, confirm with Vol+
in ODIN, slap TWRP into AP while "Auto reboot" is unchecked
hold Power & Vol- to exit download mode, then Power & Vol+ to enter recovery
in TWRP, slap kernel and Magisk into tablet from SD card or USB (can be usb flash, can be other mobile, can be adb)
in TWRP, say boot to system and wait 5min
check Magisk app status, enable USB debugging in dev settings
kernel: WETA recovery: TWRP 3.3.1 for PIE SM-T83x
watch kernel log for 20sec
Code:
dmesg -Tw|grep proca
if proca messages appear open /vendor/etc/init/pa_daemon_qsee.rc and comment the lines
You should enable "Secure startup" in "Biometrics and security" settings. Recovery should fail reading encrypted drive sda27 because of its crypto flags and logical mapping.
Which plugins to use
Similarly to Mi9, collecting what i think is useful to keep on stock rooted firmware.
Magisk plugins:
* Riru - Core, Riru - Ed Exposed -- brings XPosed to Pie. Need also installer. Make a choice SandHook/Yahfa bipolar release, i never found out which one is better.
* libsecure_storage companion -- helps us keep the bluetooth pairings
* (optional) YouTube Vanced black themed -- brings usable YouTube experience. Unfortunately it's now a horror to install (v15), but v14 from Magisk still works.
* (optional) Move certificates -- perhaps
* (impossible) QuickSwitch -- there's no pill but Samsung custom recents... oh how glad i am for it now! Android10 cancelled this fantastic Pie pill already and you can scroll apps in OneUI!
XPosed plugins:
* Xposed Edge Pro -- a must have and best plugin
* XPrivacy -- Screw the big brother. Must have of the century. Disabling analytics, tracking, telephony, network, identification for all visible apps and all Google and Samsung apps with some exceptions.
* Firefds kit -- so this is our main customization app irrelevant here: ..and enables the very important call recording, which is beutifully integrated into call history. Bye bye external apps. Also for Samsungs it forces Restart "recovery"
* (optional) Xposed Dex -- some tweaks
* (optional) afWall -- Problems with this firewall and some VPN clients for years. Using AdGuard now and happy. It can even control DNS, no need one of those paid lausy apps. This plugin should by disabled in Xposed.
* (optional) Exi for Swiftkey -- you can make Swiftkey great again, GBoard is still the best, Samsung keyboard is very good, but too tall and leaves gap in fullscreen mode
Root apps:
* TitaniumBackup -- a must since Android was born
* Adaway -- a must but with AdGuard not so.. but i use both
* AdGuard -- can filter more and can amend requests.. that's a game changer. You can have a efficient proxy when rooted.
* 3C toolbox -- too helpful not to pay for the biggest package
* (optional) Root Essentials -- a multitool, have a look
* (optional) MiXplorer -- best file manager, replaces spyware ES File explorer you had before. Edits root files comfortably even when other editors don't
* (optional) FolderSync -- best sync tool
Battery
Battery saving:
- tablet should not be neccessarily always connected, receive notifications, so why not keep it dead when the screen is off
- the key is to disable background network activity:
disable it overall by Medium Power Saving mode
disable background network for individual apps (there's "Allow background data usage" and also nice "Allow background activity" checkbox)
force it with 3C (Device Mgr\Profiler) or Adguard (App Management)
- can't see wifi switch.. to turn wifi off when screen off. no wifi scanning drainer or other "intelligent" bs functions there either. just "Hotspot 2" - turn off.
- nearby scanning should be off, what a useless function of finding unknown devices - once you pair the known, what's the sense? or you keep connection 10 new bt devices each week? just a drain and endless beacon
- location can be off, and again it can be scripted by turning on only when screen is on by 3C
- not installing {LSpeed, Naptime, Servicely, FDE, LKT, Universal GMS Doze, Sysconfig patcher} here
- no signifficant doze functions here {AOD, fp icon, dt2wake, raise2wake} to speak off
- we want battery to remain flat when screen off, last tablet i had could do -1% per week! let's do it here
Other
- i like tender boot screen indicating knox off status, no need to flash boot logos
- no boot keys needed like on Tab s6
- not using multidisabler as i'm on stock and i do want encryption on every device ever
- how to launch camera quickly?? still dind't find out
- don't be afraid to use another device (mobile) as USB drive.. this way you can restore your apps directly via TitaniumBackup without copying it first! also Smart Switch can be used from non-Samsung phones, but it is as weak as Google backup ever was - no data restore
Click to expand...
Click to collapse
Bro. Is it possible to do this without losing data?
mayank_nigam said:
Will i loose my data while rooting? Im on Build number PPR1.180610.011.T835DDS4BSL2
Click to expand...
Click to collapse
backup, try and let us know the reason why usual root methods wipe data is to remove encryption, we don't need that.
doggydog2 said:
backup, try and let us know the reason why usual root methods wipe data is to remove encryption, we don't need that.
Click to expand...
Click to collapse
So if we do it without turning oem unlock, will it work?
---------- Post added at 04:41 PM ---------- Previous post was at 04:26 PM ----------
doggydog2 said:
backup, try and let us know the reason why usual root methods wipe data is to remove encryption, we don't need that.
Click to expand...
Click to collapse
Any suggestions on backup method?
mayank_nigam said:
So if we do it without turning oem unlock, will it work?
Click to expand...
Click to collapse
ah i see... you need this checkbox unlocked to flash. this device will wipe itself if you just toggle the checkbox. so in the end, data will be wiped in transition from unrooted state.
and regarding backup, just conventional methods like google backup or deeper cable backup by Helium which can partially substitute TitaniumBackup on unrooted device.
How did you get Weta running on the March firmware when it isn't supported?
NM, I see you just used the kernel part.
Running this script did very little for me - no options were given, just a few packages disabled before it errored out
Thank you for the script! It made a great difference on my tab s4, I was able to enable back Chrome and Google.
My device was lagging before... Thanks again for the write up...
Any suggestions on installing apps to sd card? The option under dev options, to force install apps to sd card is not really good.
I just purchased a refurb Tab S4, it should be arriving over the weekend. The seller notes that the S4 is on Oreo.
I noticed references to Pie here. Should boot and I let the tablet update to the latest release from Samsung, and then root / debloat as described in this thread after the Pie update?
¿GotJazz? said:
I just purchased a refurb Tab S4, it should be arriving over the weekend. The seller notes that the S4 is on Oreo.
I noticed references to Pie here. Should boot and I let the tablet update to the latest release from Samsung, and then root / debloat as described in this thread after the Pie update?
Click to expand...
Click to collapse
My Tab S4 arrived today. Should I allow any updates from Samsung be installed before I run through the rooting process described here, or should I do the rooting before getting the Samsung updates?
¿GotJazz? said:
My Tab S4 arrived today. Should I allow any updates from Samsung be installed before I run through the rooting process described here, or should I do the rooting before getting the Samsung updates?
Click to expand...
Click to collapse
yes..why rooting an old version.. no OTAs later so you'd have to update manually again.
doggydog2 said:
yes..why rooting an old version.. no OTAs later so you'd have to update manually again.
Click to expand...
Click to collapse
Thanks!
But, as it turns out ... I won't be able to root or debloat anyways. I purchased a refurb Tab S4 that appears to be in excellent like-new shape, but it was also mislabeled on Amazon.
Instead of getting a SM-T830, I received a SM-T837T (T-Mobile version). I plan on getting it unlocked so that I can use it on AT&T, but from what I understand, it's unrootable.
Thanks, tho!
¿GJ?
doggydog2 said:
yes..why rooting an old version.. no OTAs later so you'd have to update manually again.
Click to expand...
Click to collapse
I was wondering about this. So there is no way to update once rooted, other than a full clean flash and start again?
ghoulie said:
I was wondering about this. So there is no way to update once rooted, other than a full clean flash and start again?
Click to expand...
Click to collapse
later use Frija to get new firmware and update. cleaning is only on first root as we can't avoid it when switching the OEM lock.
This thread is really one of the best thread for tab S4
Thanks for that
Sent from my SM-T830 using Tapatalk
Question, now that 10 is out will you update the OP, some things change.
I am not sure things like exposed can be update? Tried and get some reboot.
Proca not present and other things.
Thank you for your work
Sent from my SM-T830 using Tapatalk
Looks like it is not working anymore on Android 10:
https://forum.xda-developers.com/galaxy-tab-s4/development/rom-t4137013

Themes / Apps / Mods [Magisk] UnifiedNlp enabler module for stock ROM

UnifiedNlp enabler for stock ROM (Magisk module)​​What's this and what does it do?​
It's a Magisk module. You need to have Magisk working to use it. This thread can help with that.
It installs UnfiedNlp 1.6.8 as a system app and also does the magic that allows it to work as a location provider alongside Google Apps (aka GApps).
I've only tested it on the stock Sony ROM (firmware 62.0.A.3.163 to be more exact). Reports of whether it works on other versions are welcome.
It can in theory work on other ROMs but it depends a lot on the ROM. ROM variations is actually what makes it so fiddly and why such a deceptively simple module is so hard to find for your device. I don't intend to install other ROMs to test it but again reports are welcome. Please see below for explanations about how it works if you want to tackle it.
​No but seriously, what's UnifiedNlp and why do I care?​Your location provider (on a stock ROM from an established vendor like Sony) is Google. Elephant in the room, Google spies on you. They watch your location 24/7 and they learn things about you: where you work, where you live, where you shop, where you go to school, where you go in your spare time. They use this information to serve you ads. All vendors that want to be able to carry the Android trademark and be friends with Google are forced to put Google's location provider on their phone.
But Android actually has the ability to install multiple location providers, and switch them on and off at will. Except most stock ROMs come with this ability deactivated.
UnifiedNlp is an open source location provider with very cool features. It uses modules which let you use more privacy-oriented location services when you're online, and also let you determine your location offline, which gives you better privacy and also is very useful when you don't have a data connection. This Magisk module installs UnifiedNlp and tells the stock Sony ROM to let you use it.
But GPS already works fine on my phone​This isn't about GPS. Every phone/ROM has built-in GPS as a basic location provider. GPS doesn't depend on Google or anything else. You either get direct visibility to 4+ GPS satellites or you don't, and the AGPS (Assisted GPS) data that speeds up GPS fix is freely available online.
This is about being able to use WiFi spots and mobile cell towers for location. This works faster than GPS and also works indoors.
In order to use something to determine your location you need to know its position. The positions of GPS satellites are well known, but the positions of wifi spots and cell towers isn't. To get those positions you need to go to someone who has walked all around your street and has used GPS to determine the exact position of the spots and towers.
Google has cars that go everywhere in the world doing that, but every time you ask Google for this information they also use your location to track you. This module will give you access to that information from sources other than Google.
How do I use this?​
Install UnifiedNlp:
Download the attached ZIP on your phone (preferably under Download/).
Open Magisk, go to the modules tab, hit "install from storage" and pick the ZIP, then reboot.
After reboot you should have a UnifiedNlp system app installed. Some launchers will show it in their app drawer or even put it directly on the home screen for you, but regardless you can always open it from Settings > Location > Advanced >UnifiedNlp Settings. If it's not in the settings something is wrong.
Open UnifiedNlp settings and hit "Self Check".This gives you a screen with several checkmarks that should be on so everthing will work fine:
Permissions check: most of this will have been taken care of by the Magisk module, but you still need to tap it at least once. Grant location access if prompted.
Android version supported: will most likely never be checked, but like it says it doesn't mean much.
System supports this location provider: must be already checked. If it isn't, reboot once more after you've granted the location permission.
UnifiedNlp is registered in system: same as above, must be already checked. If it isn't, try a reboot. If this and the above check still don't enable something is wrong and this module doesn't seem to work on your ROM. See below for possible tinkering solutions.
Location backends set up: this will only become enabled after you install some modules. It's ok if it's off for now.
Network based location enabled: if this isn't checked, go to Settings > Location > Advanced > Google Location Accuracy and turn it on. In spite of the name it has nothing to do with Google, this enables/disables the use of wifi and mobile cells for location.
The last two checks ("has known location" and "provides location updates") may or may not show a check, but it doesn't matter, the real test will be getting your apps to work.
Install some modules. UnifiedNlp won't do anything without them. If you have F-Droid installed you can get these modules from it, otherwise you can grab the APKs from the F-Droid website.
NominatimNlpBackend: this is a must-have. It's an address backend, not a location backend. It matches a position to a postal address (city, street, number, that sort of thing).
MozillaNlpBackend or Apple UnifiedNlp Backend: at least one of these must be installed. These are the main location providers, equivalent to Google's. They need a data connection. They send information about nearby wifi spots and cell towers to Mozilla or Apple, and they get back an exact position. Both work equally well. Apple's has slightly higher precision, but Mozilla's privacy policy is better.
Modules below this point are optional. If you just wanted UnifiedNlp to be functional you can skip them, but they can be very useful when you don't have a data connection.
Deja Vu: when you have a GPS fix, this module saves/updates the position of nearby wifi spots and cell towers. When you don't have a GPS fix, it uses previously saved spot/tower positions to give you an approximate location. Doesn't need a data connection, doesn't need you to do anything, and it never needs any external service.
GSM Location Service: this module will offer to download a database of cell tower locations for your area. Then it will use it to determine your location based on cell towers detected nearby. Only needs data connection for the initial database download or for updates, after that it works offline.
WiFi Location Service: same as above, but for wifi spots.
After you install a module you must activate it in the UnifiedNlp settings, under "Configure location backends" or "Configure address backends".
Some of them may have additional settings available in there (gear icon). The GSM and WiFi location modules will need you to indicate your area and download a database.
If you can't enable location modules you've most likely missed a step (Network based location enabled) in Self-check.
If you're using XPrivacyLua you may want to either extempt these modules from restrictions or allow them location access.
Remember to grant Internet access in your firewall, if you have one, to the modules that need a data connection.
Verify that UnifiedNlp works:
Some app suggestions:
The NLP Test app lets you explicitly use "LM" (network-location like wifi/cells) or "GMS" (GPS) and also shows you lots of useful information, accuracy, different map markers for high/low precision etc.
The Gmaps WV app is a lightweight alternative to the Google Maps app (it uses the Google Maps website wrapped in a webview).
The OsmAnd app is a feature-rich map and navigation app that uses open map data from sources completely independent from Google.
The GPS Test app by Chartcross is very good for checking whether you're getting a GPS signal or not.
For testing that network-based location works you want to be indoors and you want GPS positioning to not work.
Disable all location modules in UnifiedNlp and check that NLP Test can't determine "LM" location.
Enable only one module, Mozilla or Apple, and check that NLP Test can get a "LM" location and also what accuracy you get.
The following tests are optional and results will also vary depending on your area and what cell/wifi coverage you get.
Enable only one module in turn between the GSM or WiFi service and see if you can get a "LM" fix with it.
Activate Mozilla or Apple module and Deja Vu, get a GPS fix, wait a minute or two, go indoors, check that you no longer get a GPS fix, disable Mozilla/Apple, and see if you get a "LM" fix in NLP Test with just the Deja Vu module activated.
​I don't like it, how do I uninstall and go back to Google location?​
Uninstall the module in Magisk and reboot. That's it.
Optionally you can uninstall the UnifiedNlp modules. They don't do anything without UnifiedNlp. Consider keeping them in case you change your mind and reinstall UnifiedNlp later. If you uninstall the modules you also lose the databases that they've created and you'll have to re-download them or let them recreate them (in Deja Vu's case).
How does this work (and how can I make it work on other ROMs)?​There are three things needed to make this work:
The UnifiedNlp app needs to be installed as a system app in /system/priv-app/UnifiedNlp/UnifiedNlp.apk. You want the version with GAPPS. Can get it from F-Droid or GitHub.
UnifiedNlp (org.microg.nlp) needs a bunch of system-level permissions. They can be granted manually, but the more elegant method is to put them in /system/etc/permissions/org.microg.nlp.xml.
Overwrite several location provider-related settings in framework-res.apk by using Runtime Resource Overlays (RROs), to allow UnifiedNlp to act as location provider.
Which packages are allowed to act as a location provider is set inside framework-res.apk in the config_locationProviderPackageNames array. This array typically only lists Google packages and org.microg.nlp needs to be added in there. There's also some string settings that indicate the "master" location provider which need to be set to org.microg.nlp.
In the olden days the only way to do this was to unpack framework-res.apk, modify the values, repack it with a custom signature, put it back on the ROM and hope for the best. Often this would fail if the ROM was checking that the apk was not tampered with.
At some point a better method came along: RROs. These are APKs that overwrite values in framework-res.apk. Sounds pretty simple, but it's complicated by the fact that different ROMs have different rules about what overlays can overwrite what settings. The Xperia 10 III (XQ-BT52) /system/build.prop gives the following priority order for RRO locations: odm,vendor,product,system_ext,system. Therefore this module installs the /system/product/overlays/UnifiedNlpOverlay/UnifiedNlpOverlay.apk RRO.
You will need to accomplish all three things above to make this work on another ROM. The 3rd one is the tricky one because there are multiple places where a RRO can go and not all of them work. Some custom ROMs already take care of step 3 for you. Otherwise, check the documentation I linked. You may want to try other dirs instead of /system/product (alternatives are listed in the docs). Or you may need to change the overlay XML files, in which case it gets more complicated, and you'll also need apktool to unpack and repack the overlay.
Credits​
The microg project for making UnifiedNlp.
TontyTon for the overlay.
Misaka4e21 for the Magisk module and the permissions XML.
I added the UnifiedNlp.apk to the module and figured out where the overlay needs to be placed on the stock Sony ROM to make it work.
Doesn't seem to install in Magisk. But I'm very interested in this module though ideally I'd want stock rom with microg.
lufei said:
Doesn't seem to install in Magisk. But I'm very interested in this module though ideally I'd want stock rom with microg.
Click to expand...
Click to collapse
What version of Magisk are you using? I'm on v24. Are you getting any errors, or are you just not seeing the zip in the Magisk installer?
wirespot said:
What version of Magisk are you using? I'm on v24. Are you getting any errors, or are you just not seeing the zip in the Magisk installer?
Click to expand...
Click to collapse
When trying to install the zip in Magisk I just get "copying zip to temp directory ! Unzip error" installing other modules work and I use Magisk 24.2
Can you also check that the zip was downloaded correctly? You can do this with md5sum from a terminal or adb shell, it should have checksum a54c4de46ecdbb228c496c59bc2cf275.
You can also try to install the zip from the command line like this: magisk --install-module filename.zip
Found the problem, I was putting the files inside another directory instead of putting them directly in the root of the zip. I've swapped the attachment in the first post with a correct file. Added a MD5 in the filename too, just in case. Thanks @lufei !
wirespot said:
Found the problem, I was putting the files inside another directory instead of putting them directly in the root of the zip. I've swapped the attachment in the first post with a correct file. Added a MD5 in the filename too, just in case. Thanks @lufei !
Click to expand...
Click to collapse
Now it installs and I was able to get all boxes checked, let's see how it works!
Thank you for the detailed explanation.
The topic of finding a location provider other than Google had interested me for a long time.
Until now, however, I had not yet dealt with it.
With this excellent tutorial I am now not only wiser, but can also confirm that everything as described also runs with the LOS18.1 GSI Rom and latest Sony Firmware.
Don't know if it's the GSI lineageOS or because I flashed the OpenGapps via Magisk, but I had trouble getting the current location in certain apps via both "LM" and "GMS".
The error was exactly as described here:
No GPS fix for most apps
With the solution described there, the problem could then be solved:
Code:
adb shell pm grant com.google.android.gms android.permission.ACCESS_COARSE_LOCATION
adb shell pm grant com.google.android.gms android.permission.ACCESS_FINE_LOCATION
Do you still get a LM fix if you disable all location modules in UnifiedNlp, or if you disable this Magisk module? Because I suspect you're actually using the Google location provider.
This Magisk module relies on the assumption that the UnifiedOverlay.apk file is placed in a location that will override the values provided by /system/framework/framework-res.apk. For the stock ROM it seems to work with /system/product but if that's not true for Lineage you may want to try modifying the zip and also copying system/product/overlay as system/vendor/overlay, system/oem/overlay, system/odm/overlay, system/system_ext/overlay and system/overlay.
wirespot said:
Do you still get a LM fix if you disable all location modules in UnifiedNlp
Click to expand...
Click to collapse
No, if I disable the location modules LM fix is not possible anymore.
psychofaktory said:
No, if I disable the location modules LM fix is not possible anymore.
Click to expand...
Click to collapse
Ah that's cool then. It's interesting that it requires .gms to also have location rights even if it's not using it. I guess as long as it's installed and listed as an official location provider it needs to have the permissions that go with it too.
@wirespot
Is there anything against using this Magisk module on a device other than the Xperia 10 III?
It won't break anything, it just won't work if the folders aren't good. UnifiedNlp settings will complain that the service could not be registered.
See post #10 for a list of folders. If it doesn't work as is, duplicate the system/product folder with all those other names, repack the zip, and try with that.
What ROM are you planning to try it on?
wirespot said:
What ROM are you planning to try it on?
Click to expand...
Click to collapse
Offical LineageOS 18.1 von Sony Xperia XA2 an unofficial LineageOS 18.1 on Xiomi Mi 9 lite.
On LineageOS you don't need the overlays (so none of the /system/*/overlay/* files or dirs) because its framework-res.apk already allows you to use UnifiedNlp (it lists org.microg.nlp as an approved location provider). This actually solves a major headache.
You can still use a Magisk module to install the UnifiedNlp apk to /system/priv-app and the permissions file to /etc/permissions/ systemlessly if you want (as opposed to actually mounting the root partition read-write and copying them there). This makes it easier for these modifications to survive LineageOS updates. (If you need to install them physically you will either need to copy them again after every update, or you can use a script that protects them during updates as described here.)
Please note that the actual apk you need to install depends on whether you install with Gapps or without. My module is made for a stock Sony ROM with Google Apps so of course there's already a location provider from Google (com.google.android.gms), so I need to use the UnifiedNlp.apk, package name org.microg.nlp, which is designed to work alongside Gapps. If you plan on installing Gapps on LineageOS then you need to do the same so you can use my module with just the */overlay/* stuff removed.
If you plan to use LineageOS without Gapps then you need to get the NetworkLocation.apk version of UnifiedNlp, which has package name same as the original Google package (com.google.android.gms). You will need to replace /system/priv-app/UnifiedNlp/UnifiedNlp.apk with /system/priv-app/UnifiedNLP/NetworkLocation.apk in the module zip, and also edit /system/etc/permissions/org.microg.nlp.xml and change the package name from "org.microg.nlp" to "com.google.android.gms". (The actual file name of the .xml doesn't matter, the system loads all the .xml files in that dir anyway, but you can change that too if you want to be tidy.)
Thank you very much for your answer.
Whenever possible, I prefer the systemless variant.
Therefore, your Magisk module would be a good way.
For all LineageOS installations I have installed the OpenGApps.
That means I simply remove the system\product\overlay\ folder and its contents from the zip file and can then flash the module directly with Magisk?
Is it enough to adjust the values in the module.prop to change the display name of the module, or is there anything else that needs to be considered here?
Tried with the steps I described in my post above.
Everything worked so far.
Except UnifiedNlp didn't register in system.
What's wrong with my setup?
Does it say "system supports location provider" in UnifiedNlp self-check?
Two common gotchas:
In the Self-check list, tap "permission to access location" at least once. It may be needed to grant additional location permission.
Make sure that using network-based location is enabled in the settings. I don't know what it's called on Lineage. On stock ROM it's called "Google location accuracy" which of course isn't useful.
Reboot once after doing all of the above.
Wait a couple of minutes after restart before you do Self-check, sometimes it takes a bit longer.
If none of this works try copying system/product/overlay as system/vendor/overlay, system/oem/overlay, system/odm/overlay, system/system_ext/overlay and system/overlay, in the zip, reinstall the module and reboot.
Self-check says that system supports location provider. Permissions are set and every mark is checked.
Network-based location is also active.
Phone was rebootet several times and I waited bevore testing with NLP TEST app.
I have created and installed a new ZIP file based on your recommendation. That seemed to did the trick.
Got a location wie LM NLP test. But far from my actually position.
But then I figured out, that the problem came from somewhere else:
Mozilla NLP gave me wrong Informations about my position. So I disabled it and enabled Apple NLP instead.
Since then everything works find.
If I see this correctly, the newly created Magisk module should then work on all LineageOS roms with GApps installed. Regardless of the device type.
Am I correct here?

Categories

Resources