ViPER4Android Universal Fix CM13 Android 6.0/+ - Android General

So... here I will share 2 scripts I made to fix permissions for ViPER4Android running with enforced SELinux.
Why 2 scripts?
I like to keep everything open-source. Here I like to notice, Cyanogenmod is taking the wrong direction in my point of view. Every update takes out something of the customization possibilities of the user, so I am thinking of choosing new ROM. I faced real nightmare with SELinux permissions (well... SELinux is good, but Cyanogenmod doesn't provide any tool or way to manage those permissions). The more funny part is that with branch 13.0 of cyanogenmod there is no more init.d. Before someone corrects me - yeah... there is init.d, but SELinux blocks any script from executing at boot time, so don't use it. You will get your logs spammed by error messages. So... I've tried to enable init.d again, but there is no way to manage init.d to work as before. I've tried lots of different fixes from other posts, but nothing seems to work anymore, because of SELinux restrictions. I didn't managed to find any way to run scripts on boot time with root permissions in a suitable way... without messing with other system files or rebuilding build.img... so I came with those 2 solutions:
ViPER4Android (OpenSource) This is the solution I recommend to all of you. It is full open source. It doens't mess with you current system and it should work on any device/ROM. The zip file contains ViPER4Android app and driver, sepolicy-inject tool from setools-android so we can set permissions for ViPER4Android to work with enforced SELinux and Universal Init.d.
sepolicy-inject is open source equivalent to supolicy tool of Chainfire's SuperSU. I strongly recommend sepolicy-inject over supolicy, because every root closed source app should be threaten as security risk as the code can't be examined. I don't trust it esepcially when it is part of your android root manager
Universal init.d is just a application - it simulates init.d function. Imagine it like init.d on the user side... sadly enough you need to be pre-rooted to get it running.
ViPER4Android (Legacy) Maybe more of you will like this solution as it is more automated and it doesn't require any user action after installing the zip. This zip will do the same as the one above - it will install ViPER4Android removing all other DSP apps, but here come the difference - THIS SCRIPT WILL INSTALL CHAINFIRE'S SUPERSU in order to set SELinux policies for ViIPER4Android. Chainfire's SuperSU uses supolicy-tool - it let you manage SELinux policies on boot time. Chainfire's SuperSU will run everything in /system/su.d/ so again... you have init.d support - this is the real pain in the ass.
Before you download and flash, please read:
Both scripts WILL REMOVE other DSP apps from your device and will install ViPER4Android 2.4.0.1. I STRONGLY RECOMMEND TO USE SOLUTION 1 AS IT IS FULL OPEN SOURCE! Support open source software!!!
INSTRUCTIONS
ViPER4Android (OpenSource) - IN ORDER TO WORK, YOUR DEVICE MUST BE ROOTED! (Your device need to be rooted as Unversal Init.d needs root permissions in order to simulate init.d functionality)Download the .zip; Flash and reboot; Open Universal Init.d and grant root permission if asked; Reboot once more in case it don't work!
Sometimes Universal init.d is not fully initialized and needs some root permissions. That's why you need to reboot second time - then everything works. No further actions needed.
ViPER4Android (Legacy) - Just flash and reboot... but once more - SUPPORT OPEN SOURCE AND CHOOSE SOLUTION 1!!!!
For Samsung devices - if the scripts above doesn't work for you, check this post. Thx to Viper4713 for the instructions and voshchronos for solving the issue!!!
Hope to make someone happy
PS: If u want to make me happy with some beer, here you can donate a small amount. Thank you for your support.

Can i flash it on android one device running on 6.0.1

Yes. If you have any issues, please let me know!

rpangelov said:
Yes. If you have any issues, please let me know!
Click to expand...
Click to collapse
Hi, i tried to install the open source version on my kltedv running resurrection remix 6.0.1 however it is still not working. The init.d shows the kernel doesnt support init.d, and v4a drivers status is abnormal. It is also cause screen freeze and random restart. Any ideas? Your kind input would be very much appreciated. Thanks.

hiropandaz said:
Hi, i tried to install the open source version on my kltedv running resurrection remix 6.0.1 however it is still not working. The init.d shows the kernel doesnt support init.d, and v4a drivers status is abnormal. It is also cause screen freeze and random restart. Any ideas? Your kind input would be very much appreciated. Thanks.
Click to expand...
Click to collapse
I've just readed some info about the ROM you use. As it is based on Cyanogenmod I assume there is root manager builded in. Maybe it is disabled as CM root access is disabled by defaults? Look at: Settings -> Developer Options -> Root Access - turn in on by "Apps only".
Then just follow this steps:
1. Start Universal Init.d
2. Turn it off from the toggle button
3. Run test from the button on the bottom of Universal Init.d
4. If ask for root permissions, grant them!
5. Turn Universal Init.d ON from the toggle (step 2 you turned it off)
6. Restart your device and check once more!
If you still have any issues, please let me know!
Greetz,
Angelov

---------- Post added at 10:44 PM ---------- Previous post was at 10:42 PM ----------
rpangelov said:
I've just readed some info about the ROM you use. As it is based on Cyanogenmod I assume there is root manager builded in. Maybe it is disabled as CM root access is disabled by defaults? Look at: Settings -> Developer Options -> Root Access - turn in on by "Apps only".
Then just follow this steps:
1. Start Universal Init.d
2. Turn it off from the toggle button
3. Run test from the button on the bottom of Universal Init.d
4. If ask for root permissions, grant them!
5. Turn Universal Init.d ON from the toggle (step 2 you turned it off)
6. Restart your device and check once more!
If you still have any issues, please let me know!
Greetz,
Angelov
Click to expand...
Click to collapse
Hi Angelov, many thanks for your helpful instruction. I couldnt get it work with open source version. However it is working now after i install V4A legacy version. Many Thanks once again.

hiropandaz said:
---------- Post added at 10:44 PM ---------- Previous post was at 10:42 PM ----------
Hi Angelov, many thanks for your helpful instruction. I couldnt get it work with open source version. However it is working now after i install V4A legacy version. Many Thanks once again.
Click to expand...
Click to collapse
You are welcome! As I mentioned in the instructions - the legacy script will work always, but I don't like the implementation of it. I am working on new version of the opensource script, so there won't be any issues of that kind. When I am ready I will upload it here after updating my first post.
Greetz,
Angelov

This "universal" fix has been shared several months ago on XDA and a simple root shell is enough to use V4A in enforcing mode.
FYI init.d is deprecated now but it's not related to CM. Use su.d instead.

Primokorn said:
This "universal" fix has been shared several months ago on XDA and a simple root shell is enough to use V4A in enforcing mode.
FYI init.d is deprecated now but it's not related to CM. Use su.d instead.
Click to expand...
Click to collapse
Can you provide me a link to this universal fix you are talking about?
PS: init.d is deprecated in AOSP, i get that. Please read my first post once more, obviously isn't clear enough. Using su.d will result in using closed source tools to manage your Selinux policy's. As I mentioned it above - please support open source software. Every closed source root app has to be threaten as security risk. My opinion...

rpangelov said:
Can you provide me a link to this universal fix you are talking about?
PS: init.d is deprecated in AOSP, i get that. Please read my first post once more, obviously isn't clear enough. Using su.d will result in using closed source tools to manage your Selinux policy's. As I mentioned it above - please support open source software. Every closed source root app has to be threaten as security risk. My opinion...
Click to expand...
Click to collapse
Check the official V4A thread for instance. Others have opened threads in device specific forums or in the App & Games forum.
Have a look at this thread, it might interest you: http://forum.xda-developers.com/android/software-hacking/wip-selinux-capable-superuser-t3216394
FYI I do support open-source free/libre softwares, as much as I can.

Primokorn said:
Check the official V4A thread for instance. Others have opened threads in device specific forums or in the App & Games forum.
Have a look at this thread, it might interest you: http://forum.xda-developers.com/android/software-hacking/wip-selinux-capable-superuser-t3216394
FYI I do support open-source free/libre softwares, as much as I can.
Click to expand...
Click to collapse
I've seen phh's SuperUser but I didn't tried it - this is one of my tasks for this/next week.
As I've tried the most scripts, I didn't liked all the actions needed to be taken before running the .zip script in order to get viper working. I compile my own Cyanogenmod and I don't use gapps. Almost all apps I use on my device are opensource as I use F-droid as my only market (well... I need whatsapp, but I download it just from the website). Anyway... Cyanogenmod has it's own root manager builded in.... so why I need to install one more, which contains closed source tools in it? That is also the reason I don't advice people to use it... and I don't see that as solution to my problem. AOSP is opensource, but nowadays it is very dependent on some closed-source elements and I want to wipe them all out and use open source alternatives for. I hope you understand why using su.d isn't solution in this case. You just make your self and others dependent on one more closed source app, so I don't get where is the support for open source? I think that opensource script is good solution to the problem without using any closed source tool.
To make it easy as possible - just flash the .zip and you are ready to go, I included the latest version of Chainfire's SuperSu in the legacy script, so you don't need to install it before running the .zip. It looks easier to me....
Actually it is very stupid because the result of using the scripts (doesn't matter which one) you will end up with rooted device anyway (if it isnt already), but in order to get opensource script working your device has to be rooted before running the .zip, but if your device is already rooted, you just flash the zip and you are ready to go.

rpangelov said:
I've seen phh's SuperUser but I didn't tried it - this is one of my tasks for this/next week.
As I've tried the most scripts, I didn't liked all the actions needed to be taken before running the .zip script in order to get viper working. I compile my own Cyanogenmod and I don't use gapps. Almost all apps I use on my device are opensource as I use F-droid as my only market (well... I need whatsapp, but I download it just from the website). Anyway... Cyanogenmod has it's own root manager builded in.... so why I need to install one more, which contains closed source tools in it? That is also the reason I don't advice people to use it... and I don't see that as solution to my problem. AOSP is opensource, but nowadays it is very dependent on some closed-source elements and I want to wipe them all out and use open source alternatives for. I hope you understand why using su.d isn't solution in this case. You just make your self and others dependent on one more closed source app, so I don't get where is the support for open source? I think that opensource script is good solution to the problem without using any closed source tool.
To make it easy as possible - just flash the .zip and you are ready to go, I included the latest version of Chainfire's SuperSu in the legacy script, so you don't need to install it before running the .zip. It looks easier to me....
Actually it is very stupid because the result of using the scripts (doesn't matter which one) you will end up with rooted device anyway (if it isnt already), but in order to get opensource script working your device has to be rooted before running the .zip, but if your device is already rooted, you just flash the zip and you are ready to go.
Click to expand...
Click to collapse
I mentioned su.d because that's a solution with newer Android versions but I didn't say it's the best one. Using FLOSS softwares is a good move but you are using proprietary codes with CM.

Hi everyone, i flashed both of the zips with TWRP but i got an error code : 255. Any idea how to fix it ? Please help me. I'm using an x86 phone btw

trongtin64 said:
Hi everyone, i flashed both of the zips with TWRP but i got an error code : 255. Any idea how to fix it ? Please help me. I'm using an x86 phone btw
Click to expand...
Click to collapse
I think it's because your phone architecture... anyway - I will look at it today and I will let you know if I find a solution for your problem. Can you tell me which phone exactly you own ? Thank you.
Greetz, Angelov

rpangelov said:
I think it's because your phone architecture... anyway - I will look at it today and I will let you know if I find a solution for your problem. Can you tell me which phone exactly you own ? Thank you.
Greetz, Angelov
Click to expand...
Click to collapse
i'm using a zenfone 5 (A501CG) with resurrection remix mm 5.6.7

trongtin64 said:
i'm using a zenfone 5 (A501CG) with resurrection remix mm 5.6.7
Click to expand...
Click to collapse
You have a x86 architecture and this zip is probably for arm only. I guess you need the updater-binary for x86 and place it into the zip in META-INF/com/google/android.

Primokorn said:
You have a x86 architecture and this zip is probably for arm only. I guess you need the updater-binary for x86 and place it into the zip in META-INF/com/google/android.
Click to expand...
Click to collapse
Ok so i need an updater-binary for x86 right? Can i copy it from other zip to your zip? Will it work?

trongtin64 said:
Ok so i need an updater-binary for x86 right? Can i copy it from other zip to your zip? Will it work?
Click to expand...
Click to collapse
AFAIK you can use the one from a custom rom. You need a compatible custom recovery of course.

Primokorn said:
AFAIK you can use the one from a custom rom. You need a compatible custom recovery of course.
Click to expand...
Click to collapse
I'll use the one from my custom rom . Thank you for helping me :good:

It works great. thanks.
my bad for not following the instructions.

Related

Stupid SU: Galaxy S 4 stock+root helper

Hi guys!
As some of you must have noticed, latest Samsung GT-I9500 firmwares carry a kernel configuration supposed to prevent SETUID privilege elevation.
Stock unmodified firmware with root is my preferred setup but also a strong dependency for all my development, for me this change is a massive setback if not a dealbreaker.
While poking around I found in about an hour something weird that reveled being a vulnerability, so I created a little thing to make it useful for now.
README:
Stupid SU: Galaxy S4 root helper by François SIMOND aka @supercurio
Circumvent an extremely weak false-security "Anti Root" mechanism implemented
on latest Samsung Galaxy S4 devices (on both Exynos and Qualcomm versions)
Preventing proper root function on official firmware breaks all my Voodoo apps
requiring stock+root and is a move that's hostile to both users and developers.
Samsung security might be embarassed by this proof of concept, as it defeats
their mechanism in a single line... not even with complex ARM assembler
but *one* line of shell script.
However, the goal here is to show Superuser solutions developers how to
deal with those devices for now, and provide a working solution to people who
bought a Galaxy S4 expecting to root it cleanly and easily but cannot.
This proof of concept is slightly slowing down Superuser calls, but its
"plain text" implementation has the merit of showing how stupid this exploit is.
SELinux configuration stays unmodified and active.
Features:
- Detect and supports both SuperSU and Koush's Superuser
- Installs Super SU binary by default
Make sure you have one of those Superuser apps installed:
- https://play.google.com/store/apps/details?id=com.koushikdutta.superuser
- https://play.google.com/store/apps/details?id=eu.chainfire.supersu
Root feature doesn't rely on a "StupidSU kernel" which is only an installer.
Feel free to flash back Samsung's original boot.img from their official firmware
after booting at least once.
Important Note:
This "exploit" is so lame that it will be fixed in no time, making updated S4
a pain to root again.
I wish Samsung will reconsider their "Anti Root" approach, which is damageable
in every regard and defective by design as demonstrated here.
Also, I'm simply not interested developing for and promoting devices from
manufacturers hostile to developers: It's just a waste of valuable time.
Click to expand...
Click to collapse
INSTALL
1/ copy rooting/ directory in your initramfs
Make sure "root.sh" file is has an executable permission (chmod 744 recommended)
2/ Add those lines at init.universal5410.rc end:
# Stupid SU
service rooting /stupidsu/root.sh
class main
user root
group root
oneshot
3/ Assemble your initramfs with the associated Samsung official kernel binary
of choice in a regular boot image
4/ flash as boot.img
5/ At each boot, Superuser app are detected automatically and su binary adjusted
accordingly.
Click to expand...
Click to collapse
Source code
On GitHub
License
Kernels downloads, only for demo purposes of the concept, you can flash back original Samsung boot.img once rooted
GT-I9500 Stock + root StupidSU v4 UBUAMDE
GT-I9500 Stock + root StupidSU v4 XXUAMDK
GT-I9500 Stock + root StupidSU v4 XXUAME1
What's next
Owners of Qualcomm Galaxy S 4 devices experiencing the same dificulties with Samsung the anti root strategy might want to try this method, please let me know if you're ready for some experimentations.
Supercurio pleas add thraed t General section i think ther well bee lots of testers for i9505.thx for suport
Sent from my LG-P500 using xda app-developers app
Going to try this on latest LE1 stock kernel now .....thread is in correct section
edit: did not work on LE1 kernel. I will try once again. DId any one tried the MDK kernel..I am having again the problem with SU binaries installation..
Edit: Thanks bro. working on ME1 kernel now. Did mistake while doing tar. Appreciate it! Root is working fine but cant update the binaries of Supersu, still the root works fine.
Here comes the master welcome to SGS4 development forum mate.. (rahulzeven from twitter here )
So the BEST thing's just happened?!:laugh::good:
i repacked the kernel of Samsung-Updates.com-KERNEL-GT-I9500-XSE-I9500XXUAME1-1367637350 using supercurio method. Root works fine. All we need to is install it from ODIN and dont update the binaries of supersu.
Download Link
Edit: New file uploaded
grgsiocl said:
i repacked the kernel of Samsung-Updates.com-KERNEL-GT-I9500-XSE-I9500XXUAME1-1367637350 using supercurio method. Root works fine. All we need to is install it from ODIN and dont update the binaries of supersu.
Download Link
Click to expand...
Click to collapse
Thanks fo much! Will Titanium Backup work on this kernel?
Hope chainfire will start working on mobileOdin soon. So much easier to flash than.
... tapat*lked
GSeeker said:
Thanks fo much! Will Titanium Backup work on this kernel?
Click to expand...
Click to collapse
wrong file uploaded. Please download the same in 5 minutes. Uploading is on and the kernel date should be MAY 04
---------- Post added at 12:33 PM ---------- Previous post was at 12:28 PM ----------
GSeeker said:
Thanks fo much! Will Titanium Backup work on this kernel?
Click to expand...
Click to collapse
it should work as i dont use titanium backup and instead i use gobackup pro and it works fine anyway
MDK from OP working good, thanks
grgsiocl said:
i repacked the kernel of Samsung-Updates.com-KERNEL-GT-I9500-XSE-I9500XXUAME1-1367637350 using supercurio method. Root works fine. All we need to is install it from ODIN and dont update the binaries of supersu.
Download Link
Edit: New file uploaded
Click to expand...
Click to collapse
I'm trying to repack the kernel of korean gs4,
but I am a noob in kernel devs.
I can edit ramdisc, but fist trying in initramfs, zImage.
Is rooting directory means both root.sh and files(folder)?
and paste them on first class route?
hope you give some advices.. thanks
aslak89 said:
I'm trying to repack the kernel of korean gs4,
but I am a noob in kernel devs.
I can edit ramdisc, but fist trying in initramfs, zImage.
Is rooting directory means both root.sh and files(folder)?
and paste them on first class route?
hope you give some advices.. thanks
Click to expand...
Click to collapse
when you unpack the kernel you will have two folders one is ramdisk and other one is split_img (zimage). You need to copy the folder stupidsu folder in ramdisk and modify the init.universal5410.rc as per OP stated and repack the image
grgsiocl said:
when you unpack the kernel you will have two folders one is ramdisk and other one is split_img (zimage). You need to copy the folder stupidsu folder in ramdisk and modify the init.universal5410.rc as per OP stated and repack the image
Click to expand...
Click to collapse
then, is not necessary to recompile zImage?
ok I m going to try it right now, thank you grgsiocl
muhamet said:
Supercurio pleas add thraed t General section i think ther well bee lots of testers for i9505.thx for suport
Click to expand...
Click to collapse
Yes in fact I was hesitating, but as soon as someone is ready to assist me to try on a Qualcomm device (I9505 or T-Mobile Galaxy S4) I'll make a thread here too.
grgsiocl said:
Going to try this on latest LE1 stock kernel now .....thread is in correct section
edit: did not work on LE1 kernel. I will try once again. DId any one tried the MDK kernel..I am having again the problem with SU binaries installation..
Edit: Thanks bro. working on ME1 kernel now. Did mistake while doing tar. Appreciate it! Root is working fine but cant update the binaries of Supersu, still the root works fine.
Click to expand...
Click to collapse
Great then
aslak89 said:
then, is not necessary to recompile zImage?
ok I m going to try it right now, thank you grgsiocl
Click to expand...
Click to collapse
The point here is to have stock (unmodified Samsung binary) kernel running, with associated modules and no other modification.
Which gives you several usage options:
keep the StupidSU stock+root kernel (same kernel binary, same kernel modules, only very slightly initramfs scripts) that will auto-root depending on which Superuser APK you installed
you can flash back the official kernel and still enjoy root the same.
supercurio said:
The point here is to have stock (unmodified Samsung binary) kernel running, with associated modules and no other modification.
Which gives you several usage options:
keep the StupidSU stock+root kernel (same kernel binary, same kernel modules, only very slightly initramfs scripts) that will auto-root depending on which Superuser APK you installed
you can flash back the official kernel and still enjoy root the same.
Click to expand...
Click to collapse
Thank you for awsering
then I repacked my kernel but still not work.
copyed stupidsu and edited init.universal5410.rc in ramdisk and repacked boot.img.
I guess permission is the thing,
attach my shots
hope you loot at once.
Sent from my SHV-E300S using XDA Premium HD app
walda said:
Hope chainfire will start working on mobileOdin soon. So much easier to flash than.
... tapat*lked
Click to expand...
Click to collapse
He will after he will come back from his vacation.
I'll look into a fixed CF-Auto-Root for the I9505 as soon as I'm back on Sunday. I imagine that will be tested by Sunday evening, with a I9500 test version available sometime Monday. If all is well
In StupidSU environment and for this initial release Koush's Superuser app would
be preffered as SuperSU main UI refuses to launch because it cannot detect its
original su binary. Aside from that both work as expected.
Click to expand...
Click to collapse
This is because you're not installing the backup su binary. The UI app detects this is missing and triggers an update. Bug in StupidSU
aslak89 said:
Thank you for awsering
then I repacked my kernel but still not work.
copyed stupidsu and edited init.universal5410.rc in ramdisk and repacked boot.img.
I guess permission is the thing,
attach my shots
hope you loot at once.p
Click to expand...
Click to collapse
Alright I'm adding some logging in my scripts so you'll be able to see what's happening − or not
supercurio said:
Yes in fact I was hesitating, but as soon as someone is ready to assist me to try on a Qualcomm device (I9505 or T-Mobile Galaxy S4) I'll make a thread here too.
Click to expand...
Click to collapse
Brilliant news!!!! Thanks a LOT!!
Let's make it work!! It will be AWESOME if I could use latest STOCK Kernel in my ROM's......
I'll give you a hand

[PORT] LG QuickRemote for AOSP MM

Hello, i bring to you the QuickRemote app for your AOSP Marshmallow rom, CM13 or any rom based on CM13 (Resurrection Remix, Bliss, AICP), you may ask, "Why would i want QuickRemote on my AOSP rom if MM has native IR support and Peel or Anymote works without all this mambo jambo?
Well, even though what i just said is true, no remote controller app has the learning method enabled, even on a stock rom, only QuickRemote can enable the IR receiver to learn a controller that does not appear on the device/manufacturers list.
So, that's the reason we want QuickRemote to work on our AOSP rom.
So, before anything, i would like to thank @hikarisei23 because in a comment of his post HERE i found the files for QuickRemote to work on MM wich leads to the second person i want to thank wich is @syndre who on said comment, posted the files that worked on MM, also @KronicSkillz who helped a lot to troubleshoot and also confirmed that the method i'm posting here works.
Well, this is it, after personally testing with: Resurrection Remix, AICP and Bliss, all of them MM amd CM13 based, all of them with the stock kernel and Lambda Kernel i'm confident enough to post it here, days of testing and troubleshooting and 3 different roms later.
So first, the mandatory disclaimer, im not responsible for any problem that may result from using my method and the files i'm providing you, either with your phone or your self-esteem, it's your responsibility to read, re-read and only do what you are comfortable with.
What you will need:​
1. - The phone, this only has been tested with Lg G2 and Lg G3, this may or may not work on another LG phone with IR, you can try, but at your own risk.
2. - The Rom, this only have been tested with AOSP roms either CM13 or CM13 based roms, again, you can try in another rom but at your own risk.
3. - Obviously a Custom Recovery (twrp, cwm, philz)
4. - The three zips im leaving at the end of the post, QRemote_AOSP_MM.zip Fix_Part1.zip and Fix_Part2.zip.
5. - Maybe necessary or not, depending on your rom, Universal init.d from Playstore HERE and Selinux Mode Changer from HERE.
6. - Root Access.
Ok, once you checked and have everything needed, we have to make a little prep on your Rom before starting to flash the zips.
Rom Preparation 100% Needed
You need to set Selinux to permissive, here is where you may or may not need Selinux Mode Changer, First go into "About Device" on your phone settings and in the bottom you will find an indicator for Selinux state, if its "Permissive" you are good to go, some Roms and Kernels have this set to Permissive by default, if it's Enforcing, search in your Rom or Kernel settings, some of them have an option to set it to Permissive, if your rom does not have any option to change it, you will need Selinux Mode Changer, you install it and set Selinux to permissive, after reboot you can check in About Device again to see if it succeded, if it does not work, try again and check the original post, most of the answers are there, i cant give support for this app, also, this app needs root rights, and preferably two reboots after setting Selinux to Permissive.
Next you need to have init.d support, again, some roms have it, but at least for the test that me and the other users did, even though you are pretty sure init.d is enabled it's better to just install Universal init.d from the Play Store and enable init.d manually after doing so, reboot the system at least two times and grant Root access.
Installation!
Now we are ready to start flashing, reboot into recovery and RECOMMENDED, do a Nandroid Backup just in case, but at the moment no boot loops or any other problems had raised from flashing this, but again, just in case. After that, flash the first file: QRemote_AOSP_MM.zip, reboot your system and let it settle for a bit, 1 minute at least.
Now is the part where almost everyone has problems, you have to check in your Sdcard root for a log file named Qremote.log, if the file is there, it means init.d is enabled and in the file it will say if Selinux is Ok, if you don't have the file, check back the first two prep steps and try again.
Now if everything is going ok, is time for the second file, Fix_Part1.zip, reboot and let the system settle again, you may have some force close errors from QuickRemote or QuicksetSDK, its ok, you can try and check if QuickRemote is working, in allmost every case it will not work just yet, but you may have some luck.
Now, is the time to flash the third file, Fix_Part2.zip, again, reboot and let the system settle, now, you should have a working QuickRemote app on you AOSP MM Rom.
This are the steps, if you need more information about what all of this is doing and why you need Selinux and init.d, also why you need to flash 3 files, you can read the troubleshooting section where i explain what i understand about it.
TROUBLESHOOTING
Well, if you are here, it means that this didn't work as planned, so lets make this like a FAQ so you just search your problem and get the answer for it.
P.- I can't see QuickRemote on my app drawer. A: be sure that QuickRemote.apk is not showing as "com.lge...." and has the default green Android icon on your app drawer, sometimes and for reasons unknown to me, this happens for the first day or so, it will automatically change to QuickRemote and it will have the correct icon at least 5 hours after you installed it, it can take more time. A2: Maybe the flashing proccess was not successful, re-flash the file, it will automatically delete previously flashed files and install a new copy of them.
P. - I get force close messages for QuickRemote or QuicksetSDK after completing the proccess. A: try to run QuickRemote after the system settled, most of the times is 1 minute, in some roms and for reasons unknown to me, this messages will appear at boot but after the system settled, you will be able to run QuickRemote without any problem.
P. - QuickRemote opens up but no manufacturers are showing and it also gets really slow. A: this problem shows when either QuicksetSDK is not correctly installed or Selinux is not set to permissive, the solution for the first problem is in my 2 part fix, the version of Selinux included in the first zip, works great with MM but for some reason it will not work out of the box, i dont know if it's missing some files but it may or may not even show under system apps list on your settings menu, what my 2 part fix does is that, deletes the version of QuicksetSDK that the first flash installs and installs a temporary copy of QuicksetSDK wich i believe, writes information needed for QuicksetSDK to work properly, but this newer temporary QuicksetSDK apk, will allmost never work on MM, you can try but allmost every time it will not work, it will constantly force close, so the second fix zip, will delete this temporary QuicksetSDK and the folder it creates in your Sdcard root and install the previous version of QuicksetSDK again, and now, if everything went well, it will work as it's supposed to, i really dont know why exactly, but it works.
A2: the first thing you will notice when you switch to MM is that allmost every app will ask for permission to your Sdcard or camera or microphone wich in LP was not doing, since 4.3 Google is taking extra steps to ensure that you and your information are better protected one of this steps is Selinux (Security Enhanced Linux) wich, for putting it in simple terms, is like a sandbox for your system, only some trust-signed apps can get out of that sandbox and copy files etc... Into your system, those not-so privileged apps cant output anything outside the sanbox and thats why you need to disable or "set to permissive" Selinux, so QuicksetSDK can make the changes necessary for QuickRemote to do its work, it's true that now your system is in a degree "more vulnerable" but if you are a user of this forum, the odds to install something that will damage your system or jeopardize your information are minimal, you need to be really silly to fall for those "your system has problems" or "your battery is gonna explode if you don't install this app" ads that appear on your phone on the daily basis, so, dont worry, but at the same time, just be carefull and have some common sense, if there is a way for this to work with Selinux set to Enforcing, i will update it in the same second.
P. - QuickRemote force closes whenever i try to open it. A: this is caused by either a bad zip flash, or problems with Selinux or init.d, follow the previous answer and the first installation steps again.
P. - I can see QuickRemote and QuicksetSDK on my apps list, no force closes but still no manufacturers. A: Be sure init.d is enabled, i had problems with Roms that had "native init.d support" and emulated init.d will not work, the only way i got no problems with this was with Universal init.d, install that even though you are "pretty sure" your rom supports init.d, the 10QuickRemote.sh script on your init.d tries to get your country to see if you will use the app in, either Korean or any other supported language, it will also give some permissions to a file and it will check if Selinux is Permissive and finally, it will log this to a file called Qremote.log on the root of your Sd, if you have problems and you cant see the file, the problem is 99% most of the time, init.d.
P.- I don't want to flash three files, isn't there a simpler way? A: Unfortunately no, at this moment and after A LOT of testing etc... This is the only effective way i found.
P. - I'm afraid to set Selinux to permissive and leave the door open for all kind of bad ju ju and stuff to invade my sacred Android system, what can i do? A: Skip this hole thing, at the moment, the only way to make this work on AOSP MM is by doing the previous, just be careful, get some common sense and everything will be just fine.
Well, thats all i can think of right now, if you have suggestions, problems or a better way to make this work, please tell me in the comments or PM me, i'm glad to help as far as i can, i hope this helps, i leave you with the needed files and proof that it works.
QRemote_AOSP_MM.zip - MEGA - DRIVE
nice you started a new thread!
Ive been messing around with this a lot the last few days and I have been seeing the same fix you were talking about by swapping the quickset apks back and forth. Ive put together a zip for flashing that I think would make things as easy as possible for people to get the list to show up.
The script in this one sets the correct permissions for everything on flash. It will instal;l the L version of Quickset, which doesnt show the manufactures list. The M quickset apk also gets flashed but i just put it in /system, so its there and can be moved easily. When you boot the first time after flashing, the the ROM uses the L version. All you should have to do then is use a file manager app to move the QuicksetSDK.apk from /system to /system/app/QuicksertAPK/ replacing the one thats there already. Set perms to 644 if necessary. Now wipe tjhe app data for quickset app, forcing the new one to restart, you dont even have to reboot.
Last thing is you have to delete the Quickset Settings folder made by the lollipop quickset. The Marshmallow version will make a working folder of its own the first time you start Quick Remote.
I like your idea to make fixes in separate flashes, that is probably easier
link to my 01262016.AOSP-6.x.x-M_LGQuickRemote_v4.50.19.zip on MEGA
it's working great!
tnx!
i just ran a nightly update on mokee6 which is cm13 similar and i had to reflash the fixes to get it working again and strange thing is i noticed lib folder is gone from quickset sdk folder but it's working
another thing i noticed is quickset sdk is not in my apps list so don't use that as a way to test if it's working either see if manufactures show up after waiting a bit or try the learning feature to test app functionality
im using d852 with stock mokee6 kernel btw of anyone's wondering and yes i have all apps selected
The mult-zip installation also worked out here on BrokenOS. Remote is working fine.
Originally I used "init.d scripts support" app to handle the init.d file. Worked just fine, BTW. Reason for that is I wasn't sure what would happen if I used Universal Init.d with Broken as it has a directory full of tweaks.
On later examination I see that each script needs to be enabled before it will run (via Settings. True/false values are then looked up in a cfg file).
So I reckon I can safely use Universal Init.d.
LG G3 D851, BrokenOS MM ROM, Tapatalk 4.9.5
can i delete universal init.d after enabling it?
@syndre well yes, i think that flashing zip it's pretty straight forward, your new method is simpler but i think that just flashing and not having to deal with system folders and permissions is better for the less tech savvy, but a little more hideous because of the various reboots
smolchy said:
it's working great!
tnx!
Click to expand...
Click to collapse
You're welcome
@marcdw yes, the thing with Universal init.d is that it really enables init.d at boot, Resurrection Remix and AICP also have their individual init.d scripts and they run, i don't know why the QuickRemote script does not run, and Universal init.d does not mess with the existing scripts, so it's not harmful for the system and runs the script at boot and thats what we want
@KronicSkillz well, I'm glad it works, i used the QuicksetSDK thingy because it seemed like it was the only consistent thing, sometimes the Quickset Setup folder would not show, or it will show with the first QuicksetSDK but at least at first QuicksetSDK would not show in the apps list, after the first fix it would and it would show again, i will put it in the post, thanks for the feedback
Roi007leaf said:
can i delete universal init.d after enabling it?
Click to expand...
Click to collapse
I think you can i but i have not tested that, if you do, tell me what that did to update the post, i keep Universal init.d for other scripts that i have installed so i need it, if you only use it for QuickRemote i dont think you'll have a problem
ok checked.. safe to uninstall...
---------- Post added at 04:56 PM ---------- Previous post was at 04:19 PM ----------
btw.. i did all the steps and i can see manufactures but the IR itself doesnt work.. the devices wont react to it..any solution?
Roi007leaf said:
ok checked.. safe to uninstall...
---------- Post added at 04:56 PM ---------- Previous post was at 04:19 PM ----------
btw.. i did all the steps and i can see manufactures but the IR itself doesnt work.. the devices wont react to it..any solution?
Click to expand...
Click to collapse
What variant/rom you have?
Jc_master said:
What variant/rom you have?
Click to expand...
Click to collapse
LG d855 32GB 3GBRAM RR 5.6.2 android 6.0.1
Roi007leaf said:
LG d855 32GB 3GBRAM RR 5.6.2 android 6.0.1
Click to expand...
Click to collapse
Try force closing QuicksetSDK and delete its data, re-flash the fix part 2 and see in that helps, also i think that you need Universal init.d again, the Qremote.log updates at every boot and it wont update if Universal init.d is not installed
Thanks for creating a new thread, I've been busy for a while and won't be able to do much androidy stuff for now.
I have seen an interesting changelog in cyanogenmod that creates selinux policies for QuicksetSDK, but they haven't merged it yet. So fingers crossed that it'll be merged ASAP so things will be easier for us
link: http://review.cyanogenmod.org/#/c/127449/
hikarisei23 said:
Thanks for creating a new thread, I've been busy for a while and won't be able to do much androidy stuff for now.
I have seen an interesting changelog in cyanogenmod that creates selinux policies for QuicksetSDK, but they haven't merged it yet. So fingers crossed that it'll be merged ASAP so things will be easier for us
link: http://review.cyanogenmod.org/#/c/127449/
Click to expand...
Click to collapse
I hop they do, and thank you for your work also
No quicksetsdk in apps but I saw its library in systrm/app and the permissions are correct.. Any idea ?
Roi007leaf said:
No quicksetsdk in apps but I saw its library in systrm/app and the permissions are correct.. Any idea ?
Click to expand...
Click to collapse
Did you flash both fix zips? The need for those 2 fix zips is because the QuicksetSDK that comes in the Qremote_AOSP_MM.zip works with Marshmallow but by itself it will not create some required files in the system and it will most likely not show in the apps list, the QuicksetSDK that comes in fix part1 most of the times wont work on Marshmallow but it will create some necessary files on the system it will show in the apps list but it force closes, and the QuicksetSDK in the fix part 2 is the same as in Qremote_AOSP_MM.zip but this time it has everything needed to work properly and it now should show in apps list allmost every time, so you need to follow the steps again closely and i recommend that before you flash the fix part 2, you go into your apps list and force close QuicksetSDK and delete its data, also report if you get Qremote.log on the root of your Sd and what this shows if its there
Jc_master said:
@KronicSkillz well, I'm glad it works, i used the QuicksetSDK thingy because it seemed like it was the only consistent thing, sometimes the Quickset Setup folder would not show, or it will show with the first QuicksetSDK but at least at first QuicksetSDK would not show in the apps list, after the first fix it would and it would show again, i will put it in the post, thanks for the feedback
Click to expand...
Click to collapse
ya i was using quickset sdk check (apps list) to see if it was working too until i realized it's working without showing up this time

[PORT] LG QuickRemote for AOSP MM G2 G3 All Variants

Hello, i bring to you the QuickRemote app for your AOSP Marshmallow rom, CM13 or any rom based on CM13 (Resurrection Remix, Bliss, AICP), you may ask, "Why would i want QuickRemote on my AOSP rom if MM has native IR support and Peel or Anymote works without all this mambo jambo?
Well, even though what i just said is true, no remote controller app has the learning method enabled, even on a stock rom, only QuickRemote can enable the IR receiver to learn a controller that does not appear on the device/manufacturers list.
So, that's the reason we want QuickRemote to work on our AOSP rom.
So, before anything, i would like to thank @hikarisei23 because in a comment of his post HERE i found the files for QuickRemote to work on MM wich leads to the second person i want to thank wich is @syndre who on said comment, posted the files that worked on MM, also @KronicSkillz who helped a lot to troubleshoot and also confirmed that the method i'm posting here works.
Well, this is it, after personally testing with: Resurrection Remix, AICP and Bliss, all of them MM amd CM13 based, all of them with the stock kernel and Lambda Kernel i'm confident enough to post it here, days of testing and troubleshooting and 3 different roms later.
So first, the mandatory disclaimer, im not responsible for any problem that may result from using my method and the files i'm providing you, either with your phone or your self-esteem, it's your responsibility to read, re-read and only do what you are comfortable with.
What you will need:​
1. - The phone, this only has been tested with Lg G2 and Lg G3, this may or may not work on another LG phone with IR, you can try, but at your own risk.
2. - The Rom, this only have been tested with AOSP roms either CM13 or CM13 based roms, again, you can try in another rom but at your own risk.
3. - Obviously a Custom Recovery (twrp, cwm, philz)
4. - The three zips im leaving at the end of the post, QRemote_AOSP_MM.zip Fix_Part1.zip and Fix_Part2.zip.
5. - Maybe necessary or not, depending on your rom, Universal init.d from Playstore HERE and Selinux Mode Changer from HERE.
6. - Root Access.
Ok, once you checked and have everything needed, we have to make a little prep on your Rom before starting to flash the zips.
Rom Preparation 100% Needed
You need to set Selinux to permissive, here is where you may or may not need Selinux Mode Changer, First go into "About Device" on your phone settings and in the bottom you will find an indicator for Selinux state, if its "Permissive" you are good to go, some Roms and Kernels have this set to Permissive by default, if it's Enforcing, search in your Rom or Kernel settings, some of them have an option to set it to Permissive, if your rom does not have any option to change it, you will need Selinux Mode Changer, you install it and set Selinux to permissive, after reboot you can check in About Device again to see if it succeded, if it does not work, try again and check the original post, most of the answers are there, i cant give support for this app, also, this app needs root rights, and preferably two reboots after setting Selinux to Permissive.
Next you need to have init.d support, again, some roms have it, but at least for the test that me and the other users did, even though you are pretty sure init.d is enabled it's better to just install Universal init.d from the Play Store and enable init.d manually after doing so, reboot the system at least two times and grant Root access.
Installation!
Now we are ready to start flashing, reboot into recovery and RECOMMENDED, do a Nandroid Backup just in case, but at the moment no boot loops or any other problems had raised from flashing this, but again, just in case. After that, flash the first file: QRemote_AOSP_MM.zip, reboot your system and let it settle for a bit, 1 minute at least.
Now is the part where almost everyone has problems, you have to check in your Sdcard root for a log file named Qremote.log, if the file is there, it means init.d is enabled and in the file it will say if Selinux is Ok, if you don't have the file, check back the first two prep steps and try again.
Now if everything is going ok, is time for the second file, Fix_Part1.zip, reboot and let the system settle again, you may have some force close errors from QuickRemote or QuicksetSDK, its ok, you can try and check if QuickRemote is working, in allmost every case it will not work just yet, but you may have some luck.
Now, is the time to flash the third file, Fix_Part2.zip, again, reboot and let the system settle, now, you should have a working QuickRemote app on you AOSP MM Rom.
This are the steps, if you need more information about what all of this is doing and why you need Selinux and init.d, also why you need to flash 3 files, you can read the troubleshooting section where i explain what i understand about it.
TROUBLESHOOTING
Well, if you are here, it means that this didn't work as planned, so lets make this like a FAQ so you just search your problem and get the answer for it.
P.- I can't see QuickRemote on my app drawer. A: be sure that QuickRemote.apk is not showing as "com.lge...." and has the default green Android icon on your app drawer, sometimes and for reasons unknown to me, this happens for the first day or so, it will automatically change to QuickRemote and it will have the correct icon at least 5 hours after you installed it, it can take more time. A2: Maybe the flashing proccess was not successful, re-flash the file, it will automatically delete previously flashed files and install a new copy of them.
P. - I get force close messages for QuickRemote or QuicksetSDK after completing the proccess. A: try to run QuickRemote after the system settled, most of the times is 1 minute, in some roms and for reasons unknown to me, this messages will appear at boot but after the system settled, you will be able to run QuickRemote without any problem.
P. - QuickRemote opens up but no manufacturers are showing and it also gets really slow. A: this problem shows when either QuicksetSDK is not correctly installed or Selinux is not set to permissive, the solution for the first problem is in my 2 part fix, the version of Selinux included in the first zip, works great with MM but for some reason it will not work out of the box, i dont know if it's missing some files but it may or may not even show under system apps list on your settings menu, what my 2 part fix does is that, deletes the version of QuicksetSDK that the first flash installs and installs a temporary copy of QuicksetSDK wich i believe, writes information needed for QuicksetSDK to work properly, but this newer temporary QuicksetSDK apk, will allmost never work on MM, you can try but allmost every time it will not work, it will constantly force close, so the second fix zip, will delete this temporary QuicksetSDK and the folder it creates in your Sdcard root and install the previous version of QuicksetSDK again, and now, if everything went well, it will work as it's supposed to, i really dont know why exactly, but it works.
A2: the first thing you will notice when you switch to MM is that allmost every app will ask for permission to your Sdcard or camera or microphone wich in LP was not doing, since 4.3 Google is taking extra steps to ensure that you and your information are better protected one of this steps is Selinux (Security Enhanced Linux) wich, for putting it in simple terms, is like a sandbox for your system, only some trust-signed apps can get out of that sandbox and copy files etc... Into your system, those not-so privileged apps cant output anything outside the sanbox and thats why you need to disable or "set to permissive" Selinux, so QuicksetSDK can make the changes necessary for QuickRemote to do its work, it's true that now your system is in a degree "more vulnerable" but if you are a user of this forum, the odds to install something that will damage your system or jeopardize your information are minimal, you need to be really silly to fall for those "your system has problems" or "your battery is gonna explode if you don't install this app" ads that appear on your phone on the daily basis, so, dont worry, but at the same time, just be carefull and have some common sense, if there is a way for this to work with Selinux set to Enforcing, i will update it in the same second.
P. - QuickRemote force closes whenever i try to open it. A: this is caused by either a bad zip flash, or problems with Selinux or init.d, follow the previous answer and the first installation steps again.
P. - I can see QuickRemote and QuicksetSDK on my apps list, no force closes but still no manufacturers. A: Be sure init.d is enabled, i had problems with Roms that had "native init.d support" and emulated init.d will not work, the only way i got no problems with this was with Universal init.d, install that even though you are "pretty sure" your rom supports init.d, the 10QuickRemote.sh script on your init.d tries to get your country to see if you will use the app in, either Korean or any other supported language, it will also give some permissions to a file and it will check if Selinux is Permissive and finally, it will log this to a file called Qremote.log on the root of your Sd, if you have problems and you cant see the file, the problem is 99% most of the time, init.d.
P.- I don't want to flash three files, isn't there a simpler way? A: Unfortunately no, at this moment and after A LOT of testing etc... This is the only effective way i found.
P. - I'm afraid to set Selinux to permissive and leave the door open for all kind of bad ju ju and stuff to invade my sacred Android system, what can i do? A: Skip this hole thing, at the moment, the only way to make this work on AOSP MM is by doing the previous, just be careful, get some common sense and everything will be just fine.
Well, thats all i can think of right now, if you have suggestions, problems or a better way to make this work, please tell me in the comments or PM me, i'm glad to help as far as i can, i hope this helps, i leave you with the needed files and proof that it works.
QRemote_AOSP_MM.zip - MEGA - DRIVE
Great job
Works great on Ressurection Remix 5.6.2. Well done.
Only issues I have are the force close when trying to edit the remote name, and icon and name of the app not showing correctly (which can be fixed with any custon launcher).
Petrit Ziu said:
Works great on Ressurection Remix 5.6.2. Well done.
Only issues I have are the force close when trying to edit the remote name, and icon and name of the app not showing correctly (which can be fixed with any custon launcher).
Click to expand...
Click to collapse
I have not seen those force closes, i have to check, and as i said, the icon and name will eventually get right, for me was 5 hours, but it can be a hole day, and all by itself will set the icon and name correctly, if you have more problems, send me a logcat for this app, maybe we can find why it force closes
Logcat
Logcat
Added to index
[INDEX][LG G2] ROMs, Kernels, Guides and more
@Petrit Ziu after seeing the logcat i think the problem is StrictMode Policy, wich is a policy in android to keep unintentional writes to the system away from the main thread, so the animations, ui etc... Can keep a steady flow and your system runs smooth, because this app was never intended for AOSP and the app comes from Lollipop, i think that the right signatures are missing and Android sees the action of changing the name to a controller "invalid" so it closes the QuickRemote App, lets wait for newer versions of QuickRemote after Lg releases MM to more IR enabled devices to see what app works best, this is the best we can do with the resources we have
@Art Vanderlay Thanks
@Jc_master I think it's already perfect, just pointed an issue i found, but it's totally not a problem for me. Thanks
Sent from my LG-VS980 using XDA Free mobile app
@Petrit Ziu thanks, and dont worry, i'm no developer but i'm learning so much from this, it's good for me to see this problems and know why they happen, it's good to have feedback and even better this errors, if you didn't tell me, i would not know, my system does the same and i had no idea, i will update the post with this information
not work for me
I flashed it a lot of time and patched it and it will be not even work for me :/
I always get FC
D802 CM13 Nightlies
Potter92 said:
I flashed it a lot of time and patched it and it will be not even work for me :/
I always get FC
D802 CM13 Nightlies
Click to expand...
Click to collapse
Well, the only thing i can reccomend is that you use the latest TWRP for your device, you have to follow the steps exactly as i explained and use exactly the apps and files i explain, if that does not work i can just reccomend using another rom, Resurrection Remix for example, your logcat seems to show a problem with the apk itself, you cam try and decompress the files and manually copy and assign permissions to the files but i can't show you how, i lack time to do it
Works great, thank you!
Only issue I've had is the app crashes every time I try to rename a remote.
It works on the D801 (T-Mobile) Bliss rom 6.0.1
just confirming it.
Although I do get some force quit when editing the remotes name etc...
LG D802 CM13 nightlies - works!
Jc_master said:
@Petrit Ziu after seeing the logcat i think the problem is StrictMode Policy, wich is a policy in android to keep unintentional writes to the system away from the main thread, so the animations, ui etc... Can keep a steady flow and your system runs smooth, because this app was never intended for AOSP and the app comes from Lollipop, i think that the right signatures are missing and Android sees the action of changing the name to a controller "invalid" so it closes the QuickRemote App, lets wait for newer versions of QuickRemote after Lg releases MM to more IR enabled devices to see what app works best, this is the best we can do with the resources we have
Click to expand...
Click to collapse
Is there a fix?
MM is out for G3
Thanks
U can change name using SQLite Editor like this:
https://play.google.com/store/apps/details?id=dk.andsen.asqlitemanager
Database: /data/data/com.lge.qremote/databases/qremotesettings.db
Table: tblDevices
Petrit Ziu said:
Works great on Ressurection Remix 5.6.2. Well done.
Only issues I have are the force close when trying to edit the remote name, and icon and name of the app not showing correctly (which can be fixed with any custon launcher).
Click to expand...
Click to collapse
I can confirm this force close on rename issue as well
Eselter said:
U can change name using SQLite Editor like this:
https://play.google.com/store/apps/details?id=dk.andsen.asqlitemanager
Database: /data/data/com.lge.qremote/databases/qremotesettings.db
Table: tblDevices
Click to expand...
Click to collapse
That did it! Not necessarily a solution to the problem but a sufficient workaround for now
On CM13 working great but on exodus I can't manage it to work.
Any one have try it on exodus rom?
Eselter said:
On CM13 working great but on exodus I can't manage it to work.
Any one have try it on exodus rom?
Click to expand...
Click to collapse
Same here. Works on every rom I've tried but exodus. Something funky is happening with the quickset SDK as its present in priv-app or app (forget which one) but doesn't show up in installed apps. I have selinux set to permissive and init.d enabled.
Hello, how to uninstall this qremote? Because I have tried peel smart remote, and it's works great. And the remote (peel) so detail from LG qremote.

Install Xposed + Disable PIE

I repackaged the xposed zip to also install a patched system linker removing the pie requirement for binary execution. Just a cosmetic change cause modern binaries compiled for android meet the requirement anyways. I also can upload a tweaked kernel boot image if anyone is interested. You could also repackage the zip to install a tweaked build.prop or other patched binaries which could open some doorways for improvements to performance or device functionality. Install in TWRP recovery environment. Enjoy!
Does this zip contain only linker or something else ?
Can I use this in mediatek variant of e4 ?
EDIT: 4 views and only one thank . This is how XDA users being generous to someone's post right now . LOL Just pressed the download button and don't bother to press thanks button.
Francesco Franz said:
Does this zip contain only linker or something else ?
Can I use this in mediatek variant of e4 ?
EDIT: 4 views and only one thank . This is how XDA users being generous to someone's post right now . LOL Just pressed the download button and don't bother to press thanks button.
Click to expand...
Click to collapse
I didn't download it, but definitely thanked. Love seeing development for this phone. I installed regular Xposed and it worked ok. I was going to try it later when I further understood the benefits.
anthonykb said:
I repackaged the xposed zip to also install a patched system linker removing the pie requirement for binary execution. Just a cosmetic change cause modern binaries compiled for android meet the requirement anyways. I also can upload a tweaked kernel boot image if anyone is interested. You could also repackage the zip to install a tweaked build.prop or other patched binaries which could open some doorways for improvements to performance or device functionality. Install in TWRP recovery environment. Enjoy!
Click to expand...
Click to collapse
So what's the benefit to removing pie? Just curious because the regular Xposed 88.2 worked fine for me.
Update: ok I did some reading, and found that removing that requirement can prove useful in certain situations.
Because Google in the update from Android KitKat to Android Lollipop has introduced a new type of restriction that blocks the execution of non-PIE binary.
This block mainly forces the user to copy the binaries he wants to run in /system/bin, /system/xbin, or in /sbin.
This restriction stops executing some apps (also app no-root), this modified version removes that restriction.
Doesn't seem to be working on the xt1776 though the official zip doesn't work either.
wrong section mate,,,,move to guide section...

[ROM][UNOFFICIAL] LineageOS 14.1 for Lenovo Tab 3 8/TB3-850F

LineageOS 14.1 Port ROM
Lenovo Tab 3 8"/TB3-850F
•WARNING:
You are installing this custom Android ROM at your own discretion and risk. If you are unclear on anything, please stop and do some research before proceeding further. This is not a Q & A thread, so please post comments on topic with subject matter relating directly to this ROM. I will not be held responsible for devices which become bricked or damaged as a result of installing this ROM. You are encouraged to read and re-read the OP prior to installing this ROM on your device. Please visit this thread for now to make general inquiries about this ROM or about any other questions or issues you may have regarding the 850F. Either myself or XDA Senior Member @pndwal, who is very knowledgeable about this device and Android in general, will try to address your questions. https://forum.xda-developers.com/android/general/guide-lenovo-tab3-8-tb3-850f-t3559786 User input and feedback are essential in making improvements, fixing bugs, and in helping development for this device to continue to evolve.
Any skilled devs interested in contributing in any way to development for the 860F, please use the above thread to contact @pndwal and coordinate with him in that area.
I am not a developer, nor did I contribute to the porting of this LineageOS 14.1 custom ROM for the TB3-850F. I merely packaged up the files, added GApps Pico, made a few minor tweaks, and created a TWRP flashable zip installer for this ROM. Please do not request updates or make ETA type inquiries on this thread. Whether or not this ROM will be maintained is still up in the air. Please give any and all credit to the individuals I have listed below under Mentions & Credits.
LineageOS 14.1 is a free, aftermarket distribution of Android 7.1.2 Nougat, which is designed to increase performance and reliability over stock Android for your device.
LineageOS is based on the Android Open Source Project with extra contributions from many individuals within the Android community. Although this particular LineageOS build does have GApps Pico preinstalled, it can be used without any need to have any Google application installed. LineageOS does still include various hardware specific code, which is nonetheless slowly being open-sourced anyway.
SOURCES:
LineageOS Source Code: https://github.com/LineageOS
Kernel Source Code: https://support.lenovo.com/us/en/downloads/ds112711
LineageOS Gerrit Code Review: https://review.lineageos.org/q/status:open
FEATURES & SPECS:
•LineageOS Version: 14.1
•Android Base Version: 7.1.2_r8 Nougat
•Build ID: N2G470
•SDK Version: 25
•Build Date: May 15, 2017
•Security Patch Level: May 5, 2017
•Kernel Version: 3.18.19 (mods by @wezroot2k)
•LineageOS API Level: Guava (7)
•GApps Pico Pre-installed
•Insecure Boot Image Support
•Force Encryption Disabled (Opt-Encrypt)
•AVB/dm-verity Disabled
•Fully Deodexed
•Fully Zip-aligned
•User Opt Root or Non-Root
•Status: Unofficial/Stable
WORKING:
•Booting
•WiFi
•Bluetooth
•Graphics/Video Playback
•Audio
•GPS/Location Services
•GApps
•Magisk Universal Systemless Interface
BUGS:
I am presently working on Settings UI to omit the mobile networks/telephony entries. These are present because this ROM was originally a smartphone port. Otherwise, please feel free to submit a proper bug report or, at a minimum, a clear description of the bug or instability, including screenshots if possible.
A bug has been reported for apps that require superuser permissions (Greenify, root file managers, etc), and I have determined that installing the latest Magisk systemless root will alleviate that bug.
Upon initial boot, during setup, you may experience an issue with Setup Wizard force closing. I have posted a quick workaround for this below under the Installation Instructions heading.
REQUIREMENTS:
You need an unlocked bootloader and TWRP custom recovery installed. If you need help with either of these topics, please visit this thread for guidance: https://forum.xda-developers.com/android/general/guide-lenovo-tab3-8-tb3-850f-t3559786
INSTALLATION INSTRUCTIONS:
1. Download the ROM zip from the below download link and save it to your device storage...
2. Boot your device into TWRP recovery mode...
3. Wipe Data, Cache & Dalvik/ART (my installer automatically formats the /system partition)...
4. Select Install, navigate to saved location of the ROM zip, select it and swipe the action bar to begin installation...
5. Reboot system (installation will take around three minutes).
*Because this ROM is fully deodexed, first boot can take several minutes to complete while the Dalvik/ART directories are being written for the first time. The second and subsequent boot times will be much faster. Also, on first boot, select your language then choose SKIP on the Insert SIM Card screen. You will then be prompted to set up your device as new or copy data from another device as part of setup. At this stage, if the Setup Wizard force closes, swipe down from the top of the screen to access Quick Settings and go ahead and connect to a WLAN/WiFi network. Now, go back to the previous screen and Setup Wizard should function normally and allow you to proceed with setup of your device. I am presently working on removing SIM/Mobile Network settings on this device, so hopefully this will be fixed soon, and a true WiFi-only tablet port will be yielded.
**As mentioned supra, this ROM is packaged with GApps Pico, which provides the bare bones minimum for Google Play functionality. If you want a GApps package other than the one preinstalled, visit https://opengapps.org/, choose ARM64, Android 7.1, and select your preferred package. Simply install the GApps package after Step 4 above. If you want root, visit the official Magisk release & announcement thread here https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445, and download the latest Magisk Manager apk. Install the apk, go to Developer Options and enable Apps & ADB in the root options menu. Open Magisk Manager, select Install, pick the direct install option, and systemless root will be installed via patched boot image. Reboot and systemless root should be properly installed & stable. Be sure and hit the Thanks button on @topjohnwu's thread if you use Magisk.
MENTIONS & CREDITS:
This port was made possible by a number of individuals both here at XDA and abroad:
- Credit goes to 4PDA (Russian Development site) member chipa76 for the original TB3-850M port, and to 4PDA member al_rus for his contributions to, and for posting that port.
- Credit and thanks for the breakthrough moment for TB3-850F users must go to XDA member @wezroot2k who, after others tried for many months, was finally able to stabilise this ROM for our device by recompiling the ported boot image with TB3-850F stock kernel. Also, he has worked on tweaks to streamline the ROM for TB3-850F.
- TWRP flashable ROM package as well as some tweaks to streamline the ROM for TB3-850F have been made by the OP, @AeonFlux1603, who will continue to work on a few further improvements, insomuch as spare time will allow
- Thanks to XDA Senior Member @pndwal for his dedication to this device and for passing on suggestions from the 4PDA Devs regarding the adopted method of stabilising ROM for TB3-850F.
- Last but not least, thanks and credit goes to the entire LineageOS Dev Team for making this custom aftermarket distribution of Android possible for low-grade, mid-grade & flagship devices alike.
DOWNLOAD LINK:
LineageOS 14.1 for TB3-850F: https://drive.google.com/file/d/1bbpwyvP_S4k1PJaLa6RN3dFDF8UYEcNj/view
@wezroot2k, I just wrote up a full thread for the ROM and hit the post button. It posted the first paragraph and that's it. Two hours of work and my XDA Labs app deleted everything.
AeonFlux1603 said:
•WARNING:
You are installing this custom Android ROM at your own discretion and risk. If you are unclear on anything, please stop and do some research before proceeding further. This is not a Q & A thread, so please post comments on topic with subject matter relating directly to this ROM. I will not be held responsible for devices which become bricked or damaged as a result of installing this ROM. You are encouraged to read and re-read the OP prior to installing this ROM on your device.
•LineageOS
Click to expand...
Click to collapse
I wonder why that is?
I think you should talk to PW
---------- Post added at 08:49 AM ---------- Previous post was at 08:46 AM ----------
AeonFlux1603 said:
@wezroot2k, I just wrote up a full thread for the ROM and hit the post button. It posted the first paragraph and that's it. Two hours of work and my XDA Labs app deleted everything.
Click to expand...
Click to collapse
Y would the app do that?
Maybe you would have to create the thread from a PC.
wezroot2k said:
I wonder why that is?
I think you should talk to PW
Click to expand...
Click to collapse
Oh. Did I do something wrong?
wezroot2k said:
I wonder why that is?
I think you should talk to PW
---------- Post added at 08:49 AM ---------- Previous post was at 08:46 AM ----------
Y would the app do that?
Maybe you would have to create the thread from a PC.
Click to expand...
Click to collapse
I'll redo the work in the morning. That's got me as aggravated as you can get. I posted full sources, credits, instructions, specs, etc. All got erased.
AeonFlux1603 said:
Oh. Did I do something wrong?
Click to expand...
Click to collapse
No man,just saying PW might know why the app would just post part of the thread and not the full thing.
---------- Post added at 09:08 AM ---------- Previous post was at 09:07 AM ----------
AeonFlux1603 said:
I'll redo the work in the morning. That's got me as aggravated as you can get. I posted full sources, credits, instructions, specs, etc. All got erased.
Click to expand...
Click to collapse
Sorry to hear about that man.
App could've timed out. Similar to chrome. I copy/select all before confirming just incase (with pretty much every hefty message I write)
Hemphiz said:
App could've timed out. Similar to chrome. I copy/select all before confirming just incase (with pretty much every hefty message I write)
Click to expand...
Click to collapse
Oh ok. Between that, copy/pasting and backspacing a lot, that's likely what happened. Working on reworking the thread now. Thanks for the insight. I'm editing in a little at a time to play it safe.
AeonFlux1603 said:
Oh ok. Between that, copy/pasting and backspacing a lot, that's likely what happened. Working on reworking the thread now. Thanks for the insight. I'm editing in a little at a time to play it safe.
Click to expand...
Click to collapse
Just read this new thread! Well done n many thanks.
As I explained in other thread (not sure if you understood properly - please read it carefully again to avoid heartache), XDA Labs does have a serious fault. Simply put, posts are shortened to a point where '*' symbol occurs, and because copying and pasting often swaps spaces (between words) for this symbol, the post gets truncated and your efforts are lost!
I said:
Frustrating to lose all that typing . Sorry to hear that.
Beware of accidently hitting 'backspace' after highlighting text!
***Also, please be aware (if you use it,) that XDA Labs app is flawed, and will often unexpectedly truncate your post when sending. This usually happens when you've copied and pasted info - you'll find '*' substituted for spaces in places, and the first one will be near the point the post is truncated. I always highlight and copy complete post before sending, and if I lose text I repost it from browser, which doesn't have these issues.
Click to expand...
Click to collapse
Sounds like @Hemphiz and others have all learned the hard way as I did, and take the same precautions.
Hope it helps in future, and bravo for your efforts and hard work for us! Regards, PW
:highfive: Hey AF just read the thread and I love and thanks for the kudos and well done.
I have installed your LOS 14.1 packages and must say it is stable very smooth and love your installer :highfive: I am using it right now and loving it
Also I did notice I minor thing and this for all user of this rom ,this is maybe not the ROM port fault but maybe the specific app bug or compatibility issue. I notice that the Greenify app does not do well with the default SU add-on of this ROM Greenify just does not load. Keeps crashing at getting su root access screen, but it does work with other root method so maybe something to look into.
Also I think you should edit the build.prop values for things like model number should be changed to 850F and not 850m and so fourth.
I have a build.prop file I can send you to look at.
Otherwise everything else is good
Excellent work AF
pndwal said:
Just read this new thread! Well done n many thanks.
As I explained in other thread (not sure if you understood properly - please read it carefully again to avoid heartache), XDA Labs does have a serious fault. Simply put, posts are shortened to a point where '*' symbol occurs, and because copying and pasting often swaps spaces (between words) for this symbol, the post gets truncated and your efforts are lost!
I said:
Sounds like @Hemphiz and others have all learned the hard way as I did, and take the same precautions.
Hope it helps in future, and bravo for your efforts and hard work for us! Regards, PW
Click to expand...
Click to collapse
Yeah. And I did take your advice, but instead of using my notebook, I used Labs again, except this time I posted every time a section was complete, fully copying all my text before hitting the post button. Thank you for the warnings and info. I will know in the future.
wezroot2k said:
:highfive: Hey AF just read the thread and I love and thanks for the kudos and well done.
I have installed your LOS 14.1 packages and must say it is stable very smooth and love your installer :highfive: I am using it right now and loving it
Also I did notice I minor thing and this for all user of this rom ,this is maybe not the ROM port fault but maybe the specific app bug or compatibility issue. I notice that the Greenify app does not do well with the default SU add-on of this ROM Greenify just does not load. Keeps crashing at getting su root access screen, but it does work with other root method so maybe something to look into.
Also I think you should edit the build.prop values for things like model number should be changed to 850F and not 850m and so fourth.
I have a build.prop file I can send you to look at.
Otherwise everything else is good
Excellent work AF
Click to expand...
Click to collapse
That's good to know on Greenify. Flashing a Magisk v18.1 systemless root installer zip via TWRP would likely fix the issue. I have noticed a similar problem using MiXplorer in root file manager mode. The problem like you said is likely the LOS 14.1 su_addon.
Glad you're loving it my friend. After working so hard to help make it possible, you are deserving indeed.
AeonFlux1603 said:
That's good to know on Greenify. Flashing a Magisk v18.1 systemless root installer zip via TWRP would likely fix the issue. I have noticed a similar problem using MiXplorer in root file manager mode. The problem like you said is likely the LOS 14.1 su_addon.
Glad you're loving it my friend. After working so hard to help make it possible, you are deserving indeed.
Click to expand...
Click to collapse
Not sure if you're using adoptive storage, or where MiXplorer (or Greenify) loads by default, but generally apps requiring root access lose functionality or won't load at all if installed on SD storage.
I use ES File explorer which installs to SD by default, but it must be moved to internal to enable its inbuilt root explorer, otherwise its root test fails and root explorer toggles off.
This just may be your problem too. - Pays to check SuperUser enabled apps in manager, and ensure each of these is on internal storage. PW.
---------- Post added at 09:49 AM ---------- Previous post was at 09:42 AM ----------
wezroot2k said:
Y would the app do that?
Maybe you would have to create the thread from a PC.
Click to expand...
Click to collapse
Yet the Labs app does this often . I've explained in my last post on page 1. PW
---------- Post added at 09:57 AM ---------- Previous post was at 09:49 AM ----------
wezroot2k said:
...I notice that the Greenify app does not do well with the default SU add-on of this ROM Greenify just does not load. Keeps crashing at getting su root access screen
Click to expand...
Click to collapse
My post to AF above re storage may help here, but could be SU used as you say. PW
pndwal said:
Not sure if you're using adoptive storage, or where MiXplorer (or Greenify) loads by default, but generally apps requiring root access lose functionality or won't load at all if installed on SD storage.
I use ES File explorer which installs to SD by default, but it must be moved to internal to enable its inbuilt root explorer, otherwise its root test fails and root explorer toggles off.
This just may be your problem too. - Pays to check SuperUser enabled apps in manager, and ensure each of these is on internal storage. PW.
---------- Post added at 09:49 AM ---------- Previous post was at 09:42 AM ----------
Yet the Labs app does this often . I've explained in my last post on page 1. PW
---------- Post added at 09:57 AM ---------- Previous post was at 09:49 AM ----------
My post to AF above re storage may help here, but could be SU used as you say. PW
Click to expand...
Click to collapse
I'm not running adoptive storage now. I had previously tried it to ensure operability. But, you actually just helped me troubleshoot a problem I was having on my LG G4 with root. It was due to adoptive storage. Haha. Man PW you know your Android for sure. Thanks.
So on our 850F I'm going to try Magisk or phh-superuser systemless root (or maybe SuperSU v2.82-SR5) to see if that fixes root access of the OS.
Also, I'll be posting the stock 6.0 firmware this evening sometime, with fastboot instructions. I was wrong about it being the most current build. It is actually one of the initial builds that shipped with the 850F in mid to late April, 2016. Hard to believe this device is nearly three years old now. So, once installed, the user will be prompted to install a series of OTA updates subsequent to initial boot and setup.
Hemphiz said:
App could've timed out. Similar to chrome. I copy/select all before confirming just incase (with pretty much every hefty message I write)
Click to expand...
Click to collapse
I've found even if it times out, or can't connect when sending, things are generally handled properly by Labs app, a message appears that 'send failed', and text is all still there allowing further attempts.
However, the space-substituted-for-*-symbol problem (when copying and pasting) will truncate the post and successful send in one operation. This means a large portion of text is often lost and irretrievable. (Also, the * symbol still shows as a space while editing, so one doesn't realise that the space has been substituted until its too late.)
Great advice to copy all before sending. PW
---------- Post added at 06:17 AM ---------- Previous post was at 05:22 AM ----------
@wezroot2k, @AeonFlux1603
TB3-850F users are privileged, blessed, ecstatic, proud, happy and very thankful to have two budding (though clearly possessed of valuable experience and practical knowledge) developers on board the Good Ship TB3-850F, and its been a long time coming!
Thank you both especially for Stable and Virtually Bug Free Port to LOS14.1 for TB3-850F, as well as for other valuable resources we are gaining - including this new thread for our brand new Lineage Operating System!
Your sincere expressions of thanks / praise for helpful posts are also much appreciated.
Just a small heads-up (and sorry to spell it out) - Please don't neglect the 'thanks' (thumb up) button when a post is useful, or a sincere attempt to help is made. This is kind of the expected / default expression of thanks around here, and is possibly the most sincere form of flattery as it also elevates a members XDA profile. It's a simple and immediate way to say 'thanks', and often makes further comment unnecessary. (Incidentally, thanked posts are indexed, and are often perused for helpful information.)
Many thanks, and loving your work! PW :good::good::good::good::good:
It looks like I have the Settings UI ironed out, with all mobile networks/SIM options removed in the Settings menu. I'm going to to repackage the Settings apk, implement it back into the /system directory and see if it works. If so I will update the OP with a new build.
Also, Magisk systemless root appears to be a fully stable root protocol on this LOS build. . Oddly, after flashing the Magisk v18.1 systemless root installer zip with TWRP, the Magisk Manager app doesn't appear upon reboot. But, once you manually install Magisk Manager v7.0.0 (185), root shows as properly installed and up to date. Thus far, I have noticed no instabilities or bugs with Magisk.
So, the recommended method of installing Magisk systemless root on this ROM is to first install the latest Magisk Manager v7.0.0 (185) apk, select Install from the app, and choose the direct install option. Reboot and Magisk v18.1 systemless root should be properly installed and stable. Go here to visit the official Magisk release and announcement thread https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445 where you can download the latest Magisk Manager apk and systemless root installer zip. Be sure and thank @topjohnwu if you use Magisk.
Update on Settings UI. After repackaging the Settings apk and framework-res.apk, I am experiencing force closes every time Settings is opened. It is probably something as simple as an encoding issue or an error during repacking but I'll keep progress posted.
Update on the Settings UI. I now realize that my issues were due to my failure to properly encode my edits of the relevant .XML files with UTF-8 encoding prior to repackaging. As I may have mentioned previously, I am interested in bringing this port up to date with the latest upstream sources. So my next build release will hopefully include current LOS sources and have the Settings UI ironed out. While progress is not nearly as quick as I'd like, I am working on it.
I don't know about you guys as far as audio preferences, but I was really partial to the stock Dolby Atmos app that ships preinstalled on this device. I done a little testing to find a comparable audio setup. There is a Magisk Module titled Collective Dolby Atmos (ZTE Axon 7) v1.8 (2.2.1.7_r1), last updated on January 15, 2019, that works great on this ROM, with nearly exactly the same features and UI as the stock Lenovo version of Dolby Atmos. To install it, of course, you can simply download the Module and install it via Magisk Manager or via TWRP. There are several different Dolby ports available. This is the official support and release thread: https://forum.xda-developers.com/android/apps-games/soundmod-axon-7-dolby-atmos-t3412342
AeonFlux1603 said:
I don't know about you guys as far as audio preferences, but I was really partial to the stock Dolby Atmos app that ships preinstalled on this device. I done a little testing to find a comparable audio setup. There is a Magisk Module titled Collective Dolby Atmos (ZTE Axon 7) v1.8 (2.2.1.7_r1), last updated on January 15, 2019, that works great on this ROM, with nearly exactly the same features and UI as the stock Lenovo version of Dolby Atmos. To install it, of course, you can simply download the Module and install it via Magisk Manager or via TWRP. There are several different Dolby ports available. This is the official support and release thread: https://forum.xda-developers.com/android/apps-games/soundmod-axon-7-dolby-atmos-t3412342
Click to expand...
Click to collapse
Quite like ViPER4AndroidFX ( @ahrion, @Zackptg5) Magisk module. I think it auto-installs AML - Audio Modification Library - Magisk module (by @ahrion, @Zackptg5) also. (Used to anyway.)
AML currently supports all these mods too, so its a smörgåsbord:
- AM3D
- AudioWizard
- V4AFX
- V4AXhifi
- Dolby Atmos (ahrion's ports)
- Dolby Atmos Axon 7 Oreo (guitardedhero's port)
-Dolby Digital Plus
-Bang&Olufsen ICEPower (only tested ainur version)
- Arkamys (only tested ainur version)
- Dirac (only tested ainur version)
- Dirac Hexagon (only tested ainur version)
- JamesDSP
- MaxX Audio 3
- Audio Compatibility Patch (formerly universal deep_buffer remover)
- Ainur Sauron
- SquareSound
- DTS Wizard
- Sony Xperia Z2 Sound System
I see Dolby Atmos Axon 7 Oreo in this list too. Haven't tried it, but I know guitardedhero's a bit of a genius with these mods. PW.

Categories

Resources