[Kernel] suggestions - Xiaomi Redmi Note 4 Questions & Answers

Am in Resurrection Remix 8.1.0 with RR stock kernel but am facing issues with the battery life in the new update SOT around 6.5hrs ....but in the search of kernel for Mido am seeing the SOT of 10+hrs ........
So am about to flash custom kernel ...
Suggest me a best kernel which gives more battery life ....am not a game freak so no opinion on performance.....
And also if I update the ROM with custom kernel should I also flash the kernel file along with the update zip

Use franco kernel governor interactive and manually enter these values in CPU governor tunables.
go_hispeed_load: 95
above_hispeed_delay: 0
timer_rate: 60000
hispeed_freq: 652800
timer_slack: 480000
target_loads: 80 652800:57 1036800:67 1401600:75 1689600:9 1804800:85 1958400:87
min_sample_time: 0
ignore_hispeed_on_notif: 0
boost: 0
boostpulse_duration: 0
align_windows: 1
use_migration_notif: 1
use_sched_load: 0
max_freq_hysteresis: 0
Use kernel Adiutor and you have to reflash kernel after update.

mohsinreadymoney said:
Use franco kernel governor interactive and manually enter these values in CPU governor tunables.
go_hispeed_load: 95
above_hispeed_delay: 0
timer_rate: 60000
hispeed_freq: 652800
timer_slack: 480000
target_loads: 80 652800:57 1036800:67 1401600:75 1689600:9 1804800:85 1958400:87
min_sample_time: 0
ignore_hispeed_on_notif: 0
boost: 0
boostpulse_duration: 0
align_windows: 1
use_migration_notif: 1
use_sched_load: 0
max_freq_hysteresis: 0
Use kernel Adiutor and you have to reflash kernel after update.
Click to expand...
Click to collapse
.....
Well that's a lot of stuff to do
...well thanks for the information ...will try

jawahar.T said:
.....
Well that's a lot of stuff to do
...well thanks for the information ...will try
Click to expand...
Click to collapse
Well, it will hardly take 2 minutes try it and have a legendary battery life.

mohsinreadymoney said:
Use franco kernel governor interactive and manually enter these values in CPU governor tunables.
go_hispeed_load: 95
above_hispeed_delay: 0
timer_rate: 60000
hispeed_freq: 652800
timer_slack: 480000
target_loads: 80 652800:57 1036800:67 1401600:75 1689600:9 1804800:85 1958400:87
min_sample_time: 0
ignore_hispeed_on_notif: 0
boost: 0
boostpulse_duration: 0
align_windows: 1
use_migration_notif: 1
use_sched_load: 0
max_freq_hysteresis: 0
Use kernel Adiutor and you have to reflash kernel after update.
Click to expand...
Click to collapse
...
Franco kernel governor is an app that costs around 230₹ ...
...
So I can't change the values...
Or can I get the version pre installed on my phone while installing Franco kernel

jawahar.T said:
...
Franco kernel governor is an app that costs around 230₹ ...
...
So I can't change the values...
Or can I get the version pre installed on my phone while installing Franco kernel
Click to expand...
Click to collapse
Use kernel adiutor

lexx.ps said:
Use kernel adiutor
Click to expand...
Click to collapse
Only flash franco kernel and use kernel adiutor to change the values.

Related

[krn.modules] undervolt kernel module for X10 GB 2.3.3

