[R&D] System Dump, FSTAB, ADB, FASTBOOT, HARDWARE and Screenshots - Samsung Gear Live

FSTAB:
http://pastebin.com/LN75y6Jj
Build.Prop:
http://pastebin.com/ehgwGL8A
System Dump:
http://www.mediafire.com/download/ux9gg1661ojkao9/sprat-user_4.4W_KMV78N_SYSTEM_DUMP.zip
*Copyright owned by Samsung and Google
Getprop
http://pastebin.com/2mhPZhLV
Hardware Info
https://www.youtube.com/watch?v=NNtBzOiXLPw
{
"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"
}
ENABLE ADB
- Tap on top right of watchface
- scroll down to Settings
- Scroll down and tap About
- Tap Build Number 5x's
- Go back to settings and Development Options should be available
- Enable ADB debugging
- Plug in the charger dock with a USB connected to the computer
- Authorize on your Phone for USB
RECOVERY MODE
FASTBOOT/BOOTLOADER Mode

Codename: SPRAT
Product: Gear Live
Key Specs:
- Qualcomm 400 chipset (Quadcore msm8226 - Same exact one as Moto G!)
- Adreno 305
- OpenGL 3.0 support
- 320x320 screen (hdpi)
Sensors / Parts:
- Invensence MPU6515 MEMs Gryo HERE
- AK8963c 3 Axis Compass and Hall effect sensor HERE (TOGETHER 1 +2 = InvenSense MP92M 9-axis Gyro + Accelerometer + Compass)
- Heart Rate Detector ( didn't see what the chipspec was).
- Samsung Driver abstracted "sensors" (just conglomerates info from the existing sensors).
- MAX77836—MUIC
- STMicroelectronics STM32F401 Cortex M4 microcontroller
- Qualcom PM8226 power management IC
- InvenSense ICS-43430 microphone
- Cypress Semiconductor CYTMA54 touchscreen controller
* holding for space *

Childofthehorn said:
.......
Click to expand...
Click to collapse
Sorry but app and priv-app and framework is complete or is not?

RevengeDevTeam said:
Sorry but app and priv-app and framework is complete or is not?
Click to expand...
Click to collapse
Its what I could get by doing a pull of /system. It should be complete.
Remember that the WEAR is a build type in Android.I don't quite get why they built so many of the components for Cellular into it though... probably just easier to have it be complete binaries.

Fastboot commands extracted from aboot:
Code:
continue
reboot
reboot-bootloader
preflash
flash
boot
oem lock
oem enable-console
oem disable-console
oem device-info
oem enable-charger-screen
oem disable-charger-screen
oem off-mode-charge 0
oem off-mode charge 1
default settings:
Code:
[email protected]:~/Downloads$ sudo fastboot oem device-info
...
(bootloader) Device tampered: false
(bootloader) Device unlocked: false
(bootloader) Charger screen enabled: true
(bootloader) Display panel: �������������������������������������������
You'll want disable-console, enable-charger-screen, and off-mode-charge 1 in order to get stock functionality with best battery life. For debugging, you can switch these options.
UART boot log: http://pastebin.com/M5ctEFtT
It was said that the Gear Live should only be running one processor. You can see in the UART log that there are 4 processors active. Here is /proc/cpuinfo which confirms this.
Code:
[email protected]:/proc $ cat cpuinfo
processor : 0
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 38.40
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 3
processor : 1
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 38.40
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 3
processor : 2
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 38.40
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 3
processor : 3
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 38.40
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 3
Hardware : Qualcomm MSM 8226 (Flattened Device Tree)
Revision : 0004
Serial : 0000000000000000

Recommendations for developers to increase battery life:
1. Remove useless drivers such as:
Code:
SCSI subsystem initialized
Code:
SCSI Media Changer driver v0.25
Code:
sdhci: Secure Digital Host Controller Interface driver
and many others
2. Disable unused processors, or offer a "power saving" mode to disable those additional processors
3. examine processor scaling
4. reduce use of SELinux. it's worthless.
4a. when device is near phone, phone security is off
4b. turning on ADB and accessing storage is easy as security is disabled on the phone
4c. because of the above reasons the device causes the phone to be insecure
4d. the device is wasting battery on its own security while reducing the security of the phone.
5. enable thermal max frequency
Code:
[ 4.700499] msm_thermal:disable_msm_thermal Max frequency reset for CPU1
[ 4.700509] msm_thermal:disable_msm_thermal Max frequency reset for CPU2
[ 4.700517] msm_thermal:disable_msm_thermal Max frequency reset for CPU3
6. above all: audit your logs.

We need a boot.img or at least a buildable kernel source to work with in order to go any further.

Anyone having this issue? Trying to unlock my Samsung Gear Live. ADB recognized device, Enabled communication through my phone, watch boots just fine using "ADB reboot bootloader" however, when entering "fastboot oem unlock" I get "waiting for device"?
Yes my watch is plugged in to my computer. I have tried several different ports. Any help?
I couldn't find the answer to this using the search function.
Thanks guys
*Edit*
I figured out the issue. If anyone is having this problem visit here:
http://stackoverflow.com/questions/24583354/adb-doesnt-recognize-samsung-gear-live-or-lg-g-watch
Follow the directions accpet one thing. Toward the bottom you will see a post telling you to install a "Samsung Device" instead of a generic "Android Device" Make sure you install the "Samsung device" if using a Gear Live.

UART Locations

This device charges VERY slowly, and on top of that, it's also picky about the charging port. In order to be sure you're always charging, you'll want to use a USB condom. This is important because many aftermarket chargers are unlabeled.
Here you can see it won't charge at all on an "Apple" charger
And it charges well on an "Android" charger with D+ and D- tied together.
The good news is that the charging rate is generally controlled by software, so if samsung would release kernel code, we could likely fix this.

AdamOutler said:
Recommendations for developers to increase battery life:
1. Remove useless drivers such as:
Code:
SCSI subsystem initialized
Code:
SCSI Media Changer driver v0.25
Code:
sdhci: Secure Digital Host Controller Interface driver
and many others
2. Disable unused processors, or offer a "power saving" mode to disable those additional processors
3. examine processor scaling
4. reduce use of SELinux. it's worthless.
4a. when device is near phone, phone security is off
4b. turning on ADB and accessing storage is easy as security is disabled on the phone
4c. because of the above reasons the device causes the phone to be insecure
4d. the device is wasting battery on its own security while reducing the security of the phone.
5. enable thermal max frequency
Code:
[ 4.700499] msm_thermal:disable_msm_thermal Max frequency reset for CPU1
[ 4.700509] msm_thermal:disable_msm_thermal Max frequency reset for CPU2
[ 4.700517] msm_thermal:disable_msm_thermal Max frequency reset for CPU3
6. above all: audit your logs.
Click to expand...
Click to collapse
Can I do that thru ADB? I am no developer at all btw!

Joe0113 said:
Can I do that thru ADB? I am no developer at all btw!
Click to expand...
Click to collapse
You probly don't want to be in this thread then.

Doesn't removing "sdhci" disable OTG functionality and possibly other USB devices, enumerated during DLOAD mode etc?
What is a USB condom?
And what is that nice USB-to-micro-USB thing you've got there? I see some useful pins... on it.
And yes, it is disturbing to see that a wrist watch has twice the number of processor cores than my daily phone!
EDIT: I just found answers here:
http://www.xda-developers.com/android/smartphone-chargers-xdatv/
http://www.amazon.com/Breett-Charger-Doctor-Current-Voltage/dp/B00JO73278/?tag=viglink20238-20
http://int3.cc/products/usbcondoms
Great! Will get at least one of each!

AdamOutler said:
This device charges VERY slowly, and on top of that, it's also picky about the charging port. In order to be sure you're always charging, you'll want to use a USB condom. This is important because many aftermarket chargers are unlabeled.
The good news is that the charging rate is generally controlled by software, so if samsung would release kernel code, we could likely fix this.
Click to expand...
Click to collapse
Adam, the issue with the charger is one which I filed early on the bug tracker and got to samsung.
Its a problem with the MAX77836- MUIC charger recognition code. Its a problem that I have encountered before with Samsung's custom kernel drivers for the MAX chipsets. You can get more in-depth charging info by just plugging a charger and running
"dmesg | grep max77 " , but we don't have root yet ( i haven't really spent any time on it).
I bet that if you change the ADC value on the ID pin of the MicroUSB connector you will get better results.
The MUIC general code is fantastic and then the individual function code classes are absolute junk.
Here is the values for the ADC and functions for most every Samsung Device:
ADC_DOCK_PREV_KEY = 0x04,
ADC_DOCK_NEXT_KEY = 0x07,
ADC_INCOMPATIBLE1_CHG = 0x08, /* 0x01000 10.0K ohm*/
ADC_DOCK_VOL_DN = 0x0a, /* 0x01010 14.46K ohm */
ADC_DOCK_VOL_UP = 0x0b, /* 0x01011 17.26K ohm */
ADC_DOCK_PLAY_PAUSE_KEY = 0x0d,
ADC_VZW_USB_DOCK = 0x0e, /* 0x01110 28.7K ohm VZW Dock */
ADC_SMARTDOCK = 0x10, /* 0x10000 40.2K ohm */
ADC_HMT = 0x11, /* 0x10001 49.9K ohm */
ADC_AUDIODOCK = 0x12, /* 0x10010 64.9K ohm */
ADC_CEA936ATYPE1_CHG = 0x17, /* 0x10111 200K ohm */
ADC_JIG_USB_OFF = 0x18, /* 0x11000 255K ohm */
ADC_JIG_USB_ON = 0x19, /* 0x11001 301K ohm */
ADC_DESKDOCK = 0x1a, /* 0x11010 365K ohm */
ADC_CEA936ATYPE2_CHG = 0x1b, /* 0x11011 442K ohm */
ADC_JIG_UART_OFF = 0x1c, /* 0x11100 523K ohm */
ADC_JIG_UART_ON = 0x1d, /* 0x11101 619K ohm */
ADC_CARDOCK = 0x1d, /* 0x11101 619K ohm */
As you can see, there is the UART deeper enable as well.