Hello,
I've just compiled the undervolt module for current 2.3.3 kernels of X10 (2.6.29-00054-g5f01537).
Introduction
I've started from the source code provided by nobodyAtall here.
I also thank ThJap for getting me to work on this.
Settings
On my X10, the values can't vary too much from the default ones, otherwise the phone freezes / reboots. I was able to chopoff only 30 (instead of 50-100) that were possible apparently for 2.1 ROM.
Anyway, just because these values might be different from phone to phone, and to give each one the chance to configure it, the attached module is configurable:
Code:
insmod x10uv.ko args=970,970,1020,1120,1270
1) If you don't specify any arguments, the module will use the default voltages!
2) arguments are in the order of 245Mhz, ... for each frequency that X10 supports.
Once loaded with arguments, you will find this in dmesg:
Code:
<6>[ 509.594738] x10uv: module v002b-kernel-011 loaded. Built for target device
: X10
<6>[ 509.641605] x10uv: frequencies table: 245Mhz/1000 384Mhz/1000 576MHz/1050
768MHz/1150 998Mhz/1300.
<6>[ 509.641848] x10uv: patching done. enjoy better battery life.
The stuff above shows the default values (1000, 1000, 1050, 1150 and 1300).
As I said, I was only able to chop off only 30 out of all values, and have the phone still stable in tests.
If used with the insmod above, the output looks like:
Code:
<6>[ 597.082098] x10uv: module v002b-kernel-011 loaded. Built for target device
: X10
<6>[ 597.129015] x10uv: frequencies table: 245Mhz/970 384Mhz/970 576MHz/1020 76
8MHz/1120 998Mhz/1270.
<6>[ 597.129256] x10uv: patching done. enjoy better battery life.
Download
Use it at your own risk!
x10uv.zip
do you have to load with arguments on each reboot or only once?
ah nice... something like VDD control... but why only 30mV?
Wow, you are amazing, every day some new kernel module from you
Thank you
scoobysnacks said:
do you have to load with arguments on each reboot or only once?
Click to expand...
Click to collapse
You will have to do it everytime. Before setting them at boot, please play a while - otherwise you might end up with phone freezing each boot!
DooMLoRD said:
ah nice... something like VDD control... but why only 30mV?
Click to expand...
Click to collapse
Don't really know I was hoping for at least 100mV (if those are mV) as was mentioned in nobodyatall thread.
I can chop 100mV out of the highest frequency (998Mhz), but I have to leave the others untouched.
Another thing that I noticed, is that the lowest frequency (245MHz) is the most "unstable". If I chop more than 30mV, phone resets almost at each click.
But this might be my old battery (I got the phone second hand anyway). Others might chop more out of the voltages - so that's why I made it configurable - it might be helpful.
Later edit:
In fact, the X10Undervolt from nobodyAtall took off 100mV off each frequency under 998MHz, and left the 998Mhz at 1300 (according to the source code). I tried to cut 30mV out of all frequency, to have an "all inclusive" reduction. But is configurable, and anybody can try something that suites their needs
Thank you
Your compiled modules are a great addition to the phone. I think I almost use all of them
Right now I am testing these setting for stability on stock rom with Z's smartass govenor.
insmod /system/lib/modules/x10uv.ko args=900,900,950,1050,1250
Can anyone tell me how to unload the module, so I do not have to reboot anytime I want to change the voltage?
Byrana said:
Your compiled modules are a great addition to the phone. I think I almost use all of them
Right now I am testing these setting for stability on stock rom with Z's smartass govenor.
insmod /system/lib/modules/x10uv.ko args=900,900,950,1050,1250
Can anyone tell me how to unload the module, so I do not have to reboot anytime I want to change the voltage?
Click to expand...
Click to collapse
Thank you
To unload use:
Code:
rmmod /system/lib/modules/x10uv.ko
which also restores the frequencies to the default values.
hi, thanks for module
im on latest cm7 by z with hotfix
i added "insmod /system/lib/modules/x10uv.ko args=900,900,950,1050,1250" (before tested, thanks to Byrana )
in install-recovery.sh
so
in adb shell
su
dmesg gives me long info, but nothing usefull
but without su
$ lsmod
lsmod
ar6000 241048 0 - Live 0xbf058000
cifs 222624 0 - Live 0xbf01c000
nls_utf8 1804 0 - Live 0xbf016000
smartass_zmod 10656 1 - Live 0xbf00e000
x10uv 2180 0 - Live 0xbf008000
tun 11240 0 - Live 0xbf000000
means this "x10uv 2180 0 - Live 0xbf008000" is loaded now, with uv settings? (args=900,900,950,1050,1250)
ok sry for, only thing is want to know how to make it work permanent?
Zocker Tko said:
ok sry for, only thing is want to know how to make it work permanent?
Click to expand...
Click to collapse
To verify, try this:
Code:
dmesg | grep freq
If everything worked, the grep should give you something like (but with your values):
Code:
<6>[ 2723.381871] x10uv: frequencies table: 245Mhz/970 384Mhz/970 576MHz/1020 76
8MHz/1120 998Mhz/1270.
Please post back to confirm.
I just tried to remove the module with rmmod but it didn't work (error 2).
Also I rechecked with dmesg but having the same thing as Zocker. So I wouldn't recommend using my uv settings.
I am using set cpu and cpu spy maybe this is causing trouble because I found some entries from cpu spy after doing the dmesg.
I am checking now what the cause is.
C:\android-sdk\tools>adb shell
$ dmesg | grep freq
dmesg | grep freq
<6>[ 0.268207] Max ACPU freq from efuse data is 998400 KHz
<6>[ 0.454813] 5 scaling frequencies supported.
<6>[ 9.079225] x10uv: frequencies table: 245Mhz/900 384Mhz/900 576MHz/950 768
MHz/1050 998Mhz/1250.
<4>[ 77.747912] AR6000 connected event on freq 2447 with bssid 00:1a:4f:95:4a:
1a listenInterval=1000, beaconInterval = 100, beaconIeLen = 22 assocReqLen=61 a
ssocRespLen =48
<4>[ 1847.173317] AR6000 connected event on freq 2447 with bssid 00:1a:4f:95:4a:
1a listenInterval=1000, beaconInterval = 100, beaconIeLen = 22 assocReqLen=61 a
ssocRespLen =48
<4>[ 1913.065598] AR6000 connected event on freq 2447 with bssid 00:1a:4f:95:4a:
1a listenInterval=1000, beaconInterval = 100, beaconIeLen = 22 assocReqLen=61 a
ssocRespLen =48
<4>[ 1920.829923] AR6000 connected event on freq 2447 with bssid 00:1a:4f:95:4a:
1a listenInterval=1000, beaconInterval = 100, beaconIeLen = 22 assocReqLen=61 a
ssocRespLen =48
<4>[ 1928.594878] AR6000 connected event on freq 2447 with bssid 00:1a:4f:95:4a:
1a listenInterval=1000, beaconInterval = 100, beaconIeLen = 22 assocReqLen=61 a
ssocRespLen =48
thanks, seems it works
Just did a reboot and inserted again ... now it shows up again. I will keep an eye on it
working great with 50mv off of each!
good work
Byrana said:
I just tried to remove the module with rmmod but it didn't work (error 2).
Also I rechecked with dmesg but having the same thing as Zocker. So I wouldn't recommend using my uv settings.
I am using set cpu and cpu spy maybe this is causing trouble because I found some entries from cpu spy after doing the dmesg.
I am checking now what the cause is.
Click to expand...
Click to collapse
1) error 2 means file not found. So either the path is incorrect OR the file isn't there... if you do "rmmod x10uv.ko" , it expects to find the module in the current folder (so you need to cd /system/lib/modules first). If you use the full path, make sure the module is really there.
2) if the module is not inserted (no trace of the frequency table in the dmesg - please use the grep described above), then it means it was not inserted. Again, in this case, check that the module is located in /system/lib/modules, and that you can insmod it with the correct frequencies (and double check again with grep).
If everything works in command line, but not with install_recovery.sh, then there has to be something wrong with install_recovery.sh entries ...
SetCPU / CpuSPY will not interfere with this module.
Sorry, my bet. No clue what went wrong but it shows everything right after I do the grep freq. My earlier posted settings work very well on my phone.
Thanks mate ... I hope this is gonna save some juice
viulian said:
Hello,
I've just compiled the undervolt module for current 2.3.3 kernels of X10 (2.6.29-00054-g5f01537).
Introduction
I've started from the source code provided by nobodyAtall here.
I also thank ThJap for getting me to work on this.
Settings
On my X10, the values can't vary too much from the default ones, otherwise the phone freezes / reboots. I was able to chopoff only 30 (instead of 50-100) that were possible apparently for 2.1 ROM.
Anyway, just because these values might be different from phone to phone, and to give each one the chance to configure it, the attached module is configurable:
Code:
insmod x10uv.ko args=970,970,1020,1120,1270
1) If you don't specify any arguments, the module will use the default voltages!
2) arguments are in the order of 245Mhz, ... for each frequency that X10 supports.
Once loaded with arguments, you will find this in dmesg:
Code:
<6>[ 509.594738] x10uv: module v002b-kernel-011 loaded. Built for target device
: X10
<6>[ 509.641605] x10uv: frequencies table: 245Mhz/1000 384Mhz/1000 576MHz/1050
768MHz/1150 998Mhz/1300.
<6>[ 509.641848] x10uv: patching done. enjoy better battery life.
The stuff above shows the default values (1000, 1000, 1050, 1150 and 1300).
As I said, I was only able to chop off only 30 out of all values, and have the phone still stable in tests.
If used with the insmod above, the output looks like:
Code:
<6>[ 597.082098] x10uv: module v002b-kernel-011 loaded. Built for target device
: X10
<6>[ 597.129015] x10uv: frequencies table: 245Mhz/970 384Mhz/970 576MHz/1020 76
8MHz/1120 998Mhz/1270.
<6>[ 597.129256] x10uv: patching done. enjoy better battery life.
Download
Use it at your own risk!
x10uv.zip
Click to expand...
Click to collapse
AWESOME! May I add it into EWJET rom?
Yes it can be used in ROMs of course! Please link back here from your description, in case module gets updated, for people to be able to get the latest values and so on.
But feel free to embed it (but watch out for too aggressive settings )
maybe someone could make something for gscript...so everyone can easily test their on settings on the phone. My sweetspot for 998 Mhz is at 1200 mV. Just testing 875 mV on 245 Mhz...you just made my night It is so awesome that it is so easily configurable.
Gooooood
also I will try to build by myself again!
Very good!!!
On my phone
Tested
[email protected]
[email protected]
[email protected]
Byee
Sent from my X10i using Tapatalk

[KERNEL] Bricked-Kernel Mako