Childofthehorn said:
Adam, the issue with the charger is one which I filed early on the bug tracker and got to samsung.
Its a problem with the MAX77836- MUIC charger recognition code. Its a problem that I have encountered before with Samsung's custom kernel drivers for the MAX chipsets. You can get more in-depth charging info by just plugging a charger and running
"dmesg | grep max77 " , but we don't have root yet ( i haven't really spent any time on it).
I bet that if you change the ADC value on the ID pin of the MicroUSB connector you will get better results.
The MUIC general code is fantastic and then the individual function code classes are absolute junk.
Here is the values for the ADC and functions for most every Samsung Device:
ADC_DOCK_PREV_KEY = 0x04,
ADC_DOCK_NEXT_KEY = 0x07,
ADC_INCOMPATIBLE1_CHG = 0x08, /* 0x01000 10.0K ohm*/
ADC_DOCK_VOL_DN = 0x0a, /* 0x01010 14.46K ohm */
ADC_DOCK_VOL_UP = 0x0b, /* 0x01011 17.26K ohm */
ADC_DOCK_PLAY_PAUSE_KEY = 0x0d,
ADC_VZW_USB_DOCK = 0x0e, /* 0x01110 28.7K ohm VZW Dock */
ADC_SMARTDOCK = 0x10, /* 0x10000 40.2K ohm */
ADC_HMT = 0x11, /* 0x10001 49.9K ohm */
ADC_AUDIODOCK = 0x12, /* 0x10010 64.9K ohm */
ADC_CEA936ATYPE1_CHG = 0x17, /* 0x10111 200K ohm */
ADC_JIG_USB_OFF = 0x18, /* 0x11000 255K ohm */
ADC_JIG_USB_ON = 0x19, /* 0x11001 301K ohm */
ADC_DESKDOCK = 0x1a, /* 0x11010 365K ohm */
ADC_CEA936ATYPE2_CHG = 0x1b, /* 0x11011 442K ohm */
ADC_JIG_UART_OFF = 0x1c, /* 0x11100 523K ohm */
ADC_JIG_UART_ON = 0x1d, /* 0x11101 619K ohm */
ADC_CARDOCK = 0x1d, /* 0x11101 619K ohm */
As you can see, there is the UART deeper enable as well.
Click to expand...
Click to collapse
Those resistor values come from the Fairchild Semiconductors chip in the Samsung devices. I didn't find that chip in this device.
I posted the uart output which contains the dmesg output. I'm at work so i can't check the max77 in there.

Stock firmware images: http://goo.gl/UDVUh3
XDATV Video
Samsung Gear Live Unboxed the XDA Way:
http://youtu.be/xvY2Y21EYWo
4-hour hack hangout on air
Gear Live Teardown, Hacking, Filming For XDATV.:
http://youtu.be/0RJfBsWWQYo

@Dees_Troy released TWRP Recovery: http://goo.gl/49m8hl
[/thread]

[Thread]
Scratch that end of thread tag. I was overjoyed. There's still a lot of Linuxy stuff that needs to be done. Things like LED Brightness on the kernel and other standard hardware references which haven't been properly implemented. Standard Linux Device Tree stuff for command-line access is still needed.

The device is configured BT software to charge at .14A. In a stock kernel without the standard ramdisk I was able to pull a max of .45A. Which theoretically could charge the device in about 45minutes. Bumping up the charging rate should be examined as this device's 300mAh battery is far smaller than that of larger phones with the same battery materials, with 2000mAh batteries and charges in the same period of time.

AdamOutler said:
@Dees_Troy released TWRP Recovery: http://goo.gl/49m8hl
[/thread]
Click to expand...
Click to collapse
I wonder if is it possible to port Android Wear from Gear Live to Gear 2..
Thanks in advance

Related

What's a usb/H2W headset?

The CPLD info of the HTC dream shows some H2W signals listed below. But I can not understand what is it. It looks like it includes 2 kinds of the H2W devices. Could anyone please shed some light on it?
CPLD info on Dream:
2 H2W_DAT_DIR
3 H2W_CLK_DIR
4 H2W_DAT_GPO
5 H2W_CLK_GPO
6 H2W_SEL0
7 H2W_SEL1
Also some codes about the H2W on Nike phone.
i2c_register_board_info(0, htcnike_i2c_board_info,
279 280 ARRAY_SIZE(htcnike_i2c_board_info));
280 281 /* H2W pins <-> UART3, Bluetooth <-> UART1 */
281 282 /* Dumped from board-trout.c -- bluetooth 1st attempt */
282 283 gpio_set_value(HTCNIKE_GPIO_H2W_SEL0, 0);
283 284 gpio_set_value(HTCNIKE_GPIO_H2W_SEL1, 1);

[Q] Where can I find full technical specifications?

Hi 2 all!
Can someone tell me please where can I find full technical specifications for LG Optimus Black? I need detailed specifications with series of all modules(such as gps, wi-fi, accelerometer etc.)
For example, for Motorola Droid X I've found this:
CPU = Texas Instruments OMAP3630 in Unknown PoP (Cortex A8 PoP solution)
[*]Power/Audio = Texas Instruments TWL5030 Power Management (Catalog name TPS65950)
[*]DSP = Texas Instruments TMS320C6454 in Unknown PoP
[*]Baseband = Quallcomm QSC6085
[*]RF = Avago FEM7758 and TriQuint TQM613029
[*]Wireless = Texas Instruments WL1273
[*]Flash Memory & DRAM = Hynix H8KMS series - model unknown in Unknown PoP
[*]Touch Screen Controller = Atmel ATmega324P
[*]Camera = OmniVision OV8810 Image CMOS sensor
[*]Backlight = National Semiconductor LM3530
[*]Camera LED = National Semiconductor LM3554
[*]Torch LED = National Semiconductor LM3559
[*] etc...
So, as you see, I need information about models and series of controllers... not about weight and dimensions
Try this http://forum.xda-developers.com/showthread.php?t=1621152
n.i.r.a.j said:
Try this http://forum.xda-developers.com/showthread.php?t=1621152
Click to expand...
Click to collapse
Thanx! Problem solved

[KERNEL] [xx/xx] [3.4.62] ★ AK ★ [v.0xx]

{
"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"
}
​I am not responsible for any damage to your phone.
Read before downloading or posting in the thread:
Proceed with caution if you have no experience.
[4.3] STABLE KERNELS
NB: NEW ANYKERNEL FORMAT:
- Flash base Kernel of your rom before using this new version!
STOCK
stock Kernel: JSS
stock Kernel: JWR
JWR ED.
ak kernel: AK.JWR.25+
Features: Link
Github Kernel: Link
JSS ED.
ak kernel: AK.JSS.25+
Features: Link
Github Kernel: Link
[4.3] EXPERIMENTAL KERNELS
JWR ED.
ak kernel:
Github Kernel:
JSS ED.
ak kernel:
Github Kernel:
THANKS:
Faux
Stratosk
Mathkid
Francisco
Morfic
RamGear
BytecodeMe
Eng.stk
Jlink38
Boype
Thracemerin
Motley-git
Showp1984
Myfluxy
Androlinroot
Hellsgod
Zyonee
All RC, RD and RT
DON'T FORGET THANKS, RATE AND DONATE BUTTON:
Kernel Features
AK FEATURES
* Baseline:
4.3 JWR and JSS
Linux 3.4.62+
Compiled with Latest Linaro 4.8.2 Toolchain
-O3 Optimizations
SELinux Security Inside
* Wifi Drivers:
New Prima wlan drivers: v3.2.3.92a
* Governors:
Ondemand (Default)
Ondemandplus
Interactive
Conservative
Intellidemand
Wheatley
Hyper
Smartmax
* Hotplug Governors:
Mpdecision (Default)
auto hotplug:
2 core min online with screen on
1 core online with screen off
720mhz max freq screen off - 384mhz mix screen off
boosted and married with interactive
intelli plug
* Schedulers:
deadline (Default)
cfq
noop
sio
bfqv2r6
Fiops
Row
* Read Ahead Buffer Size:
256/32 (Default)
* Cpu Freqs Range:
270Mhz
378Mhz
384Mhz
486Mhz
594Mhz
702Mhz
810Mhz
918Mhz
1026Mhz
1134Mhz
1242Mhz
1350Mhz
1458Mhz
1512Mhz
* Gpu Freqs with Boost Support:
Boost:
128Mhz
200Mhz
320Mhz (Default)
400Mhz
487Mhz
533Mhz
Freqs:
128Mhz
200Mhz
320Mhz
400Mhz
487Mhz
533Mhz (Default)
* Gpu Governors with min power enabled when into deep sleep:
Ondemand (Default)
Simple
Performance
* Thermal Drivers:
Qualcomm thermal (Default)
Faux Intelli thermal
* Sweep on phone:
sweep2wake, sweep2slip
* TCP Congestion:
Westwood (Default)
Cubic
Bic
Htcp
Hstcp
Hybla
Vegas
Scalable
Lp
Veno
Yeah
Illinois
Reno
* Others Features:
Fully merged with cm10.2
OTG support
A lot of Cpu IDLE patches
Enhanced squre root algorithm
Asyn IO latency optimized
LZ4 Compressor/Decompressor for ZRAM
Random and Entropy fixes
CGROUP Timer slack
PA Halfbreed color by defaultStrips a lot of debugsDisabled CRC software control
New Codel NetScheduler
Topology Features
Scheduler Power SavingBattery life Extender (BLX)
Added SQLB Allocator
Optimized ARM RWSEM
Optimized Lib string and memcop
Added optimized AES and SHA1 routines
Hotplug Control
Touch Filter Control
Led triggers Control
SAI Control
Wakelock Stats enhanced
Fast Charger
Eco Mode (2 core only)
Snake Charmer (Freq capped)
C0,C1,C2,C3 Deep sleep State Control
Dynamic Fsync
Vibration control
Faux Gamma control
Faux Sound control v3
Stratosk Voltage control
Temperature Toggle
Added Charger Notify
Other Features
AK OPTIMAL SETTINGS:
CPU Control
Min clock = 270 MHhz
Max clock = 1.512 GHz
CPU Governor = Hyper
Mpdecision = Off
Auto Hotplug = On
1 core min - 2 core max
screen off max 702Mhz
screen off min 270Mhz
I/O Scheduler = noop
SOC Control
C0 - On
C1 - On
C2 - On
C3 - On
NB:
(Note: N4 AP modem is very sensitive to some of the deeper sleep states,
if you experienced Green/Yellow AP Modem Watchdog Bark screens,
I recommend disabling C2/C3 states).
Voltage Control
Boost Voltages = Off
Undervolt based on CPU type (slow, normal, fast or fastest)
GPU Control
GPU Governor = Simple
GPU Clock = 400 MHz
GPU Vsync Toggle = On
Misc Control
Dynamic File Sync = On
TCP Congestion Control = Westwood
Vibration Control = 70
Screen Color
Factory Presets - LG Presets
Color Adjustments - R, G, B 255, 250, 245
Gamma Amp Adjust 0 - R, G, B 13, 20, 22
Gamma Amp Adjust 1 - R, G, B 0, 2, 3
Z-Control
Set On Boot - On for both
ZRAM Disk size - 150~200 Megabytes (or 50 MB when disabled)
ZRAM Enable/Disable - Enable if you mult-task often
Clear VFS Cache After Boot - On
Auto FS Writeback Delay Mode - On
Swappiness - 100% if ZRAM enabled, 0% if disabled
VFS Cache Pressure - 100% if ZRAM enabled, 150% if disabled
Dirty Ratio - 20% for both
Dirty Background Ratio - 5% for both
HOW POST PROBLEMS BY FAUX
1. To report all random reboots with associated /proc/last_kmsg
2. To provide feedback on errors or bugs with detail phone information such as ROM, kernel version, and apps
3. Participate in Forum discussions (all is beta here) with others without FLAMING or post useless information such as:
a) Phone doesn't boot (without providing any additional information, ROM versions etc)
B) phone is too hot (without providing any additional information, ie OC freq, UV etc)
AK SUPPORT FAUXCLOCK:
you can view chagelog directly from APP
you can download official and beta releases
Thanks a lot to Faux who created this great application!
THE OPEN BETA
The Open Beta system is designed to have the community help each other and the developers.
This way, all potential bugs are flushed out so the final released version will be stable and error free.
The more actively you participate in Beta Testing the better the final product will be
(you are really helping yourself to create a better community software).
Faux123​
Techincal infos
* PLEASE NB:
Many of the documents and informations are taken by other threads,
so to prevent someone PM me with ...., I want to avoid saying:
"all credit to the authors".
Thanks a lot.​
C STATE POWER CONTROL
DOCs:
Faux123 - Manual for SOC power Control
Faux123 - SOC C-States demystified
Bigeyes0x0 - About C State
C0 (WFI) - Shallowest Sleep (default enabled)
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/wfi/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/wfi/idle_enabled
C1 (Retention) - slightly deeper sleep
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled
C2 (Stand Alone Power Collapse) - deeper sleep
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
C3 (Power Collapse) - deepest sleep
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
​UNDERVOLTING USERSPACE
DOCs:
Stratosk - About Undervolting
Stock kernel uses a paramater boost_uV.
By default, is added in voltages but it can be disabled.
The value of boost_uV is 0 for Slow bin chips and 25000 uV = 25 mV
for Nominal, Fast and Faster.
The boost_uV may be disabled using this command:
(= undervolting by 25000 uV in Nominal, Fast and Faster)
echo n > /sys/module/acpuclock_krait/parameters/boost
3 more paramater that handle undervolting:
- lower_uV: undervolting value for lower frequencies
- higher_uV: undervolting value for higher frequencies
- higher_khz_thres: above this frequency (default 1350000KHz) higher_uV will be used.
Else lower_uV will be used.
Undervolting value is subtracted from stock voltage. The final voltage for each frequency is calulated:
Vdd(final) = Vdd(core) + boost_uV - uV
So, to undervolt frequencies 384000-1242000 by 25mV and the other frequencies by 12.5mV use these command:
echo 25000 > /sys/module/acpuclock_krait/parameters/lower_uV
echo 12500 > /sys/module/acpuclock_krait/parameters/higher_uV
The higher_khz_thres maybe changed using this command (for example to use higher_uV from 981000KHz):
echo 918000 > /sys/module/acpuclock_krait/parameters/higher_khz_thres
Debugfs file (acpuclk/acpu_table) to show the acpu table frequencies and voltages.
For example to get the information about the current status use this command:
cat /sys/kernel/debug/acpuclk/acpu_table
CPU PVS: Fast
Boost uV: 25000
Boost uV enabled: No
Higher KHZ threshold: 1350000
Lower under uV: 37500
Higher under uV: 25000
CPU KHz VDD(stock) VDD(final) Difference
384000 875000 812500 -62500
486000 900000 837500 -62500
594000 925000 862500 -62500
702000 950000 887500 -62500
810000 1000000 937500 -62500
918000 1025000 962500 -62500
1026000 1050000 987500 -62500
1134000 1100000 1037500 -62500
1242000 1125000 1062500 -62500
1350000 1150000 1100000 -50000
1458000 1162500 1112500 -50000
1512000 1175000 1125000 -50000​
Nice. Gonna try it soon.
Yesssss
Sent from my Nexus 4 using Tapatalk 4
Word
Sent from my Nexus 4 using xda premium
So the party begins :fingers-crossed:
Fantastic
Sent from my Nexus 4
hell yeah! flashing now. it'll charge tonight, and I'll report back tomorrow with performance
Man this kernel is nice. Pretty smooth.
Sent from my Nexus 4 using Tapatalk 4
deleted
And the party started :thumbup::thumbup::thumbup: rated 5 stars as always
"using the search button won't get you killed"
w00t :victory:
ranasrule said:
TricksterMod is still the preferred app for changing kernel settings/parameters ?
Click to expand...
Click to collapse
Would like to know also. I prefer faux, but don't know if it will play nice.
Sent from my Nexus 4 using Tapatalk 4
Was waiting this kernel for my 4.3 baby....Thanks AK !
Whats is the difference between intelli hotplug and dynamic? Which is better?
TricksterMod is the preferred way to change kernel settings/parameters ?
Yes, it's in my eyes the best mod for kernel tweaks
GT-I9505 / Nexus⁴ Tapatalk
Just installed! Will come back with results as soon as I get them.