Welcome to the most customizable N4 kernel on xda
Bricked-Kernel Nexus 4 (mako)​
Features:
* Based upon Googles msm 3.4 source
* Various other fixes (look @ github)
* Compiled with gcc4.7.2 toolchain (linaro 09.12)
* -O3 optimized
* Snapdragon S4 & CortexA15 optimizations
* Sweep2wake
(Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/sweep2wake)
* DoubleTap2Wake
(Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/doubletap2wake)
* replaced qcoms hotplug binary with msm_mpdecision (IN-KERNEL, better battery life + performance)
* Extensive sysfs interface for mpdecision with all the tuneables you want (/sys/kernel/msm_mpdecision/)
* replaced the thermald binary with my IN-KERNEL solution. (/sys/kernel/msm_thermal/)
* export krait version to: /sys/kernel/debug/krait_variant
* modified ondemand governor
* Allow OC up to 1,83Ghz, faux123 (from a thermal point of view that is now SAFE)
* Allow UC down to 94,5Mhz
* Fixed min cpufreq resets
* Undervolting (faux123)
* Default clocks: 384min & 1512max
Zip features:
* ramdisk module insertion
* removes governor overrides from the ramdisk
* adds init.d support to your ramdisk (if not already supported)
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
What is sweep2wake?
How to install?
Flash through recovery. #done.​
How to uninstall?
Flash this through recovery:
Bricked_uninstaller
Bye.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://github.com/showp1984/bricked-mako/issues
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<
​
Donor List:​
> Hall of fame <
Thank you very much!​
Stock Nexus4 JELLYBEAN JWR boot.img (flash this if you come from another kernel)
Source:
​
What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_bck.
It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 100ms (=0.1sec)
shutdown_temp = if we reach this shut down the device!
Default: 80°C
If you want to see msm_thermal doing it's job:
Code:
adb shell
cat /proc/kmsg | grep 'thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
The default values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/msm_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs
918000
918000
702000
594000
How does sweep2wake work? Does it keep my phone awake?
Short answer: No.
Long answer:
Sweep2wake works with IRQs (Interrupts).
An interrupt can be best imagined as you doing something, like shopping at the local super market, when someone jumps in front of you and punches you into your family jewels. You will most certainly not just continue shopping.
In technical terms: An Interrupt interrupts the normal operation of a program and executes "special" code instead.
So if you touch your screen, an interrupt is send on which the touch driver reacts. That's it.
Since we have a capacitive touchscreen you also do not need to worry about any pressure onto the screen.
If you want to disable sweep2wake execute this command on your phone (adb shell or directly), you can also add it to an init.d script.
Code:
echo "0" > /sys/android_touch/sweep2wake
(echoing "1" activates it, which is the default setting)​Recommended governor?
Ondemand.​Why do I have no WLAN?
Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort.
The zip adds this to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14701 0 - Live 0x00000000
cifs 275399 0 - Live 0x00000000
wlan 2964650 0 - Live 0x00000000 (C)
Then something went wrong. (My fault)
You can test it by executing
Code:
adb shell
su
insmod /system/lib/modules/wlan.ko
Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show wlan).
If WLAN now works, I messed up.
Open a new issue in the issue tracker and it will be fixed asap.​Last release for 4.2.2?
STABLE: 20130622_233007_master-8fa9be1
BETA: 20130727_023549_exp-d64cabc​
If you look for an app to control your kernel: http://forum.xda-developers.com/showthread.php?p=47773391#post47773391
it is finally here!!!
i spy sweep2wake
So over clock is safe with this???
Sent from my Nexus 4 using XDA Premium HD app
Looking forward to trying this out! Looks awesome. Just out of curiosity is there any reason why this zip is so much larger than the zips for other kernels?
I can't wait to get bricked!
alewis2k12 said:
So over clock is safe with this???
Sent from my Nexus 4 using XDA Premium HD app
Click to expand...
Click to collapse
OP is your friend
Sent from my Nexus 4 using xda premium
---------- Post added at 08:38 PM ---------- Previous post was at 08:38 PM ----------
Locksmith81 said:
OP is your friend
Sent from my Nexus 4 using xda premium
Click to expand...
Click to collapse
It's a yes
Sent from my Nexus 4 using xda premium
Flashed it and will report soon
Do it need to wipe cache ??
jarjar124 said:
it is finally here!!!
i spy sweep2wake
Click to expand...
Click to collapse
Soon(tm)
I am currently making final adjustments to sweep2wake
Perhaps it will be a christmas present?
alewis2k12 said:
So over clock is safe with this???
Click to expand...
Click to collapse
From a thermal point of view: Yes.
But if you set a too high clock and your chip craps out because of too much voltage, that won't save it.
Overclocking is dangerous. It will never be safe, the thermal guard just makes it as safe as on any other phone.
cmikeh2 said:
Looking forward to trying this out! Looks awesome. Just out of curiosity is there any reason why this zip is so much larger than the zips for other kernels?
Click to expand...
Click to collapse
Yes, because of sooooo many optimizations I pumped into the kernel it was getting pretty big, too big for it to fit inside the boot.img with the ramdisk. SO I had to remove stuff from the kernel and put it into modules (wlan,cifs,tun) which are inserted into the kernel upon boot.
You won't feel the difference but it enabled me to include these optimizations.
(the prima wlan module is 22megs or so... freaky big thing.)
mpttrung said:
Flashed it and will report soon
Do it need to wipe cache ??
Click to expand...
Click to collapse
It wipes cache for you.
show-p1984 said:
Soon(tm)
It wipes cache for you.
Click to expand...
Click to collapse
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
mpttrung said:
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
Click to expand...
Click to collapse
I am too on stock, works for me though.
Gimme last_kmsg after you got it into recovery.
show-p1984 said:
I am too on stock, works for me though.
Gimme last_kmsg after you got it into recovery.
Click to expand...
Click to collapse
Red : what do u mean ??
mpttrung said:
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
Click to expand...
Click to collapse
Were you on Franco's kernel?
harpo1 said:
Were you on Franco's kernel?
Click to expand...
Click to collapse
Yeah ! U got stucked too ???
Anybody got a safe OC limit?? And thanks for the help....and coming from Franco as well
Sent from my Nexus 4 using XDA Premium HD app
alewis2k12 said:
Anybody got a safe OC limit?? And thanks for the help....and coming from Franco as well
Click to expand...
Click to collapse
1.7 should be safe, apq8064 is built with that max freq in mind.
Though to be clear: THERE IS NO SAFE OC FREQ. OC IS ALWAYS DANGEROUS!
To all those who have problems, I will provide a stock boot.img in the first post. (gimme a few seconds)
Stock Nexus4 boot.img (flash this if you come from another kernel)
mpttrung said:
Yeah ! U got stucked too ???
Click to expand...
Click to collapse
Yeah if you're kernel hopping make sure you reset back to stock. :good:
UZ7 said:
Yeah if you're kernel hopping make sure you reset back to stock. :good:
Click to expand...
Click to collapse
Flash to stock using fastboot ?
you could also reflash your rom

[Q] [kernel][googy max1.7.1][stweaks config]