[Kernel][GPL][4.4.1/2][Jan 12][0.1.3] m_plus kernel for mako

m_plus kernel for Nexus 4 (mako)!
Hi All,
After deciding to more or less abandon m_plus for 4.3 due to issues with JSS and JWR build compatibility, I have returned to work on it for 4.4. Google has now pushed the official sources for KitKat so the fun begins.
Disclaimer: As usual, I am not responsible for anything that may or may not happen to your device as a result of using this kernel or any other flashable zips posted by me in this thread.
Kernel Features:
Based on the latest Google Source for 4.4.1 (no changes were made to the kernel for 4.4.2)
Built with the Linaro 4.7 toolchain (2013.11)
Undervolt Interface (Undervolt to 600mV)
Gamma Control Interface (faux123 & _motley interfaces only)
USB fast charge
KGSL Simple GPU governor
Dynamic fsync
Faux Sound v3.2
Krait Retention for Mako
TCP Congestion Control (veno (default), reno, bic, westwood, vegas, yeah, illinois, cubic)
Builds:
Sources: https://github.com/thracemerin/kernel-Nexus4/tree/m_plus_44_exp
Personal Request: If you plan to make unofficial builds with features not included in the builds posted by me, please don't link them in the thread, all this does is result in confusion especially if someone has a problem with something you have added, it is much easier for me to provide support if I know that everyone in the thread is running the same builds I am. If you want to make a kernel with these features, feel free to start another thread so that they can be discussed and supported as appropriate.
Note: Starting with build 0.1.0, m_plus will go back to being distributed as a flashable zip, it will come in 2 versions. Zips with names ending in _any are anykernel versions and should work on any ROM even those with a modified ramdisk, zips with names ending in _rd come packed with the stock ramdisk for those on pure stock who want to have insecure ramdisk and init.d support.
Regarding CM Compatibility: Starting with build 0.1.1, m_plus will be compatible with CM, zips with names ending in _cm will be compatible with CyanogenMod 11 on an experimental basis, this is no guarantee that every CM feature will work with these builds, nor is it a guarantee that I will continue to support CM depending on what they do with their kernel that may or may not make it incompatible.
CM Compatible Source: https://github.com/thracemerin/kernel-Nexus4/tree/m_plus_44_cm
Latest:
m_plus-0.1.3 January 12, 2014
Changes:
Fix for s2w being active with s2sonly and dt2w (thanks to show-p1984)
Previous Versions
m_plus-0.1.2 January 7, 2014
Changes:
GPU governor reverted to ondemand (if you prefer simple, see post 2)
Sweep2Wake, Doubletap2Wake, Sweep2Sleep only
kexec hardboot for multiROM support
m_plus-0.1.1 December 18, 2013
Changes:
TCP Congestion Control (added veno (default), reno, bic, westwood, vegas, yeah, illinois)
Faux Sound v3.2
m_plus-0.1.0 December 6, 2013
Changes:
Added Krait Retention for Mako (thanks faux123)
Updated sources to AOSP (android-msm-mako-3.4-kitkat-mr1)
test 5 (named boot6.img) November 28, 2013
Changes:
Updated faux sound to v3
test 4 (named boot5.img) November 23, 2013
Changes:
Dynamic fsync
Faux Sound including PowerAmp
test 3 (named boot4.img) November 22, 2013
Changes:
USB fast charge
KGSL Simple GPU governor (thanks to faux123)
test 2 (named boot3.img) November 21, 2013
Changes:
Insecure ramdisk
Enabled init.d support in the ramdisk (in order for it to work you must have busybox installed to /system/xbin and you must create the directory /system/etc/init.d)
Added Undervolt Interface
Added Gamma Control Interface (faux123 & _motley interfaces only)
See the download section tab at the top of this page.
Or see here: http://forum.xda-developers.com/devdb/project/?id=1660#downloads
Bug Reports:
Use the Bug Report feature at the top of this page.
Thanks:
Google
LG
Qualcomm/CodeAurora
CyanogenMod
_motley
faux123
show-p1984
franciscofranco
stratosk
anyone else I failed to mention (if you feel as though you deserved to be thanked by name, please PM me)
XDA:DevDB Information
m_plus kernel for mako, a Kernel for the Google Nexus 4
Contributors
thracemerin
Kernel Special Features:
Version Information
Status: Beta
Current Beta Version: 0.1.0
Beta Release Date: 2013-12-06
Created 2013-11-20
Last Updated 2014-01-12
Setting custom Gamma settings via sysfs - thanks to faux123 for sharing his code
Warning: changing these values can be potentially be dangerous to your display if you make a mistake.
Important, please read!
There are ten digits in the string separated by one space
First digit is a checksum and is never stored. The checksum is simply the sum of the other 9 numbers. This is to make it harder to so the interface is respected and you are forced to think about what you are doing.
There are 3 sysfs interfaces for gamma, one for each color:
Code:
#!/system/bin/sh
# Show the current configuration and the checksum
cat /sys/devices/platform/mipi_lgit.1537/kgamma_red
cat /sys/devices/platform/mipi_lgit.1537/kgamma_green
cat /sys/devices/platform/mipi_lgit.1537/kgamma_blue
Update:
Recently molesarecoming started opening this up and showing us what the values can be used to adjust. Franco then suggested that the white and grays should be swapped in moles original work. So, for init.d values using this interface, we have the following "banks" if values if we agree with Franco on the swap of the whites and grays.
Code:
R: checksum, g_white, g_mids, g_black, 0, g_contrast, g_brightness, g_saturation, g_grey, 2
G: checksum, g_white, g_mids, g_black, 0, g_contrast, g_brightness, g_saturation, g_grey, 2
B: checksum, g_white, g_mids, g_black, 0, g_contrast, g_brightness, g_saturation, g_grey, 2
(the zero in position 5's and the 2's in position 10 are recommended to be left alone since they are currently unknowns)
Minus the checksum, the 27 values mirror the 3 color arrays (3 x 9 = 27) in the actual LG LCD driver. Minus the unknowns, we are left with 21 values. Note that every one of the variables can have their value tweaked by color (saturation for red, saturation for green etc.), however, it is recommended that you start with all the values of one type being the same and then tweak from there if you really want to fine tune.
You have a lot of power in your hands even without fine tuning. Many will argue that fine tuning isn't required. If you look at the stock settings by Google in post 2, they took advantage of fine tuning for whatever reason. Even though many don't like these settings by Google, it shows how flexible the interface can be.
Instructions:
1) Start with a preset config (LG or Google) as shown further below. This is a set of 3 lines, 10 numbers for each line.
2) Tweak columns for their values as above. For example, we tweak contrast and brightness as in faux's original app. We could also do the same for saturation, blacks, whites, grays etc.
Example: start with LG presets with numbers to adjust:
Code:
383 114 21 118 0 10 4 80 48 2
383 114 21 118 0 7 4 80 48 2
383 114 21 118 0 5 1 80 48 2
3) Now update the checksum in column 1 (first digit = sum of last 9 digits)
Code:
397 114 21 118 0 10 4 80 48 2
394 114 21 118 0 7 4 80 48 2
389 114 21 118 0 5 1 80 48 2
4) Create a script inside a text file - my recommendation for your first test
Code:
#!/system/bin/sh
# Set data color pro presets from shared Google spreadsheet (thanks user acer73!)
# Use LG presents as your starting values and then adjust columns 6 & 7 from the spreadsheet
echo "397 114 21 118 0 10 4 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_red
echo "394 114 21 118 0 7 4 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_green
echo "389 114 21 118 0 5 1 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_blue
#Set the complimentary RGB values for this calibration
echo "248 248 248" > /sys/devices/platform/kcal_ctrl.0/kcal
echo 1 > /sys/devices/platform/kcal_ctrl.0/kcal_ctrl
5) Run the script (or you can echo each line manually to test from adb if you prefer).
6) Turn the screen off and on for the gamma change to take effect.
7) Check the dmesg output for any clues and to see the output of the result.
8) Place the script into your /system/etc/init.d/ folder (or equivalent) for a permanent color change!
Screen refresh - this should only be called by apps or scripts while adjusting and testing colors "live" with the motley or faux sysfs interface. It should NOT be implemented on startup via init.d or by apps since it will compete with the normal power on process.
Code:
echo 1 > /sys/devices/platform/mipi_lgit.1537/refresh_screen
Presets:
Code:
#!/system/bin/sh
# Set LG presets (motley stock) - i.e. popular partial revert of Google's tweaks just before release
echo "383 114 21 118 0 0 0 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_red
echo "383 114 21 118 0 0 0 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_green
echo "383 114 21 118 0 0 0 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_blue
Code:
#!/system/bin/sh
# Set stock Google presets (from kernel source code)
echo "332 64 68 118 1 0 0 48 32 1" > /sys/devices/platform/mipi_lgit.1537/kgamma_red
echo "332 64 68 118 1 0 0 48 32 1" > /sys/devices/platform/mipi_lgit.1537/kgamma_green
echo "364 32 35 116 0 31 16 80 51 3" > /sys/devices/platform/mipi_lgit.1537/kgamma_blue
Code:
#!/system/bin/sh
# Set faux Google presets (not sure why his numbers differ)
echo "460 64 68 118 1 32 96 48 32 1" > /sys/devices/platform/mipi_lgit.1537/kgamma_red
echo "461 64 68 118 1 33 96 48 32 1" > /sys/devices/platform/mipi_lgit.1537/kgamma_green
echo "445 32 35 116 0 32 96 80 51 3" > /sys/devices/platform/mipi_lgit.1537/kgamma_blue
Voltage Control
Warning: Every chip is different, even those from the same bin may handle undervolting differently, proceed with caution until you know that your device can handle it.
Note: The minimum allowable undervolt is 600mV for all frequencies (this doesn't mean your device can handle this low voltage, see above)
The voltage table can be viewed by typing the following:
Code:
cat /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
To make changes do the following:
Code:
echo 'X Y' > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
For example: (set the voltage for 384MHz to 850mV)
Code:
echo '384000 850000' > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
For those of you who are interested, here are the default voltage tables from Motley b49: https://docs.google.com/spreadsheet/ccc?key=0AlgoC5O8VXsLdFU4U2xnSUxwUlNyQ05TVHF3ZDJCdXc&usp=sharing
USB Fast Charge
Turn on: (off by default)
Code:
echo 1 > /sys/kernel/fast_charge/force_fast_charge
Turn Off:
Code:
echo 0 > /sys/kernel/fast_charge/force_fast_charge
Simple GPU Governor Tunables - Thanks to faux123
Switching the governor: (options are simple, ondemand (default) & performance)
Code:
echo 'ondemand' > /sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0/pwrscale/trustzone/governor
Simple tunables:
Code:
/sys/module/msm_kgsl_core/parameters/simple_laziness
Laziness: Adjusts the number of times the governor skips ramp down requests. (Higher = better performance, higher battery drain)
Code:
/sys/module/msm_kgsl_core/parameters/simple_ramp_threshold
Threshold: Adjusts the threshold to ramp up or down the GPU frequencies. (Lower = better performance, higher battery drain)
C State Information
(thanks to faux123 - more info here: https://plus.google.com/109078966818501160423/posts/9R8fjQdHDXD)
faux123 recommends C0, C1 and C3 here: http://forum.xda-developers.com/showpost.php?p=40151528&postcount=9775
C0 (WFI) - Shallowest Sleep (default enabled)
Code:
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/wfi/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/wfi/idle_enabled
C1 (Retention) - slightly deeper sleep
Code:
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled
C2 (Stand Alone Power Collapse) - deeper sleep
Code:
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
C3 (Power Collapse) - deepest sleep
Code:
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
TCP Congestion Control
Options: veno (default), reno, bic, westwood, vegas, yeah, illinois, cubic
Code:
echo 'cubic' > /proc/sys/net/ipv4/tcp_congestion_control
Sweep2Wake, Doubletap2Wake, Sweep2Sleep only
Sweep2Wake: (1 enable, 0 disable)
Code:
echo 1 > /sys/android_touch/sweep2wake
Doubletap2Wake: (1 enable, 0 disable)
Code:
echo 1 > /sys/android_touch/doubletap2wake
Sweep2Sleep Only: (1 enable, 0 disable) (sweep2wake must be enabled)
Code:
echo 1 > /sys/android_touch/s2w_s2sonly
Frequently Asked Questions
Q: My battery life has significantly decreased vs stock, why would this be?
A: It would be rather foolish of me to create a custom kernel that decreases battery life. In my experience battery life issues are generally related to something in userspace rather than in the kernel. My suggestion is to get Better Battery Stats (there are kitkat versions in the XDA thread) and provide a dumpfile of a few hours worth of idle/standard use for me to look at so that I can help you identify the problem, if it is in fact an issue with the kernel I will do my best to fix it.
Q: I got a random reboot, freeze, sleep of death, other bug, what do I do?
A: Please review this post: http://forum.xda-developers.com/showpost.php?p=23036410&postcount=1 and provide appropriate logs in the bug report tab at the top of the thread. I strongly advise that you remove your undervolt (if any) and attempt to reproduce the situation before posting as too much undervolting is often the cause.
Q: I saw a feature in another kernel that I'd really like for you to add to this one, how can I ask you to do that?
A: Go ahead and post it in the thread and I'll take a look, keep in mind that I would prefer to avoid filling the kernel with features that will be used by a very small number of users.
Test build 1 posted (boot.img format only until we're a little further along), see Download tab at the top of the thread.
It's basically just stock built with linaro, as a test to ensure everything went well. Builds with features will be coming shortly
Happy Flashing. :victory:
Note: This kernel is based on sources pushed for KRT16S, I'm not sure whether there will be problems with KRT16O or KRT16M builds as I didn't test them, the only problem that might be anticipated is that prima wlan was updated from 3.2.3.10 to 3.2.3.11 which may make WiFi not work, if this is the case let me know and I can put together a fix for that particular issue.
Loved your work .
Nice!
Awesome
{
"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"
}
[DEVICE:NEXUS⁴][ROM:BEERGANG][KERNEL:AK]​
Subscribed! Thank you for continuing the m_plus kernel @thracemerin
Feels like home again. Thanks thracemerin!
Sent from my Nexus 7 using Tapatalk 4
I'm using this right now, on KRT16O build. No problems with WiFi so far. :good:
saibz said:
I'm using this right now, on KRT16O build. No problems with WiFi so far. :good:
Click to expand...
Click to collapse
Good to know, thanks!
Sent from my Nexus 7 using Tapatalk 4
Long time no see!
Sent with Virtue
Finally! Was waiting for this thanks!
Sent from my Nexus 4 using Tapatalk
Nice to see familiar names here. Loyal user base here
Sent from my Nexus 4 using Tapatalk
Awesome, was using your kernel on 4.3, now on psx 4.4 so looking forward to trying this on that
Sent from my Nexus 4 using Tapatalk
One of the best kernels!Keep up the good work!:thumbup:
Keeping in mind the design principles of the previous m_plus versions (4.2.x and 4.3), what features would you guys like to see for 4.4?
thracemerin said:
Keeping in mind the design principles of the previous m_plus versions (4.2.x and 4.3), what features would you guys like to see for 4.4?
Click to expand...
Click to collapse
Undervolting (down to 600mV)
Dynamic fsync
Hotplug (control max. online CPUs)
Not sure if this is a feature which can be implemented in kernel. But I hate the Android default brightness control. You have to decide whether you use auto-brightness or manual one. I would like to see some control over auto-brightness as well. For example in many light conditions I would like to use a lower brightness than what is provided by auto-brightness. But when I go for manual brightness then I cannot even find the brightness control when I step out into the sunlight. So actually I would prefer to have auto-brightness but control the lower and upper limits and adjust the brightness adjustment sensitivity. Of course this would require also a change on the ROM since the ROM controls will disable brightness control when auto-brightness is active. But perhaps tuning the algorithm variables could be done via kernel variables or by very simple app then.
I just migrated to KRT16S factory image and looking forward to test this kernel.
These are just the features I would love most to see. Keep up the great work! Many thanks to you and also all the other kernel hackers allowing us to fine-tune where the Google default stops.
SkyBeam2048 said:
Undervolting (down to 600mV)
Dynamic fsync
Hotplug (control max. online CPUs)
Not sure if this is a feature which can be implemented in kernel. But I hate the Android default brightness control. You have to decide whether you use auto-brightness or manual one. I would like to see some control over auto-brightness as well. For example in many light conditions I would like to use a lower brightness than what is provided by auto-brightness. But when I go for manual brightness then I cannot even find the brightness control when I step out into the sunlight. So actually I would prefer to have auto-brightness but control the lower and upper limits and adjust the brightness adjustment sensitivity. Of course this would require also a change on the ROM since the ROM controls will disable brightness control when auto-brightness is active. But perhaps tuning the algorithm variables could be done via kernel variables or by very simple app then.
I just migrated to KRT16S factory image and looking forward to test this kernel.
These are just the features I would love most to see. Keep up the great work! Many thanks to you and also all the other kernel hackers allowing us to fine-tune where the Google default stops.
Click to expand...
Click to collapse
The 3 things you listed are things that make my list too.
As far as the auto-brightness, this is mostly handled by the OS, though I have noticed that stratosk did some tweaks to the kernel side driver that could result in better auto-brightness, I'll look into that one.
thracemerin said:
The 3 things you listed are things that make my list too.
As far as the auto-brightness, this is mostly handled by the OS, though I have noticed that stratosk did some tweaks to the kernel side driver that could result in better auto-brightness, I'll look into that one.
Click to expand...
Click to collapse
Don't forget gamma hack(faux's) and fauxsound and keep it ass minimal as possible just like on 4.3 :thumbup:

[Kernel][TW] ChronicKernel - (UV/GPU/CPU-OC/linaro) [07/30/2014]

ChronicKernel for Samsung Galaxy S5​
{
"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"
}
Code:
#include
/*
* Your warranty is now likely void.
*
* I am not responsible for bricked devices, dead SD cards,
* spontaneous combustion, or any other host of cosmic penalties
* which may befall you, your family, or your phone.
*
*/
Here is a initial kernel for TW. Forked from ktoonsez, t has all the features you would expect from a modded kernel, CPU OC, GPU OC, more CPU governors, Undervolted, GPU OC CPU L2 OC, and linaro -o3 optimizations
Click to expand...
Click to collapse
Screenshots
Requirements
* Rooted (obviously)
Installation
1: Place zip on sdcard
3: Reboot into recovery
3: Clear cache and dalvik cache
4: Flash zip
5: Reboot
6: If desired edit the init script at /system/etc/chronic-config.sh to suit your needs
7: Profit
ChronicKernel
* All-in-One kernel for all qualcomm variants
* Compiled with linaro
* GPU OC to 657 Mhtz (578Mhtz default - configurable though chronic-config.sh init script)
* CPU OC to 3.07 Ghtz (2.45 Ghtz default)
* CPU bandwith increase
* Added many I/O Schedulers (ROW, SIO, ZEN, etc...)
* Merged a lot of scheduler related performance patches from my S4 kernel and Faux123's
* Added CPU Governors intelliactive wheatley pegasusq smartmax dancedance nightmare intellidemand badass abyssplugv2 abyssplug and Lionheart (Default gov = interactive)
* User adjustable CPU uV
* Kernel based thermal management
* Chronic Hotplug (kernel based mpdecision replacement)
* No ROM overriding your Max freq BS
* FauxSound
* frandom support
* Enable/disable fsync support (fsync enabled by default)
* Countless amounts of ARM optimization from various sources
* Optimized and compiled with with the "Optimize a lot, or -o3 option)
* USB fast charge (disabled by default - configurable though chronic-config.sh init script
* Linux 3.4+
This kernel uses a simple shell script called chronic-config.sh (located at /system/etc/chronic-config.sh) With this script you can specify your desired default values for various things including cpu governor, min/max cpu freq. USB fastcharge etc. This file as is requires no intervention and will not interfere with any kernel tuning app you already use. It is just there for people who like a minimal approach and as it is the most direct method of changing settings so will always work. We all know how sometimes apps get an update and it breaks something for you Below is an example of the config options in the script.
Click to expand...
Click to collapse
Code:
# Configure your options here #
# Config default CPU Gonvernor
#
# Kernel Default: interactive
# Uncomment desired governor by removing the "#" symbal before desired gov
# and add a "#" to the old line
# Possible values
# GOV=abyssplug
# GOV=abyssplugv2
# GOV=badass
# GOV=consevative
# GOV=dancedance
# GOV=intelliactive
# GOV=intellidemand
# GOV=linoheart
# GOV=nightmare
# GOV=ondemand
# GOV=pegasusq
# GOV=performance
# GOV=powersave
# GOV=smartmax
# GOV=userspace
# GOV=wheatley
GOV=interactive
# Config CPU frequency
#
# Default: 2457600 (2.45Ghtz)
# Recomended: 2764800 (2.76Ghtz)
# available frequencies:
# 300000 345600 422400 499200 576000 652800 729600 806400 883200 960000 1036800 1113600 1190400 1267200 1344000 1420800
# 1497600 1574400 1651200 1728000 1804800 1881600 1958400 2035200 2112000 2150400 2188800 2265600 2342400 2419200 2457600
# 2534400 2611200 2688000 2764800 2841600 2918400 2995200 3072000
#
# Max/Min
MAXFREQ=2457600
MINFREQ=300000
# Config GPU clock Max Frequency
# 389000000 = 389mhz (Super Underclocked)
# 462400000 = 450mhz (Underclocked)
# 578000000 = 578mhz (Default)
# 657500000 = 657mhz (Overclocked)
GPU_MAX=578000000
# Config GPU clock Min Frequency
# ** Choose either Samsung default 320Mhtz or Standard 200Mhtz
# ** key is as follows..
# 320Mhtz = 4
# 200Mhtz = 5
GPU_MIN=4
# I/O Scheduler
#
# Available schedulers: cfq, bfq, fiops, noop, deadline, row, sio, vr, zen, fifo
# Device default: cfq
SCHED=cfq
# Enable/Disable FSYNC
#
# Y = Enabled (default)
# N = Disabled
FSYNC=Y
# Enable Fastcharge
# 0 = disabled
# 1 = substitute AC to USB charging always
# 2 = substitute AC to USB charging only if there is no USB peripheral detected
FASTCHARGE=0
# Chronic Hotplug
# set custom "enable_core_thresholds" This is represented as four numbers each being for the corosponding core (0,1,2.3)
# the numbers are derived from cpu load times 10
# 0 = always on
# 999 = never on
ENABLE_CORE_THRES="0 290 340 390"
# End of configurable options #
July-30
* Updated to latest NG2 source from Samsung
* Updated kernel to Linux 3.4.100
July-19
* Cleaned up cpu frequency table, 2899Mhtz was never a valid freq, and the new ones were based off of that step. That is now fixed
* Bumped bandwith on 3 highest freq steps
* Bumped max voltage to 1400
* I/O: deadline: Allow 0ms deadline latency, increases the read speed
* SELinux: Fix memory leak upon loading policy
* msm: kgsl: Fix nice level for higher priority GPU start thread, previously we were using the lowest possible process priority which increase latency, (cherry-picked from flar2's HTC One-M8 kernel)
* PM: devfreq: Use high priority workqueue. Same thing as mentioned above, give the GPU freq driver higher priority (flar2)
* A couple misc. I/O related patches from upstream CAF kernel
* Updated to latest NF6 kernel source from Samsung
* removed more log span (ktoonsez)
* added nightmare cpu governor
* tweaked some ancient configs for intellidemand back from the msm8x60 days
* added frandom support if there is anyone who uses it
* Added sysfs module to enable/disable fsync (enabled by default). It's in the standard location (/sys/module/sync/parameters/fsync_enabled) and like always can be configured though the chronic-config.sh script. I can also personally vouch for the tack that tricksterMOD will show the FSYNC enable/disable toggle with this patch. So any other app with the option should as well
* cleaned up chronic-config.sh and added missing cpu governors to list
July-17
* Added ability to overclock CPU to 3.01Ghtz
July-13
* Chronic Hotplug is born! This is basically based off of ktoonz KT auto hotplug but with user configurable parameters. Right now all you can change is the "enable_core_thresholds" this is the load the system has to be at for each respective core to turn online. the number is % of cpu load time 10. So 30% would be 300 (0 = always online). There is one module called enable_core_thresholds that sets all four cores. Its formatted like this (0 240 290 390). I have added an option in the chronic-config.sh script to configure this. Here is an example showing cores 0 and 3 always being on and 1 and 2 to come on at 24% and 29% respectively
Code:
ENABLE_CORE_THRES="0 240 290 0"
This line can be found in chronic-config.sh under the "Chronic Hotplug" section. Check script or above for more info.
* Disabled userspace mpdecision since we are now using Chronic Hotplug
* Also added option to set I/O scheduler in chronic-config.sh
* Backported some upstream 3.16 scheduler updates
July-10
* Reverted some of the sched tweaks merged from faux's kernel to vastly improve I/O performance
* Disabled some more debug options we don't need to speed up the kernel
* Switched back to Gzip compression as we have the room and kernel will initialize faster
* Set net loopback default mtu to 64K
* Fixed simple-ondemand gpu governor from crashing (ktoonsez)
* Reverted DRIVERS: SLIMBUS initial overclock commit as it seemed to drain battery when playing music
* Removed async-fsync for now until I make a module for it. Like another user said, I didn't notice any performance decrease with it off.
* Removed F2FS as i'm pretty sure its only compatible with AOSP (If i'm wrong let me know and i'll merge it back)
* Further tweaks to thermal (kthermal) values to be more stable on high frequencies (dropped polling speed to 500 ms and lowered temp limits about 2 degrees
* Disabled KT-auto-hotplug code i forgot about since I don't support it
* Stopped Samsung's "cpufreq_limit" driver from overriding Max freq (note: I had the option of stopping it from changing the min freq but it drastically decreases performance. This is equal to the cpu-boost and DVFS driver on the S4. They just expanded it to include a max freq cap which i disabled so we are not limited by it, So bottom line. You can set your min freq/ but it is temporarily overridden by the driver at times. THIS IS NORMAL AND IS LIKE THIS IN ALL KERNELS EXCEPT I ACTUALLY DISABLED THE MAX LIMIT SO IT STOPS GETTING LIMITED AT 1.19GHTZ AT TIMES. THIS IS THE OPTIMUM SOLUTION
* Fised chronic-config.sh not copying to the devices
* chronic-config.sh: fixed path for GPU max freq
* Set GPU min freq to 320mhtz (Samsung default) and added an option in chronic-config.sh to change it
* chronic-config.sh: list all available cpu frequencies instead of just a range since they are hard to remember
July-5
* initial release *
Some noteworthy changes from original source not listed above...
* Got rid of some logspan.
* send input events one at a time (faster touchboost related responses)
* few mismatch derps by samsung (faux123)
* Few other small fixes
* ]If you have problems with frequencies sticking use "System Tuner" and go to Settings and prevent other apps from changing CPU settings
* ]If you have problems with MINIMUM frequency sticking the reason is because of the touch boost driver. when you tap the screen you can't go below 1.19Ghtz, hence whenever you set a min freq....The only real solution to this without disabling the touch boost driver which hinders performance is to use the chronic-config.sh script or have an app set it boot. basically be set without a tap on the screen
* Although this kernel has now reached "beta" status. bugs still could pop up. please if you find a reproducible bug and decide to post please try and provide a last_kmesg or logcat.
TW : ChronicKernel-KK4.4-TW-KLTE-v1.5.zip
Goo.im Repo (mirror) : CLICK HERE
My Github (main): https://github.com/Team-Hydra/android_kernel_samsung_klte
* ktoonsez, this is a major fork of his kernel!
* First off of course cyanogen, the CyanogenMod project and all who contribute.
* A lot of this was taken/based off of flar2's Kernel for the HTC One, so thanks for the source!
* Also grabbed some things from Faux123's kernel
* All the people who have helped me learn more and more over the past year and a half (arco/dastin1018/android1234567) you guys are the best!
here is a donation link if you want to buy me a coffee or pack of smokes (I go through a lot sitting on the PC messing around lol) go ahead. But not required or expected by any means
Note: The name on the paypal account may say patricia, this is because it's a family paypal account.
Happy Flashing
Albinoman887
XDA:DevDB Information
[TW] ChronicKernel (UV/GPU/CPU-OC/linaro), Kernel for the Samsung Galaxy S 5
Contributors
albinoman887
Kernel Special Features: Linux 3.4.x Kernel for GS5 with overclocked CPU/GPU, Linaro optimizations, chronic-hotplug, upstream fixes, frandom, and much much more
Version Information
Status: Beta
Created 2014-07-06
Last Updated 2014-07-30
Reserved
close old project which i acidently put in general section and re-opened here. in unified develeopment
Thx for this kernel! Everything works great except one thing...the min frequency doesn't stick @ 300 mhz. I have this problem on all kernels I tried. I tried your advice with no frills cpu but unfortunately it doesn't helps it even set it to 300 mhz!
Verstuurd vanaf mijn SM-G900F met Tapatalk
FlemishDroid said:
Thx for this kernel! Everything works great except one thing...the min frequency doesn't stick @ 300 mhz. I have this problem an all kernels I tried. I tried your advice with no frills cpu but unfortunately it doesn't helps it even set it to 300 mhz!
Verstuurd vanaf mijn SM-G900F met Tapatalk
Click to expand...
Click to collapse
Yeah. its suppose to be like that. there is a cpu-boost driver written by samsung in the kernel that does that. To test i disabled part of the code that played with min freq but it really gives you a performance hit. so yeah. dont bother with min freq. Its suppose to change like that. its basically another mpdecision service in the background. ktoonz kernel has it. faux's has it. stock kernel has it. just the way it is on the msm8974pro
albinoman887 said:
ChronicKernel for Samsung Galaxy S5​
Click to expand...
Click to collapse
NM, answered my own question. Good luck with the kernel.
gspears said:
NM, answered my own question. Good luck with the kernel.
Click to expand...
Click to collapse
what was the question?
FlemishDroid said:
Thx for this kernel! Everything works great except one thing...the min frequency doesn't stick @ 300 mhz. I have this problem an all kernels I tried. I tried your advice with no frills cpu but unfortunately it doesn't helps it even set it to 300 mhz!
Verstuurd vanaf mijn SM-G900F met Tapatalk
Click to expand...
Click to collapse
not sure about no frills but using system tuner it will eventually reset to what you set
As the GPU is so much overclocked, is there any GPU governor similar to the CPU ones?
I assume the phone temporarily underclock the GPU if it's not needed to save battery, am I right?
And BTW I think the config file has a typo.
# GOV+smartmax
Should be
# GOV=smartmax
Right?
kgyirhj said:
As the GPU is so much overclocked, is there any GPU governor similar to the CPU ones?
I assume the phone temporarily underclock the GPU if it's not needed to save battery, am I right?
And BTW I think the config file has a typo.
# GOV+smartmax
Should be
# GOV=smartmax
Right?
Click to expand...
Click to collapse
yeah. Kt-simple gov is also avaiable
albinoman887 said:
what was the question?
Click to expand...
Click to collapse
It was stupid. I just was wondering why you were teasing us 900A owners with a kernel we can't have due to our locked bootloader and then I realized I was in the unified section.
Sorry about that.
Does this kernel include all features from original Ktoonse kernel?
I noticed Ktoonse TW kernel zip file is several megabytes bigger then this one.
Chronic-config.sh is not in system/etc. Do we make it our self's? Thanks for kernel btw
Sent from my SM-G900F using XDA Premium 4 mobile app
Any idea on stability with a S5 active sm g870a. And if so will Tegrak overclock run with this kernel.
Sent from my SAMSUNG-SM-G870A using XDA Premium 4 mobile app
selinux status?
Is the SELinux status set to permissive by any chance? if so that would be fantastic!
stalli0nUK said:
Chronic-config.sh is not in system/etc. Do we make it our self's? Thanks for kernel btw
Sent from my SM-G900F using XDA Premium 4 mobile app
Click to expand...
Click to collapse
hmmm. it should be. never actually checked to see if it copied over. is it present in the zip file?
EDIT: just realized i compiled the build with my "dev" script that doesnt include the zip. I'm gonna be releasnig a new version soon (NO ETA!!!!) when i do i'll pop the script in there. everything in it you could configure with an app anyways. I just like it because its set on boot always and faster
lars1110 said:
Is the SELinux status set to permissive by any chance? if so that would be fantastic!
Click to expand...
Click to collapse
yes it should be
kgyirhj said:
Does this kernel include all features from original Ktoonse kernel?
I noticed Ktoonse TW kernel zip file is several megabytes bigger then this one.
Click to expand...
Click to collapse
not entirely. the size is because of XZ compression. but I did remove some of the extra cpu throttling things. like GPS governor or music playing min freq etc since i dont support his app. But other then that yes..
GDofWR420 said:
Any idea on stability with a S5 active sm g870a. And if so will Tegrak overclock run with this kernel.
Sent from my SAMSUNG-SM-G870A using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Any one
Sent from my SAMSUNG-SM-G870A using XDA Premium 4 mobile app
GDofWR420 said:
Any one
Sent from my SAMSUNG-SM-G870A using XDA Premium 4 mobile app
Click to expand...
Click to collapse
You are in the galaxy s5 section. It will probably not work for the s5 active
Hellscythe said:
You are in the galaxy s5 section. It will probably not work for the s5 active
Click to expand...
Click to collapse
Reason I ask is I've heard people flashing stuff from your guys section and only losing the active button which other than the fingerprint scanner is really the only big difference and also s5 active doesn't have its own forum so I have to post here with you guys. Hopefully we will have our own forum soon. EDIT: duh locked bootloader here never mind
Sent from my SAMSUNG-SM-G870A using XDA Premium 4 mobile app
albinoman887 - Thank you for this kernel! Only thing missing from Ktoonsez was -fsync support and you rectified the issue.
Update
One issue I have found, flashing the kernel breaks init.d, for some reason it deletes 'system/bin/sysinit'.
Also I guess I wrongly assumed that the HTC fsync was the same as standard -fsync disabling, for one the module isn't there and there is not any bandwidth increase that one would see if -fsync was disabled. Can you add support for it? The issues with it and data loss are greatly exaggerated and it doesn't have to be enabled by default. Thank you, so far the kernel is running great.

Categories

Resources