hi guys, i have googy max kernel 1.7.1 and dual boot with first ROM:stock samsung firmware and secondROM: android 4.3 based PACMan ROM.
i'm searching a right config for y gti9300. I post my config and i'll be glad if someone explain me if it's right and stable.
- gentle_fair_sleepers: no flag
- idle mode: idle + lpa (as reccomended fos s3 by stweaks)
- sched mc: 0
- undervolting: 0 ( thanks to google i know that this value is irrelevant for our phone)
- max cpu lock: dual core mode (stweaks says:"when hotplugging" what it means?)
- governor: pgasusq (cause stweaks says that this governor is the only that support "cpu max lock")
- max-min freq: 1600mhz - 200mhz
i'm trying this config on both roms and it guarantees performance and battery life isn't so short. but i want to know if this is config is stable and if is safe for my hardware life!!! anyone knows others stable and balanced config? thanks

[KERNEL] Bricked-Kernel Flo/Deb

Welcome to the most customizable N7 2013 kernel on xda
Bricked-Kernel Nexus 7 2013 (flo/deb)​
Features:
* Based upon Googles msm 3.4 source
* Various other fixes (look @ github)
* Compiled with gcc4.7.2 toolchain (linaro 09.12)
* -O3 optimized
* Snapdragon S4 & CortexA15 optimizations
* vastly improved touchscreen drivers, which made it rock stable even before Google patched the firmware
* Sweep2wake
* DoubleTap2Wake
* replaced qcoms hotplug binary with msm_mpdecision (IN-KERNEL, better battery life + performance)
* Extensive sysfs interface for mpdecision with all the tuneables you want (/sys/kernel/msm_mpdecision/)
* replaced the thermald binary with my IN-KERNEL solution. (/sys/kernel/msm_thermal/)
* export krait version to: /sys/kernel/debug/krait_variant
* modified ondemand governor
* Allow OC up to 1,83Ghz
* Fixed min cpufreq resets
* Undervolting
* Sound Control (faux123)
* Default clocks: 384min & 1512max
Zip features:
*** ON-THE-FLY-RAMDISK EDITS!
*** THIS KERNEL USES YOUR RAMDISK, it will just modify it on the fly while flashing. These changes are not creating any incompatibilities with roms/other kernels. (Except those roms which intentionally go incompatible to stock/aosp on a driver level)
* removes min freq overrides from the ramdisk
* removes governor overrides from the ramdisk
* adds init.d support to your ramdisk (if not already supported)
* modifies stock ondemand settings
* add module insertion
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
What is sweep2wake?
Yes that is a mako, works the same way on the flo though ​
How to install?
Flash through recovery. #done.​
How to uninstall?
Flash this through recovery:
Bricked_uninstaller
Bye.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://github.com/showp1984/bricked-flo/issues
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<​
Donor List:​
> Hall of fame <
Thank you very much!​
Source:
​
What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_bck.
It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 100ms (=0.1sec)
shutdown_temp = if we reach this shut down the device!
Default: 80°C
If you want to see msm_thermal doing it's job:
Code:
adb shell
cat /proc/kmsg | grep 'thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
The default values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/msm_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs
918000
918000
702000
594000
How does sweep2wake work? Does it keep my phone awake?
Short answer: No.
Long answer:
Sweep2wake works with IRQs (Interrupts).
An interrupt can be best imagined as you doing something, like shopping at the local super market, when someone jumps in front of you and punches you into your family jewels. You will most certainly not just continue shopping.
In technical terms: An Interrupt interrupts the normal operation of a program and executes "special" code instead.
So if you touch your screen, an interrupt is send on which the touch driver reacts. That's it.
Since we have a capacitive touchscreen you also do not need to worry about any pressure onto the screen.
If you want to disable sweep2wake execute this command on your phone (adb shell or directly), you can also add it to an init.d script.
Code:
echo "0" > /sys/android_touch/sweep2wake
(echoing "1" activates it, which is the default setting)​Recommended governor?
Ondemand.​Why do I have no WLAN?
Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort.
The zip adds this to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14701 0 - Live 0x00000000
cifs 275399 0 - Live 0x00000000
wlan 2964650 0 - Live 0x00000000 (C)
Then something went wrong. (My fault)
You can test it by executing
Code:
adb shell
su
insmod /system/lib/modules/wlan.ko
Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show wlan).
If WLAN now works, I messed up.
Open a new issue in the issue tracker and it will be fixed asap.​
If you look for an app to control your kernel: http://forum.xda-developers.com/showthread.php?p=47773391#post47773391
Wohoooooo the best kernel on sensation thread now reaches nexus 7!!! That's awesome :highfive:
Sent from my Nexus 7 using xda app-developers app
Drunken_elk said:
Wohoooooo the best kernel on sensation thread now reaches nexus 7!!! That's awesome :highfive:
Click to expand...
Click to collapse
It's been on the flo since September the 19th, there just wasn't an xda thread for it
Oh damn . Anyway good choice to add the thread
Sent from my Nexus 7 using xda app-developers app
no fsynch trigger? or just not mentioned in features?
L-ViZ said:
no fsynch trigger? or just not mentioned in features?
Click to expand...
Click to collapse
Whoever disables fsync is a maniac. It is not in this kernel and will never get in. That's my totally honest opinion.
Using a no fsync, or 'dynamic' fsync kernel is the equivalent of jumping from a skyscraper with nothing but a napkin.
Best Nexus 5 kernel il now on N7 ! Awesome ! Thank's for this
Envoyé depuis mon Nexus 7 avec Tapatalk 4
Assume this is based on the new 4.4.1?
Sent from my Nexus 4 using Tapatalk
ogrillion said:
Assume this is based on the new 4.4.1?
Click to expand...
Click to collapse
Indeed.
Hey man, good to see more talented kernel devs on this device, yours was one of my favourites back on my HTC One X
Any chance of merging kexec patch for multirom support?
http://forum.xda-developers.com/showthread.php?t=2457079
Nexus 7 LTE
Stock rooted KOT49E
Faux Kernel
show-p1984 said:
Indeed.
Click to expand...
Click to collapse
Oh god ! Downloading now !
Envoyé depuis mon Nexus 7 avec Tapatalk 4
Can you include the MultiROM patch in the kernel?
Sent from Tapatalk, using Tapatalk
show-p1984 said:
Indeed.
Click to expand...
Click to collapse
made for 4.4.1 means only usable on 4.4.1 or works on 4.4 too?
Will this brick my phone
Does Slimport work with this? I have had other kernels flick out after 5 minutes or so.
Sent from my Omni 4.4 Galaxy S3. Proud Googy Beta tester.
Works with CM11?
L-ViZ said:
made for 4.4.1 means only usable on 4.4.1 or works on 4.4 too?
Click to expand...
Click to collapse
I can tell you that I am running it on Bruce's 4.4 odexed and is running brilliantly so far. Installed it early this morning and running great so far.
Quiksilver78 said:
Works with CM11?
Click to expand...
Click to collapse
It should.
Give it a try, the install process make a backup of your current Zimage, if something goes wrong, just flash the uninstaller and your'll get back to your unmodified rom.
lionelia said:
It should.
Give it a try, the install process make a backup of your current Zimage, if something goes wrong, just flash the uninstaller and your'll get back to your unmodified rom.
Click to expand...
Click to collapse
Turning on WiFi caused boot loops for me lol
I figured it wasn't supposed to work so I didn't report it so I flashed slimkat

[KERNEL][3.18.140+][EOL for now] SwanKernel for the LG V20

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
A custom kernel for (most) V20 variants​
SwanKernel is an android kernel based on the latest Lineage OS 18.1 sources for the LG MSM8996 phones, aiming to bring those features and updates and improve them with some extra tuning, fixing and external features tailored specifically for the LG V20's performance characteristics and feature set, while trying to maximize the battery life and responsiveness of the device at the same time.​
This kernel is based on Linux 3.18.140, and has become EOL with the last commit, as i don't think there's anything else that can be optimized for the V20 on this source anymore.
​Which phone variants/models does this kernel support?​
The kernel currently supports the following variants:
H910/H915
H918
H990
LS997
US996
VS995
Support for other special variants like the US996Santa might come at a later date if needed.
What does this kernel intend to achieve?​
The main goal here is to have a kernel that not only has extra features and improvements, but is also clean and concise, having only features that are truly needed from a kernel that will run alongside a Android 11-based ROM. One example of that is Kcal display control, a feature that is unnecessary here since most, if not all Android 11 ROMs have LiveDisplay for that exact same purpose and without the need to root. This helps the kernel have a smaller file size and lower processing overhead, as well as promote better maintainability.
This kernel does have a battery life bias, but will still scale up to maximum performance when needed. No Overclocking is done for now.
Does it have any features over stock?​
Yes, a lot. The kernel is divided into two variants, here are the features both variants have over stock:
AdrenoBoost for improved GPU performance.
GPU and CPU/Cache Undervolt for better power efficiency on load.
CPU governors tuned for better battery life and thermal stability without impacting performance all that much.
Almost no unnecessary debug flags on the kernel for better kernel performance.
Westwood TCP Congestion Algorithm set as default in order to have better network performance and consistency.
AutoSMP CPU Hotplug to shutdown the big cores when their stronger performance isn't needed, slightly improving battery life on light loads and idle.
Disabled CPU Boost when a finger is detected on screen, preventing unnecessary frequency boosts when no meaningful action is done other than tapping on screen and slightly scrolling around. We have Schedutil to keep it smooth anyways.
USB Fast Charge.
Multiple cherry-picks from different msm8996 sources with fixes and improvements to the kernel.
Configurable wakelock blocker (boeffla) for roms that have some "unneeded" wakelocks enabled by default and/or users that know which wakelocks can be blocked for better battery life.
Anxiety IO Scheduler enabled by default, offering a read bias and lower latency in IO operations.
Kernel updated to Linux 3.18.140 with some extra patches from Googlesource.
Wireguard support, improving VPN performance.
Cryptographic functions optimizations, slightly improving the phone's performance when calculating hashes and so on.
The Extreme variant has some extra features over the Stable one, those being:
Stronger Undervolts (i'm talking about borderline unstable undervolts here, so i really recommend that you flash the Stable one first).
CPU Voltage Control if you need to setup a custom undervolt to keep it more stable and have no need to compile the kernel from source just to change the values... and that's assuming your phone even boots with this variant of the kernel.
Disabled Battery BCL which eliminates the power throttling caused by the battery, just be careful when running demanding tasks while having almost no battery left.
Are there any bugs?​
Right now, there's the dreaded Infrared Blaster, and it... kinda works? The IR is able to send the very first command i give to my LG TV without any problems after every reboot, but refuses to send anything else after that first command. The IR Blaster's light still works all the time though despite having some big delays between on/off states.
Download & Installation​
The folders containing each kernel variant can be found here:
Stable Version
Extreme Version
To install the kernel, it's the standard procedure:
Download the kernel you want for your device
Place it into the phone
Boot into recovery, select it and then flash
Wipe Dalvik Cache (optional, you only need to wipe it if you face random Force Closes, but it is a good practice anyway)
Reboot.
Open any app that can check the device info and look for "kernel", where it will show "... 3.18.xxx-Swan" if it installed correctly. I personally use SmartPack for that, but it requires root.
Enjoy the experience!
Performance and Battery metrics​
Spoiler: outdated (done in v1.00), performance has improved since then:
And now to the kernel's real world performance. But before delving in, keep in mind that my refurbished H910 is apparently a Snapdragon 821 prototype, that's why you will see higher than normal performance and clock values on cpu matters even with the LITTLE cores underclocked to 1785MHz instead of 2188MHz, the snapdragon 820 ones should not have any underclock applied and will reach the max of 1593MHz on them. I also took the liberty of testing those on the Extreme variant as BCL often interferes with the performance results and the extra undervolt doesn't increase performance in any substantial way, 5-7% at most on Geekbench.
Battery life:
Screen SOT test (Youtube looping through a massive playlist of songs with some scrolling to change between them):
Not very impressive, until you consider the battery currently powering it:
CPU/GPU Performance:
CPU performance according to Geekbench 5.4.1 (there is some minor variance of about 15-21 points in multithread):
CPU sustained performance on CPU Throttling Test(running it for 15+ minutes barely changes the curve, as it stabilizes at around 80-82 Celsius, i suppose a Snap 820 will fare better here due to the lower clocks):
GPU general performance on GFXBench 5:
No copper shim replacement or thermal pad change was made, the phone's internal structure is still the same from when i bought it.
Storage Performance:
General IO performance in Androbench 5(Not very accurate, but welp, if anyone has a more in-depth one feel free to share):
And there we go, everything i could benchmark so far. This will not be the best kernel on every front so the stock kernel on Lineage 18.1, Lighthouse's kernel or mk2000 might suit you better depending on your needs.
Changelog​
Spoiler: Changes done in recent versions:
*********** Swankernel V1.09+ [Maintenance release] ***********​
CPU/Cache/GPU Voltages have basically reached the optimum point on both stable and extreme.
Some performance commits were cherry-picked from newer kernels for other devices
Dynamic FSync was disabled since it could cause data loss on some edge cases involving reboots.
Improved some string routines and memory access functions, about 4% or so improvement on geekbench.
*********** Swankernel V1.09 [Last 3.18 version, i think] ***********​
Minor performance and power-saving optimizations throughout the kernel
CPU M4M cache undervolting (not really a big difference, but nice to have anyway).
A few cherry-picked fixes for the 3.18 msm8996 kernel tree.
Crypto function optimizations and HW acceleration for CRC32 Enabled.
Not actually a kernel change but: Can now be flashed on android versions lower than 11.
*********** Swankernel V1.08 ***********​
Small performance optimizations related to the voltage curves, especially in the GPU.
PC USB Charging has been fixed and the phone can now be charged over it again.
*********** Swankernel V1.06 ***********​
Upstreamed kernel to 3.18.140 + some extra patches, with more coming later.​
Added Wireguard support for better VPN performance compared to IPSec.​
Smaller fixes to the kernel zip files, improving compatibility with some models.​
Minor performance optimizations, shouldn't be noticeable to the end user.​
Now stable enough (at least the Stable version is) to be used as a daily driver.​
*********** Swankernel V1.00 ***********​Initial release. Has the features from 1 to 12 on both versions, and from 1 to 3 on the Extreme version.​​
Closing notes​
With V1.09, the kernel can now be flashed on basically any android version and should work out-of-the-box, although i didn't test it on stock roms at all and there are no reports of it working there, so it might not work on them.
From what i could gather during the multiple Pre-Beta tests, the battery life improved considerably over the kernel shipped by default with Lighthouse V20 and even more when compared to Lineage's stock kernel.
If you have any suggestion or idea that can possibly improve the kernel, do not hesitate to share, i will try to implement it when my time allows it. If there are any problems that only happen on this kernel, submit a log and i'll try to look at it.
The kernel's source code can be found here.
And last but not least, a special thanks for those that helped me even if indirectly:
@xxseva44
@npjohnson
@askermk2000
@lybxlpsv
@flar2
@osm0sis
And many, many others
The ir is most likely consumer ir related so, we'll have to tweak it until it starts working
xxseva44 said:
The ir is most likely consumer ir related so, we'll have to tweak it until it starts working
Click to expand...
Click to collapse
I was discussing the same thing with @askermk2000 a while ago and that seems to be the case, as not even gamma kernel had a working IR on the branch he tested, and neither the IR files or the git log of it shows any relevant difference on the IR when compared to Lineage's sources. I will keep the disclaimer about it for now because it makes things clearer as there is some confusion about the IR being a kernel problem, so the less convoluted it is to the user for the time being, the better.
Edit: Also, if you need any logs about the infrared while testing it, i can help (i even have some older ones describing the behaviour). Just hit me up when needed since my device will be mostly used as a development phone for the time being.
AShiningRay said:
I was discussing the same thing with @askermk2000 a while ago and that seems to be the case, as not even gamma kernel had a working IR on the branch he tested, and neither the IR files or the git log of it shows any relevant difference on the IR when compared to Lineage's sources. I will keep the disclaimer about it for now because it makes things clearer as there is some confusion about the IR being a kernel problem, so the less convoluted it is to the user for the time being, the better.
Edit: Also, if you need any logs about the infrared while testing it, i can help (i even have some older ones describing the behaviour). Just hit me up when needed since my device will be mostly used as a development phone for the time being.
Click to expand...
Click to collapse
It's more likely an issue with the implementation of the ir drivers not playing well with consumerIR or vise versa. Atm ir only works on the older versions of gamma as they weren't upstreamed like los 18
Hello when I try to flash Swan-H918-Stable.zip on an h918 I get "Unsupported device. Aborting..."
Aethera said:
Hello when I try to flash Swan-H918-Stable.zip on an h918 I get "Unsupported device. Aborting..."
Click to expand...
Click to collapse
Huh... that's strange. I must have messed something up during the anykernel zipping procedure on that model. I'm almost pushing an update to the kernel, so i'll be back in a while with a fix for that.
Edit: Yeah, it was something in the script file, i forgot to change the H910 to H918 on that specific variant flashable. Sorry for that.
I just pushed the file with the fixed script for all the models i checked. If you could test that, i would appreciate it.
AShiningRay said:
Huh... that's strange. I must have messed something up during the anykernel zipping procedure on that model. I'm almost pushing an update to the kernel, so i'll be back in a while with a fix for that.
Edit: Yeah, it was something in the script file, i forgot to change the H910 to H918 on that specific variant flashable. Sorry for that.
I just pushed the file with the fixed script for all the models i checked. If you could test that, i would appreciate it.
Click to expand...
Click to collapse
Just successfully flashed the new Swan-H918-Stable.zip thank you!
Code:
$ uname -a
Linux localhost 3.18.113-Swan-g24ffa95cf1b3-dirty #1 SMP PREEMPT Wed Oct 20 00:18:37 -03 2021 aarch64
Aethera said:
Just successfully flashed the new Swan-H918-Stable.zip thank you!
Click to expand...
Click to collapse
No worries, glad to help.
Here is some output from 'logcat *:E' in case it is of interest:
10-31 16:19:38.753 5926 5926 E ActivityThread: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
10-31 16:19:40.586 905 937 E ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only
10-31 16:19:41.778 959 1031 E QC-time-services: Lib:time_genoff_operation: Connection failed !!
10-31 16:19:41.783 959 1031 E QC-time-services: Lib:time_genoff_operation: Connection failed !!
10-31 16:19:42.002 10005 10005 E receiver.modul: Not starting debugger since process cannot load the jdwp agent.
10-31 16:19:42.143 455 455 E lowmemorykiller: Error writing /proc/7941/oom_score_adj; errno=22
10-31 16:19:43.218 10025 10025 E hbox:interacto: Not starting debugger since process cannot load the jdwp agent.
10-31 16:19:44.391 455 455 E lowmemorykiller: Error writing /proc/9412/oom_score_adj; errno=22
10-31 16:19:44.658 1144 1217 E KernelCpuSpeedReader: Failed to read cpu-freq: /sys/devices/system/cpu/cpu2/cpufreq/stats/time_in_state: open failed: ENOENT (No such file or directory)
10-31 16:19:44.675 1144 1214 E libprocessgroup: Error encountered killing process cgroup uid 99005 pid 9572: Permission denied
10-31 16:19:46.683 1144 1550 E LightsService: Light requested not available on this device. 2
10-31 16:19:47.629 0 0 E variable_rate_pll_clk_enable_hwfsm: PLL pwrcl_pll didn't lock after enabling it!
10-31 16:19:51.008 1144 4213 E WifiService: Permission violation - getScanResults not allowed for uid=10086, packageName=com.google.android.gms, reason=java.lang.SecurityException: Location mode is disabled for the device
10-31 16:19:56.216 0 0 E vote : name[BATTCHG_SUSPEND], client[BATTCHG_UNKNOWN_BATTERY_EN_VOTER,0], enabled[0], val[0]
10-31 16:19:56.216 0 0 E SMBCHG : smbchg_config_chg_battery_type: BATTERY FULL NAME : LGE_BL44E1F_LGC_3200mAh
10-31 16:20:09.541 0 0 E : LGE charging scenario : state 0 -> 0(0-0), temp=292, volt=4404, fl_volt=4400 BTM=0, charger=1, cur_set=1000/0, chg_cur = -481
10-31 16:20:09.541 0 0 E [LGE-CC] lge_monitor_batt_temp_work: (work_queue)->(work_queue)
10-31 16:20:09.541 0 0 E vote : name[BATT_FCC], client[LGE_POWER_CLASS_FCC_VOTER,1], enabled[1], val[1000]
10-31 16:20:09.541 0 0 E vote : name[BATTCHG_SUSPEND], client[LGCC_EN_VOTER,1], enabled[0], val[0]
10-31 16:20:09.541 0 0 E vote : name[BATTCHG_SUSPEND], client[STORE_MODE_EN_VOTER,2], enabled[0], val[0]
10-31 16:20:09.541 0 0 E vote : name[USB_SUSPEND], client[STORE_MODE_USB_EN_VOTER,2], enabled[0], val[0]
10-31 16:20:29.221 0 0 E variable_rate_pll_clk_enable_hwfsm: PLL pwrcl_pll didn't lock after enabling it!
Here is some more:
10-31 16:21:38.622 10126 10148 E libEGL : Driver indicates EGL 1.5 support, but does not have a critical API
10-31 16:21:38.739 905 937 E ANDR-PERF-RESOURCEQS: Failed to reset optimization [2, 1]
10-31 16:21:38.740 905 937 E ANDR-PERF-RESOURCEQS: Failed to reset optimization [2, 1]
10-31 16:21:43.557 905 937 E ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only
10-31 16:21:43.558 905 937 E ANDR-PERF-RESOURCEQS: Failed to apply optimization [2, 2, 0]
10-31 16:22:09.540 0 0 E : LGE charging scenario : state 0 -> 0(0-0), temp=292, volt=4408, fl_volt=4400 BTM=0, charger=1, cur_set=1000/0, chg_cur = -358
10-31 16:22:09.541 0 0 E [LGE-CC] lge_monitor_batt_temp_work: (work_queue)->(work_queue)
10-31 16:22:22.518 0 0 E vote : name[BATTCHG_SUSPEND], client[BATTCHG_UNKNOWN_BATTERY_EN_VOTER,0], enabled[0], val[0]
10-31 16:22:22.518 0 0 E SMBCHG : smbchg_config_chg_battery_type: BATTERY FULL NAME : LGE_BL44E1F_LGC_3200mAh
10-31 16:22:37.783 0 0 E rmt_storage: INFO:rmt_storage_rw_iovec_cb: Write iovec request received for /boot/modem_fs1
10-31 16:22:37.783 0 0 E rmt_storage: INFO:rmt_storage_client_thread: Calling Write [offset=0, size=2097152]for /boot/modem_fs1!
10-31 16:22:37.814 0 0 E rmt_storage: INFO:rmt_storage_client_thread: Done Write (bytes = 2097152) for /boot/modem_fs1!
10-31 16:23:00.530 0 0 E variable_rate_pll_clk_enable_hwfsm: PLL pwrcl_pll didn't lock after enabling it!
10-31 16:23:09.540 0 0 E : LGE charging scenario : state 0 -> 0(0-0), temp=292, volt=4408, fl_volt=4400 BTM=0, charger=1, cur_set=1000/0, chg_cur = -324
10-31 16:23:09.540 0 0 E [LGE-CC] lge_monitor_batt_temp_work: (work_queue)->(work_queue)
Aethera said:
Here is some output from 'logcat *:E' in case it is of interest:
10-31 16:19:38.753 5926 5926 E ActivityThread: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
10-31 16:19:40.586 905 937 E ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only
10-31 16:19:41.778 959 1031 E QC-time-services: Lib:time_genoff_operation: Connection failed !!
10-31 16:19:41.783 959 1031 E QC-time-services: Lib:time_genoff_operation: Connection failed !!
10-31 16:19:42.002 10005 10005 E receiver.modul: Not starting debugger since process cannot load the jdwp agent.
10-31 16:19:42.143 455 455 E lowmemorykiller: Error writing /proc/7941/oom_score_adj; errno=22
10-31 16:19:43.218 10025 10025 E hbox:interacto: Not starting debugger since process cannot load the jdwp agent.
10-31 16:19:44.391 455 455 E lowmemorykiller: Error writing /proc/9412/oom_score_adj; errno=22
10-31 16:19:44.658 1144 1217 E KernelCpuSpeedReader: Failed to read cpu-freq: /sys/devices/system/cpu/cpu2/cpufreq/stats/time_in_state: open failed: ENOENT (No such file or directory)
10-31 16:19:44.675 1144 1214 E libprocessgroup: Error encountered killing process cgroup uid 99005 pid 9572: Permission denied
10-31 16:19:46.683 1144 1550 E LightsService: Light requested not available on this device. 2
10-31 16:19:47.629 0 0 E variable_rate_pll_clk_enable_hwfsm: PLL pwrcl_pll didn't lock after enabling it!
10-31 16:19:51.008 1144 4213 E WifiService: Permission violation - getScanResults not allowed for uid=10086, packageName=com.google.android.gms, reason=java.lang.SecurityException: Location mode is disabled for the device
10-31 16:19:56.216 0 0 E vote : name[BATTCHG_SUSPEND], client[BATTCHG_UNKNOWN_BATTERY_EN_VOTER,0], enabled[0], val[0]
10-31 16:19:56.216 0 0 E SMBCHG : smbchg_config_chg_battery_type: BATTERY FULL NAME : LGE_BL44E1F_LGC_3200mAh
10-31 16:20:09.541 0 0 E : LGE charging scenario : state 0 -> 0(0-0), temp=292, volt=4404, fl_volt=4400 BTM=0, charger=1, cur_set=1000/0, chg_cur = -481
10-31 16:20:09.541 0 0 E [LGE-CC] lge_monitor_batt_temp_work: (work_queue)->(work_queue)
10-31 16:20:09.541 0 0 E vote : name[BATT_FCC], client[LGE_POWER_CLASS_FCC_VOTER,1], enabled[1], val[1000]
10-31 16:20:09.541 0 0 E vote : name[BATTCHG_SUSPEND], client[LGCC_EN_VOTER,1], enabled[0], val[0]
10-31 16:20:09.541 0 0 E vote : name[BATTCHG_SUSPEND], client[STORE_MODE_EN_VOTER,2], enabled[0], val[0]
10-31 16:20:09.541 0 0 E vote : name[USB_SUSPEND], client[STORE_MODE_USB_EN_VOTER,2], enabled[0], val[0]
10-31 16:20:29.221 0 0 E variable_rate_pll_clk_enable_hwfsm: PLL pwrcl_pll didn't lock after enabling it!
Here is some more:
10-31 16:21:38.622 10126 10148 E libEGL : Driver indicates EGL 1.5 support, but does not have a critical API
10-31 16:21:38.739 905 937 E ANDR-PERF-RESOURCEQS: Failed to reset optimization [2, 1]
10-31 16:21:38.740 905 937 E ANDR-PERF-RESOURCEQS: Failed to reset optimization [2, 1]
10-31 16:21:43.557 905 937 E ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only
10-31 16:21:43.558 905 937 E ANDR-PERF-RESOURCEQS: Failed to apply optimization [2, 2, 0]
10-31 16:22:09.540 0 0 E : LGE charging scenario : state 0 -> 0(0-0), temp=292, volt=4408, fl_volt=4400 BTM=0, charger=1, cur_set=1000/0, chg_cur = -358
10-31 16:22:09.541 0 0 E [LGE-CC] lge_monitor_batt_temp_work: (work_queue)->(work_queue)
10-31 16:22:22.518 0 0 E vote : name[BATTCHG_SUSPEND], client[BATTCHG_UNKNOWN_BATTERY_EN_VOTER,0], enabled[0], val[0]
10-31 16:22:22.518 0 0 E SMBCHG : smbchg_config_chg_battery_type: BATTERY FULL NAME : LGE_BL44E1F_LGC_3200mAh
10-31 16:22:37.783 0 0 E rmt_storage: INFO:rmt_storage_rw_iovec_cb: Write iovec request received for /boot/modem_fs1
10-31 16:22:37.783 0 0 E rmt_storage: INFO:rmt_storage_client_thread: Calling Write [offset=0, size=2097152]for /boot/modem_fs1!
10-31 16:22:37.814 0 0 E rmt_storage: INFO:rmt_storage_client_thread: Done Write (bytes = 2097152) for /boot/modem_fs1!
10-31 16:23:00.530 0 0 E variable_rate_pll_clk_enable_hwfsm: PLL pwrcl_pll didn't lock after enabling it!
10-31 16:23:09.540 0 0 E : LGE charging scenario : state 0 -> 0(0-0), temp=292, volt=4408, fl_volt=4400 BTM=0, charger=1, cur_set=1000/0, chg_cur = -324
10-31 16:23:09.540 0 0 E [LGE-CC] lge_monitor_batt_temp_work: (work_queue)->(work_queue)
Click to expand...
Click to collapse
Some of those errors are due to the massive amount of debug flags i disabled in the kernel (it still tries to load many of them up for some reason). Are you facing any bugs on the device so far? My H910 also prints many "errors" similar to these but it works just as fine as when it used Lineage's stock kernel, but i didn't test other variants so i don't know if this kernel works fine on them as well.
AShiningRay said:
Some of those errors are due to the massive amount of debug flags i disabled in the kernel (it still tries to load many of them up for some reason). Are you facing any bugs on the device so far? My H910 also prints many "errors" similar to these but it works just as fine as when it used Lineage's stock kernel, but i didn't test other variants so i don't know if this kernel works fine on them as well.
Click to expand...
Click to collapse
One thing I'm noticing is that the adb USB connection keeps breaking. I run 'adb shell' and it connects then after a few seconds disconnects. It never did this before.
EDIT: Now it stopped doing it. For a while it kept disconnecting but now it is staying connected.
Aethera said:
One thing I'm noticing is that the adb USB connection keeps breaking.
Click to expand...
Click to collapse
That's weird, some time ago when i started taking logs to debug the IR i managed keep running the adb logcat for quite a while with no problems whatsoever. Is there a certain amount of time that it takes to happen?
Edit: Oh, ok then. Might have been some random issue with adb's connection. If any other problem arises, do tell.
Unfortunately the phone is still crashing at random intervals (was happening before using this kernel).
10-31 19:17:56.642 0 0 E : Fatal error on the modem.
10-31 19:17:56.642 0 0 E : modem subsystem failure reason: sleep_target.c:305:.
10-31 19:17:56.647 0 0 E M-Notify: General: 8
Aethera said:
Unfortunately the phone is still crashing at random intervals (was happening before using this kernel).
10-31 19:17:56.642 0 0 E : Fatal error on the modem.
10-31 19:17:56.642 0 0 E : modem subsystem failure reason: sleep_target.c:305:.
10-31 19:17:56.647 0 0 E M-Notify: General: 8
Click to expand...
Click to collapse
I see.. well, i tried searching this sleep_target.c that seems to be related in some manner to the problem in the kernel directory but there is no file with such a name. It could be something ROM-related, but i can't rule that out yet. Are there any other logs with more info about it?
AShiningRay said:
I see.. well, i tried searching this sleep_target.c that seems to be related in some manner to the problem in the kernel directory but there is no file with such a name. It could be something ROM-related, but i can't rule that out yet. Are there any other logs with more info about it?
Click to expand...
Click to collapse
I will try to do some various types of log filtering over the next day or so to see if I can get more information.
AShiningRay said:
I see.. well, i tried searching this sleep_target.c that seems to be related in some manner to the problem in the kernel directory but there is no file with such a name. It could be something ROM-related, but i can't rule that out yet. Are there any other logs with more info about it?
Click to expand...
Click to collapse
Looks like most if not all info about sleep_target.c is in Chinese. For example:
https://cloud-tencent-com.translate...auto&_x_tr_tl=en&_x_tr_hl=en-US&_x_tr_pto=nui
This one appears to have more detail: https://www-cnblogs-com.translate.g...auto&_x_tr_tl=en&_x_tr_hl=en-US&_x_tr_pto=nui
Aethera said:
Looks like most if not all info about sleep_target.c is in Chinese. For example:
https://cloud-tencent-com.translate...auto&_x_tr_tl=en&_x_tr_hl=en-US&_x_tr_pto=nui
This one appears to have more detail: https://www-cnblogs-com.translate.g...auto&_x_tr_tl=en&_x_tr_hl=en-US&_x_tr_pto=nui
Click to expand...
Click to collapse
Yeah, and the problem is... none of the files the article talks about are present in the kernel's source. tlmm_bsp for example also returns no results here. The fact that you log referenced a specific line from the file means it actually is present somewhere, but i'm not able to ascertain where exactly it is. I'll have to look at it in more details later.
AShiningRay said:
Yeah, and the problem is... none of the files the article talks about are present in the kernel's source. tlmm_bsp for example also returns no results here. The fact that you log referenced a specific line from the file means it actually is present somewhere, but i'm not able to ascertain where exactly it is. I'll have to look at it in more details later.
Click to expand...
Click to collapse
It is related to the Qualcomm MSM8996 system-on-chip. Perhaps it is embedded in the firmware. It appears there's some way to enable a debug mode for the modem and access various flags and voltage levels. This would explain why the error seems to be power-related. The device is trying to throttle the voltage to a "bottom current" which is a minimal current when the device is sleeping and for whatever reason it's crashing.
FYI here is a tool which can extract a MSM8996 modem image.
Aethera said:
Unfortunately the phone is still crashing at random intervals (was happening before using this kernel).
10-31 19:17:56.642 0 0 E : Fatal error on the modem.
10-31 19:17:56.642 0 0 E : modem subsystem failure reason: sleep_target.c:305:.
10-31 19:17:56.647 0 0 E M-Notify: General: 8
Click to expand...
Click to collapse
What variant? And did you ever crossflash?
Aethera said:
It is related to the Qualcomm MSM8996 system-on-chip. Perhaps it is embedded in the firmware. It appears there's some way to enable a debug mode for the modem and access various flags and voltage levels. This would explain why the error seems to be power-related. The device is trying to throttle the voltage to a "bottom current" which is a minimal current when the device is sleeping and for whatever reason it's crashing.
FYI here is a tool which can extract a MSM8996 modem image.
Click to expand...
Click to collapse
Ok, so it means that those files might actually be located inside the modem partition? I can see how a improper voltage can lead to kernel crashes (Undervolting the SoC's Kryo cores themselves too hard does the same thing, crashing the phone into either a black screen or a green one with some tracing info about the files that caused the problem), but how do we even go about testing if the modem is the one causing the problem? I'm not familiar with the modem images and structures at all so i doubt i would be able to fix those things, especially the voltages since we probably have no voltage table to determine which voltages are acceptable, too high, or too low.

Categories

Resources