Well,
I have sucessfully unlocked the bootloader...
I'm just so happy right now too.
I'm not giving any hints until I release it.
I'm going to release it within a few days to a few months (depends on how it goes)
Well, get your bounties ready...
Don't donate until I release because something may happen between now and release time!!!!!
Cheers and thank you for all your encouragement
Have a happy Good Friday and Easter...
Update: Found a much easier way...
But first a bell device that is unlocked would need to do: dd if=/dev/block/mmcblk0 of=/sdcard/mbr.bin count=256 and upload the mbr.bin here...
Update:
I still can't find where I was, but here is the code on where I found it:
Code:
ROM:88F13734 check_unlock_code ; CODE XREF: sub_88F13E38+8p
ROM:88F13734 ; sub_88F13E48+4p ...
ROM:88F13734 SUBS R3, R1, #1 ; Rd = Op1 - Op2
ROM:88F13736 TST R3, R1 ; Set cond. codes on Op1 & Op2
ROM:88F13738 PUSH {R4-R6,LR} ; Push registers
ROM:88F1373A MOV R4, R1 ; Rd = Op2
ROM:88F1373C BEQ _start_check_code ; Branch
ROM:88F1373E MOVS R4, #0 ; Already unlocked?
ROM:88F13740 B bye_bye ; Branch
ROM:88F13742 _start_check_code ; CODE XREF: check_unlock_code+8j
ROM:88F13742 ADDS R0, #0xC ; Rd = Op1 + Op2
ROM:88F13744 CMP R0, #0xB ; Set cond. codes on Op1 - Op2
ROM:88F13746 IT LS ; If Then
ROM:88F13748 MOVLS R0, #0xC ; Rd = Op2
ROM:88F1374A ADDS R0, #3 ; Rd = Op1 + Op2
ROM:88F1374E LSLS R3, R0, #0x14 ; Logical Shift Left
ROM:88F13750 CBZ R1, idk_88F1375A ; Compare and Branch on Zero
ROM:88F13752 CMP R1, #0xF ; Set cond. codes on Op1 - Op2
ROM:88F13754 IT LS ; If Then
ROM:88F13756 MOVLS R4, #0x10 ; Rd = Op2
ROM:88F13758 ADDS R5, R5, R4 ; Rd = Op1 + Op2
ROM:88F1375A
ROM:88F1375A idk_88F1375A ; CODE XREF: check_unlock_code+1Cj
ROM:88F1375A LDR R2, =prob_fail ; Load from Memory
ROM:88F1375C LDR R3, [R2] ; Load from Memory
ROM:88F1375E ADDS R3, #1 ; Rd = Op1 + Op2
ROM:88F13760 STR R3, [R2] ; Store to Memory
ROM:88F13762 CMP R3, #1 ; Set cond. codes on Op1 - Op2
ROM:88F13764 BNE loc_88F1376A ; Branch
ROM:88F13766 BLX sub_88F08C7C ; Branch with Link and Exchange (immediate address)
ROM:88F1376A
ROM:88F1376A loc_88F1376A ; CODE XREF: check_unlock_code+30j
ROM:88F1376A LDR R2, =0x88F58A44 ; Load from Memory
ROM:88F1376E LSLS R0, R1, #4 ; Logical Shift Left
ROM:88F13770 LDR R3, [R2,#0xC] ; Load from Memory
ROM:88F13772 B loc_88F137EC ; Branch
ROM:88F13774 ; ---------------------------------------------------------------------------
ROM:88F13774
ROM:88F13774 idk_algorithm ; CODE XREF: check_unlock_code+BCj
ROM:88F13774 LDR R2, [R3,#8] ; Load from Memory
ROM:88F13776 CMP R2, R5 ; Set cond. codes on Op1 - Op2
ROM:88F13778 LDR R2, [R3,#4] ; Load from Memory
ROM:88F1377A BCC loc_88F137EA ; Branch
ROM:88F1377C LDR R6, [R3] ; Load from Memory
ROM:88F1377E CMP R2, R0 ; Set cond. codes on Op1 - Op2
ROM:88F13780 ITE NE ; If Then
ROM:88F13782 MOVNE R1, R2 ; Rd = Op2
ROM:88F13784 MOVEQ R1, #0 ; Rd = Op2
ROM:88F13786 STR R6, [R2] ; Store to Memory
ROM:88F13788 LDR R2, [R3] ; Load from Memory
ROM:88F1378A LDR R6, [R3,#4] ; Load from Memory
ROM:88F1378C STR R6, [R2,#4] ; Store to Memory
ROM:88F1378E MOVS R2, #0 ; Rd = Op2
ROM:88F13790 LDR R6, [R3,#8] ; Load from Memory
ROM:88F13792 STR R2, [R3,#4] ; Store to Memory
ROM:88F13794 STR R2, [R3] ; Store to Memory
ROM:88F13798 LSLS R4, R1, #8 ; Logical Shift Left
ROM:88F1379A CMP R6, R2 ; Set cond. codes on Op1 - Op2
ROM:88F1379C BLS loc_88F137C4 ; Branch
ROM:88F1379E ADDS R2, R3, R5 ; Rd = Op1 + Op2
ROM:88F137A0 SUBS R6, R6, R5 ; Rd = Op1 - Op2
ROM:88F137A2 STR R6, [R2,#8] ; Store to Memory
ROM:88F137A4 STR R5, [R3,#8] ; Store to Memory
ROM:88F137A6 CBZ R1, loc_88F137B6 ; Compare and Branch on Zero
ROM:88F137A8 LDR R0, [R1] ; Load from Memory
ROM:88F137AA STR R0, [R3,R5] ; Store to Memory
ROM:88F137AC STR R1, [R2,#4] ; Store to Memory
ROM:88F137AE LDR R0, [R1] ; Load from Memory
ROM:88F137B0 STR R2, [R0,#4] ; Store to Memory
ROM:88F137B2 STR R2, [R1] ; Store to Memory
ROM:88F137B4 B loc_88F137C4 ; Branch
ROM:88F137B6 ; ---------------------------------------------------------------------------
ROM:88F137B6
ROM:88F137B6 loc_88F137B6 ; CODE XREF: check_unlock_code+72j
ROM:88F137B6 LDR R1, =0x88F58A44 ; Load from Memory
ROM:88F137B8 LDR R6, [R1,#8] ; Load from Memory
ROM:88F137BA STR R6, [R3,R5] ; Store to Memory
ROM:88F137BC STR R0, [R2,#4] ; Store to Memory
ROM:88F137BE LDR R0, [R1,#8] ; Load from Memory
ROM:88F137C0 STR R2, [R0,#4] ; Store to Memory
ROM:88F137C2 STR R2, [R1,#8] ; Store to Memory
ROM:88F137C4
ROM:88F137C4 loc_88F137C4 ; CODE XREF: check_unlock_code+68j
ROM:88F137C4 ; check_unlock_code+80j
ROM:88F137C4 LDR R1, [R3,#8] ; Load from Memory
ROM:88F137C8 LSLS R4, R1, #8 ; Logical Shift Left
ROM:88F137CA CBNZ R4, _wrong ; Compare and Branch on Non-Zero
ROM:88F137CC MOV R4, R2 ; Rd = Op2
ROM:88F137CE B loc_88F137DA ; Branch
ROM:88F137D0 ; ---------------------------------------------------------------------------
ROM:88F137D0
ROM:88F137D0 _wrong ; CODE XREF: check_unlock_code+96j
ROM:88F137D0 SUBS R0, R4, #1 ; Rd = Op1 - Op2
ROM:88F137D2 NEGS R4, R4 ; Negate
ROM:88F137D4 ADDS R2, R0, R2 ; Rd = Op1 + Op2
ROM:88F137DA
ROM:88F137DA loc_88F137DA ; CODE XREF: check_unlock_code+9Aj
ROM:88F137DA LDR R2, =0x48454150 ; Load from Memory
ROM:88F137DE SUBS R4, #8 ; Rd = Op1 - Op2
ROM:88F137E2 MOVS R4, R0 ; Rd = Op2
ROM:88F137E6 CMP R4, #0xC ; Set cond. codes on Op1 - Op2
ROM:88F137E8 B _im_leaving ; Branch
ROM:88F137EA loc_88F137EA ; CODE XREF: check_unlock_code+46j
ROM:88F137EA MOV R3, R2 ; Rd = Op2
ROM:88F137EC
ROM:88F137EC loc_88F137EC ; CODE XREF: check_unlock_code+3Ej
ROM:88F137EC CMP R3, R1 ; Set cond. codes on Op1 - Op2
ROM:88F137EE LDR R0, =0x88F58A4C ; Load from Memory
ROM:88F137F0 BNE idk_algorithm ; Branch
ROM:88F137F2 MOVS R4, #0 ; Rd = Op2
ROM:88F137F4
ROM:88F137F4 _im_leaving ; CODE XREF: check_unlock_code+B4j
ROM:88F137F4 LDR R2, =prob_fail ; Load from Memory
ROM:88F137F6 LDR R3, [R2] ; Load from Memory
ROM:88F137F8 SUBS R3, #1 ; R3 = R3 - 1
ROM:88F137FA STR R3, [R2] ; Store to Memory
ROM:88F137FC CBNZ R3, bye_bye ; No zero, then bye bye if thats the case!
ROM:88F137FE BIC R0, R0, #0x80 ; Right?
ROM:88F13802
ROM:88F13802 bye_bye ; This is it
ROM:88F13802 MOV R0, R4 ; Returning the value of R4?
ROM:88F13804 POP {R4-R6,PC} ; Gone...
ROM:88F13806 NOP ; Silence
ROM:88F13806 ; End of function check_unlock_code
ROM:88F13806
ROM:88F13806 ; ---------------------------------------------------------------------------
ROM:88F13808 prob_fail DCD "Something failed?"
why are you not posting right away...?
if you really unlocked it, you should post as soon as possible.
Cant wait to see how this turns out.
Cheers! And I at least understand the wish to wait.
Can you imagine all the "it didn't work, fix it" posts if you posted too early...lol
Sent from my MB886 using xda premium
Swiftb12305 said:
Donate until you release idk about that.
Click to expand...
Click to collapse
He said "don't donate until the release"
Sent from my MB886 using xda app-developers app
I'll post my proof later
Also, I'm working as hard as possible to create my tool to unlock it.
Enough hints before motorola releases an update to patch it...
Also, I don't want people bugging me after they donate saying when are you going to release it.
Kadarn said:
Cheers! And I at least understand the wish to wait.
Can you imagine all the "it didn't work, fix it" posts if you posted too early...lol
Sent from my MB886 using xda premium
Click to expand...
Click to collapse
anything is better than "i did it guys! but i'm not going to give it to you!!"
centipedes said:
anything is better than "i did it guys! but i'm not going to give it to you!!"
Click to expand...
Click to collapse
Well not yet...
I'm trying to obfuscate it so Motorola won't patch it...
tcf38012 said:
Well not yet...
I'm trying to obfuscate it so Motorola won't patch it...
Click to expand...
Click to collapse
why?
motorola is not likely to produce another patch for this phone and i don't think they can silent patch so...
centipedes said:
why?
motorola is not likely to produce another patch for this phone and i don't think they can silent patch so...
Click to expand...
Click to collapse
They patched the Atrix 4G bootloader unlock.
But anyways,
I cracked the code algorithm by reverse enginieering the emmc_appsboot.mbn
So right now I'm putting it in a program to generate the code.
Also, all the moto msm8960 phones may use a different algorithm.
So I'm going to probably have to download their bootloaders and reverse it (if my testers say it isn't unlockable).
I'm sorry I'm lost. what's the purpose of this post?
To let us know that TCF unlocked our bootloader. And we should be thanking him until he releases it, then thank him some more.
440bro said:
I'm sorry I'm lost. what's the purpose of this post?
Click to expand...
Click to collapse
TenguSnake said:
To let us know that TCF unlocked our bootloader. And we should be thanking him until he releases it, then thank him some more.
Click to expand...
Click to collapse
That's funny. Appreciate it !
Sent from my DROID RAZR HD using xda premium
TenguSnake said:
To let us know that TCF unlocked our bootloader. And we should be thanking him until he releases it, then thank him some more.
Click to expand...
Click to collapse
Funny (made me laugh), But I posted it to know that Motorola FAILED (Bad too)!!!!!
He he he
Thats what you get Motorola, for teasing us with an unlockable bootloader.
Now its really unlockable.
tcf38012 said:
Funny (made me laugh), But I posted it to know that Motorola FAILED (Bad too)!!!!!
He he he
Thats what you get Motorola, for teasing us with an unlockable bootloader.
Now its really unlockable.
Click to expand...
Click to collapse
Since we all love to share, please share. There is a very nice bounty waiting for you....
Sent from my DROID RAZR HD using xda premium
Forget a one-click program, give us the DIY instructions!
progrockguy said:
Forget a one-click program, give us the DIY instructions!
Click to expand...
Click to collapse
Ok then,
Are you good at math (logcial shifts, adding, subtracting, hexadecimal, etc)???
Well, since I lost my work, I'll give you arm assembly code on how it checks it.
You're going to have to figure out a place to keep this program and distribute I.e pm you for link etc....I'm sure googles goon squad is already looking for a link to shutdown
Sent from my MB886 using xda app-developers app
Hell yeah man. Can already taste cyanogenmod goodness.
Sent from my MB886 using xda app-developers app
tcf38012 said:
Ok then,
Are you good at math (logcial shifts, adding, subtracting, hexadecimal, etc)???
Well, since I lost my work, I'll give you arm assembly code on how it checks it.
Click to expand...
Click to collapse
what do you mean you "lost your work?"
Related
This is an EXPERIMENTAL Kernel that continues the work of @pengus77, but with some additions i make. That means a huge thank to pengus77! Please check his thread http://forum.xda-developers.com/showthread.php?t=2097788
This kernel is completely based on his latest release.
This kernel only supports newbl and will only work on roms with 3.1 support (these are atm only 4.4 (aka KitKat) Roms and tonyps TheRom that is compatible with the 3.1 kernel
Features:
Features from the kowalski kernel:
3.1.10 Kernel Version
bcmdhd wifi driver
Dynamic FSync
Overclock to 1.5 GHz (Not all phones work well with 1.5 Ghz!)
Undervolting
MultiCore Sched PM
Auto Hotplug
Fast charge
Wifi PM
and many more ...
Features added by me:
PKSM as enhanced KSM module
Built in ZRAM Modul (that makes it possible to use the android default zram solution)
Possibility to use deferred_timer for (P)KSM
0, 16 or 32 MB Ramhack
Support for extra free kbytes tunable (more a ROM dev feature)
Custom vibration force/strength through sysfs
120MHz and 168 MHz frequencies for more battery savings during wakelock
Known bugs:
Camera Bug
Gyro does not work properly
If you want to report a new kernel bug, you must describe your problem in detail, post your kmsg and last_kmsg (if available) (you can found them under /proc/kmsg and /proc/last_kmsg) otherwise the rule is: no log = no issue
Downloads:
This is more a personal kernel build. I have built these kernels for weeks for myself and used them in private. Now i just want to share them with you guys!
You can download the kernels here: https://s.basketbuild.com/devs/firtecy/p990/kernel/3.1/ They are labeled like this: firtecy_kernel_X-N.zip where X is either exp for an experimental kernel release and stable for a stable kernel and where N is the build number (this number is always incremental!)
Sourcecode:
You can find the sourcecode at github: https://github.com/Firtecy/kowalski/ the branch is exp. The config file is: "kowalski_defconfig"
The intention of this thread is to continue the 3.1 kernel development pengus started. Development related questions or discussions are appreciated
Have fun!
And to quote pengus77:
On a side note... i'm not really responsible if you decide to test it and your phone melts... right?
Thanks to:
@hjunii for bringing up 3.1 Kernel
@pengus77 for the kowalski kernel
XDA:DevDB Information
Firtecy Kernel - a modified Kowalski Kernel, Kernel for the LG Optimus 2x
Contributors
Firtecy, pengus77, hjunii, djnoxd
Kernel Special Features:
Version Information
Status: Beta
Current Beta Version: 3.1#5
Beta Release Date: 2014-08-25
Created 2014-10-31
Last Updated 2014-10-31
Changelog:
firtecy_kernel_exp-5 - 25.8.2014
Added intellactive governor (thanks to @faux123) and powersave
Some bug fixes
Added sync framework and exfat support (but not active for the moment)
Added a "kowalski touch driver" and dt2w files (since they are not stable enough for now, they are disabled)
The reason why I disabled those things is that I didn't had the time to test them. If you want to test them you have to build your own version. Especially for other developers that can be interesting.
Click to expand...
Click to collapse
firtecy_kernel_exp-4 - 25.6.2014
minor updates/fixes from other kernels
Added the min screen on freq back
Added a sysfs attribute to change the min screen on freq
when disabling pksm, it will be disabled completely
Screen on min freq
If your screen is on, this frequency is the lowest that will be used. If your screen goes off for whatever reason the cpu will go to the normal min frequency.
Note: It seems like 120MHz and 168MHz are stable even for screen on, but since there was the question if i can add it, here you go:
How to change the value:
Code:
echo [value] > /sys/module/cpu_tegra/parameters/cpu_screen_on_min_cap
You have to use a value that is in the frequency table, but you have to echo the frequency in KHz, so 120MHz -> 120000KHz:
Code:
echo 120000 > /sys/module/cpu_tegra/parameters/cpu_screen_on_min_cap
This option does not stick after a reboot
According to @BS86 this release should be more stable than exp3 and thanks for testing!
Click to expand...
Click to collapse
firtecy_kernel_exp-3 - 13.6.2014
tons of updates to zram/zcache (picked from faux123 tegra kernels)
crypto: added optimized AES and SHA1 routines
added permission checker for binder IPC
tegra video driver updates
Fixed the voltage table -> all values below 770 MHz are not supported by the regulator chip (thanks to all who helped researching! )
Click to expand...
Click to collapse
firtecy_kernel_exp-2 - 8.6.2014
Added the possibility to change the vibration force (or vibration strength)
Added 120MHz and 168MHz as cpu frequencies
Enabled 600 mV as lowest undervolting value (undervolting is very dangerous if you go too low! Better stay at defaults)
Fixed a nvidia or lg cpu derp.
For security reasons it is not possible that the cpu will go underneath 216MHz when screen is on!
Option to use: No ramhack, 16Mb Ramhack or 32 Mb Ramhack!
Vibration force:
to change the vibration force echo a number between 0 and 127 to /sys/module/tspdrv/parameters/vibration_force. Where 127 is the highest and the default. 20 seems to be the last noticeable value.
Code:
echo [force] > /sys/module/tspdrv/parameters/vibration_force
This option does not stick after a reboot. Rom support will be available (hopefully) soon. I'm preparing a patch for tonyps Rom, so that it is possible to change it in the Rom settings.
120 and 168Mhz:
These values are useful for the case where the phone helds a wake lock. This means because of the wake lock it won't enter deepsleep. The phone would run at 216MHz even if it isn't needed. Running at 168Mhz or even 120MHz should result in a better battery life.
If you experience any problems, try to raise the voltage at this frequencies to a higher value and test again. If it is still unstable report it (with a description of the problem) and change the minimum frequency to 216Mhz.
Click to expand...
Click to collapse
firtecy_kernel_exp-1 - 1.6.2014
Initial release
Base source: kowalski kernel
Added built in ZRam (no need to use zram.ko for longer)
Added PKSM as replacement for ksm (http://code.google.com/p/pksm/)
Enabled deferred timers for pksm and ksm
Notice: Since there is no ksm available, but pksm you will not find the options for ksm in any app. All configurations are no longer under: /sys/kernel/mm/ksm/ , but under: /sys/kernel/mm/pksm/
To deativate pksm run this command as root:
Code:
echo 0 > /sys/kernel/mm/pksm/run
This option does not stick after a reboot
Click to expand...
Click to collapse
How to build your own kernel:
You need a Linux PC with either 32 or 64Bit. I'm using Linux Mint Debian Edition 64Bit. And you will need the following packages:
build-essential kernel-package libncurses5-dev bzip2
For example to install them run:
Code:
sudo apt-get install -y build-essential kernel-package libncurses5-dev bzip2
Hint: If you run into troubles with installing packages, check this post
1. Create a new directory for your kernel building (for example: ~/kernel_p990)
Code:
mkdir ~/kernel_p990
2. cd to your kernel dir
Code:
cd ~/kernel_p990
3. Run this command to download the source code for compiling:
Code:
git clone https://github.com/Firtecy/kowalski
4. Now we need to download the toolchain for compiling: Download it from here: http://www.linaro.org/downloads/ under the Bare-Metal section. It is labeled GCC ARM Embedded. Version: 4.7-2013.q3 ; Release: 13.11
5. Now extract the toolchain to a new dir, for example: ~/kernel_p990/toolchain
6. Now we have to define some values for the build enviroment:
Set the CROSS_COMPILE var to your path where you have downloaded your toolchain. For example:
Code:
export CROSS_COMPILE=~/kernel_p990/toolchain/gcc-arm-none-eabi-4_7-2013q3/bin/arm-none-eabi-
Notice at the end you find this prefix: arm-none-eabi- this is not a dir, but the prefix for all files inside the bin directory(for example: arm-none-eabi-gcc)
7. Set the architecture (processor architecture) for which the kernel should be build. So in our case arm:
Code:
export ARCH=arm
and
Code:
export SUBARCH=arm
8. The next step defines the configurations for the kernel (in this case the configuration is named kowalski_defconig)
Code:
make kowalski_defconfig
Notice: this takes the configuration from the file located under arch/arm/configs and will write it to .config
9. Now we can finally build the kernel :victory: Run:
Code:
make
You will find the kernel under: arch/arm/boot/zImage. You just have to copy the zImage and replace the one found in the flashable zip (e.g. my downloads) under kernel/zImage with your own.
Troubleshooting:
Before you can build or run any from step 8 or 9 you have to make sure that all three vars are set correctly (so ARCH, CROSS_COMPILE and SUBARCH). You can check it by running:
Code:
echo $ARCH
for ARCH (for CROSS_COMPILE and SUBARCH it is the seem, but you have to change the name)
If they are not set correctly repeat step 6 and 7.
If you get a compile error first try to run:
Code:
make clean
and try to build the kernel again.
How to diff 2 files or directories in linux
If you are running linux and have two files on your computer and you want to find the differences you can run the diff command in the terminal.
Let's say you have a file "hjunii/traps.c" and "kowalski/traps.c", this is how you compare them:
Code:
diff -u hjunii/traps.c kowalski/traps.c
The command will compare both and will print an output to the terminal that will be similar to this:
Code:
@@ -27,6 +27,7 @@
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/sched.h>
+#include <linux/slab.h>
#include <linux/atomic.h>
#include <asm/cacheflush.h>
@@ -483,25 +484,38 @@
static inline void
do_cache_op(unsigned long start, unsigned long end, int flags)
{
- struct mm_struct *mm = current->active_mm;
- struct vm_area_struct *vma;
-
if (end < start || flags)
return;
+ return flush_cache_user_range(start, end);
+}
+
+static inline int
+do_cache_op_iov(const struct iovec __user *uiov, unsigned long cnt, int flags)
+{
+ int i, ret = 0;
+ unsigned long len = cnt * sizeof(struct iovec);
+ struct iovec *iov = kmalloc(len, GFP_KERNEL);
- down_read(&mm->mmap_sem);
- vma = find_vma(mm, start);
- if (vma && vma->vm_start < end) {
- if (start < vma->vm_start)
- start = vma->vm_start;
- if (end > vma->vm_end)
- end = vma->vm_end;
+ if (iov == NULL) {
+ ret = -ENOMEM;
+ goto out;
+ }
- up_read(&mm->mmap_sem);
- flush_cache_user_range(start, end);
- return;
+ if (copy_from_user(iov, uiov, len)) {
+ ret = -EFAULT;
+ goto out_free;
}
- up_read(&mm->mmap_sem);
+
+ for (i = 0; i < cnt; ++i) {
+ unsigned long start = (unsigned long __force)iov[i].iov_base;
+ unsigned long end = start + iov[i].iov_len;
+ do_cache_op(start, end, flags);
+ }
+
+out_free:
+ kfree(iov);
+out:
+ return ret;
}
/*
@@ -550,6 +564,10 @@
do_cache_op(regs->ARM_r0, regs->ARM_r1, regs->ARM_r2);
return 0;
+ case NR(cacheflush_iov):
+ do_cache_op_iov((const struct iovec __user *)regs->ARM_r0,
+ regs->ARM_r1, regs->ARM_r2);
+
case NR(usr26):
if (!(elf_hwcap & HWCAP_26BIT))
break;
Each line starting with a "+" are lines that were added, for example:
Code:
+#include <linux/slab.h>
On the other side lines starting with a "-" are lines that were deleted, for example:
Code:
- struct mm_struct *mm = current->active_mm;
A line like the following should just show you were you find the changes:
Code:
@@ -550,6 +564,10 @@
with the following syntax:
Code:
@@ -[line number in 1. file],[number of lines that were printed from 1.file] + [line number in 2. file], [number of lines that were printed from 2.file] @@
But the basic syntax is the following:
Code:
diff -u [base file] [file containing the changes you want to display]
You can also compare whole directories!
ProTip: Install the program "colordiff". It will color the console output, that means the output is more readable!
Syntax:
Code:
diff -u [base file] [file containing the changes you want to display] | colordiff
Example:
Code:
[COLOR="Plum"]@@ -1,8 +1,8 @@[/COLOR]
[COLOR="Red"]-VERSION = 2
-PATCHLEVEL = 6
-SUBLEVEL = 39
-EXTRAVERSION = .4
-NAME = Flesh-Eating Bats with Fangs[/COLOR]
[COLOR="RoyalBlue"]+VERSION = 3
+PATCHLEVEL = 1
+SUBLEVEL = 10
+EXTRAVERSION =
+NAME = "Divemaster Edition"[/COLOR]
Nice New kernel!
will try that one as soon as possible.
thanks for the work.we dont let the 2x die!
Will this work on Mokee rom?
If you don't understand the subconscious you will always bump into it calling it fate...
themistoklisv said:
Will this work on Mokee rom?
If you don't understand the subconscious you will always bump into it calling it fate...
Click to expand...
Click to collapse
Which kernel is included by default in the Rom or can you paste a link?
Gesendet von meinem LG-P990 mit Tapatalk
[email protected]#126
If you don't understand the subconscious you will always bump into it calling it fate...
themistoklisv said:
[email protected]#126
If you don't understand the subconscious you will always bump into it calling it fate...
Click to expand...
Click to collapse
Then I am sorry, but it is not compatible.
The 3.1 kernel differs too much to be compatible with ROMs that are build for an 2.6 kernel
Gesendet von meinem LG-P990 mit Tapatalk
Oh my God, amazing! Finally some serious development! Great work Firtecy. Time to bust CM11 back on my device and try this ramhacked wonder
Oh...i see...this why no ksm settings
Btw...i would suggest a higher ramhack like 32mb like m1 ramhack...but this kernel works great so far...just classic low ram problem exist (well...obviously) need to set an aggresive value (i'm using swap without zram)
Do i need to post a logcat?
Sent from my LG-P990
Will this work with cm 10.1?
Wysłane z mojego LG-P990 przy użyciu Tapatalka
No, it has a different wifi driver, sorry for my english
Sent from my ME173X using XDA Free mobile app
Okey
Wysłane z mojego LG-P990 przy użyciu Tapatalka
The first change:
Okay since there was the wish that there should be a 32 MB ramhack version and the poll showed the same i built one. You can find it at my basketbuild https://s.basketbuild.com/devs/firtecy/p990/kernel/3.1/.
So the 32 MB Ramhack version is labeled: firtecy_kernel_exp-1_32MB-RH.zip and the previous one is labeled: firtecy_kernel_exp-1_16MB-RH.zip
I have flashed it and in the settings app, I had 372MB available (Settings > About)
The second change:
Since i have been asked to explain how to build my kernel from source code i wrote a small how to in the third post of the thread. Check it and maybe try to build it for your own.
If you wish i can also write how to change the kernel by your own. (So add new stuff or something similiar)
Great job firtecy...downloading asap
--------------------++-
Very fluid ui with 32rh and with performance control app i can set lmk on boot (dunno..the one come with rom 0527 always reset after reboot)
So far...no bugs for me (except known bugs)
Btw i'm using swap only..no zram but zram works too (i turned it off)
Sent from my LG-P990
Would like to know if random reboot and phone always waking is a kernel related or rom?
Sent from my LG-P990 using Tapatalk 2
mkchan said:
Would like to know if random reboot and phone always waking is a kernel related or rom?
Sent from my LG-P990 using Tapatalk 2
Click to expand...
Click to collapse
I haven't got random reboots or always waking phone in fact on 3.1 kernel there's a bug for waking phone (need press power button twice or thrice)
Maybe your memory full ocupied and still lot queued job to do...that's sometimes happen to me...that's why i need to set lmk a bit aggresive...
Well as dev always said...log or it's not happen
Sent from my LG-P990
Firtecy said:
How to build your own kernel:
You need a Linux PC with either 32 or 64Bit. I'm using Linux Mint Debian Edition 64Bit. And you will need the following packages:
build-essential kernel-package libncurses5-dev bzip2
For example to install them run:
Code:
sudo apt-get install -y build-essential kernel-package libncurses5-dev bzip2
Click to expand...
Click to collapse
I have even had to install libc6-dev-i386 in my 64bit vbox image, then the make seems to have started working :good:
If you wish i can also write how to change the kernel by your own. (So add new stuff or something similiar)
Click to expand...
Click to collapse
+1 (if you don't mind and have time for it )
Thanks!
Thx for your dev. but can you build this kernel for su660?
나의 LG-P990 의 Tapatalk에서 보냄
Introduction
Hello everyone, this is a thread to introduce both users and kernel developers to the concept of linux-stable as well as give developers some tips and a tree to either merge into their own, use as a base, or just as a reference. Feel free to ask questions and enjoy!
What is it?
linux-stable is, as the name implies, the stable branch of the Linux kernel, the base of Android. The phone could not run without the Linux kernel (at least not without reworking a lot of stuff). The Android kernels are based on the longterm stable trees:
Longterm
There are usually several "longterm maintenance" kernel releases provided for the purposes of backporting bugfixes for older kernel trees. Only important bugfixes are applied to such kernels and they don't usually see very frequent releases, especially for older trees.
Click to expand...
Click to collapse
Source: https://www.kernel.org/category/releases.html
All Linux development happens on the master branch, which is governed by Linus Torvalds. When issues are discovered there, the fixes are applied then backported to these various stable trees for consumption. It is not uncommon for a fix to need to go back a few years.
There is a LOT more information available in the notes repo in the android-linux-stable organization if you care to learn more in-depth: https://github.com/android-linux-stable/notes
What does this mean for me?
If you are a developer, this means you should be merging these changes into your own tree. These are vetted, stable fixes to real world problems and they are being handed out for free. It does not take long to get up to date (as you can just merge this tree directly into your own or do it yourself using the tree as a reference) and once you are up to date, there is usually a release once every two weeks, give or take. I provide a rebuttal to a lot of various complaints here. If you still feel like there is a good reason not to do this, please let me know, I'll be happy to try and debate on it!
If you are a user, it means that you should be looking for and using kernels that have these fixes, as it shows the developers care for your security and stability. The current version for this device is 4.9.65 on OxygenOS 5.x and 4.9.106 on OxygenOS 9.0/Open Beta while the current version upstream is 4.9.135 so all you need to do is go into Settings > About phone and look at the kernel version to know if you are up to date.
How do I use?
If you are a developer, the reference tree is located in the android-linux-stable organization: https://github.com/android-linux-stable/op6
This can either be merged into your existing kernel tree if you have one or be used as a fresh base. You do not need my permission to use it nor do you need to give me credit (although it would be appreciated).
If you are a user, use a kernel that has the changes added in!
Getting notified about updates
There are a few ways to get notified of linux-stable updates:
The linux-kernel-announce mailing list: http://vger.kernel.org/vger-lists.html#linux-kernel-announce
The android-linux-stable Telegram channel: https://t.me/alsupdates
Subscribe to this thread
Follow me on Google+ or Twitter
Getting help
If you have any issues with getting these changes into your tree or want to ask a question, there are a few different ways to do it:
Post in this thread
Join the linux-stable support chat on Telegram: https://t.me/joinchat/C1UAJ1EMSX31PCFdwLnOSg
File an issue either in the android-linux-stable notes repo or the android-linux-stable repo for this device
When requesting help, please give some solid details as to what you are struggling with, as I am happy to provide assistant and clarity but not to do something for you (unless I screwed up).
God damn ! You here ! I'm feeling lucky ! Nexus 6P, Oneplus 5 and now Oneplus 6 damn :')
Thanks for your hard work !
Yea boiii
Imma flashing it rn <3
Thanks
Thank you @nathanchance for your efforts. Much needed for the new 4.9 kernel.
Nice one man!!
Sent from my OnePlus6 using XDA Labs
Who got 1 star ? really ?
btw, @nathanchance you have 5 star from me, good work ,and it is nice to see you here.
As always, good job with informing users , waiting for your kernel
Thanks a lot! :good:
marko94 said:
Who got 1 star ? really ?
btw, @nathanchance you have 5 star from me, good work ,and it is nice to see you here.
As always, good job with informing users , waiting for your kernel
Click to expand...
Click to collapse
Ratings mean absolutely nothing and I feel sorry for anyone who puts any stock in them but thanks
My kernel should be out tonight.
Hey, can you explain me we can install upper kernel version on the last firmware? And how to do it if we can?
Thank and good thread!
Devices : OnePlus 6
4.9.108 has been merged in.
black_file said:
Hey, can you explain me we can install upper kernel version on the last firmware? And how to do it if we can?
Thank and good thread!
Devices : OnePlus 6
Click to expand...
Click to collapse
Flash a kernel that has these changes. At this moment, I am the only one who has done so: https://forum.xda-developers.com/oneplus-6/development/op6-flash-kernel-1-00-t3801652
4.9.109 has been merged in.
Could you please provide instructions on how to flash a kernel?
Earlier, I could just extract the boot.img file from one of the ROM images and then extract+repackage with my built Image.gz-dtb using mkbootimg.
The newer Android ROMs seem to only contain a package.bin file instead.
phenoxis said:
Could you please provide instructions on how to flash a kernel?
Earlier, I could just extract the boot.img file from one of the ROM images and then extract+repackage with my built Image.gz-dtb using mkbootimg.
The newer Android ROMs seem to only contain a package.bin file instead.
Click to expand...
Click to collapse
Easiest way is to temporarily boot TWRP on stock then run
Code:
adb shell dd if=/dev/block/bootdevice/by-name/boot$(getprop ro.boot.slot_suffix) of=/tmp/boot.img
adb pull /tmp/boot.img .
then just unpack like you have before.
Sent from my Pixel 2 XL using XDA Labs
nathanchance said:
Easiest way is to temporarily boot TWRP on stock then run
Code:
adb shell dd if=/dev/block/bootdevice/by-name/boot$(getprop ro.boot.slot_suffix) of=/tmp/boot.img
adb pull /tmp/boot.img .
then just unpack like you have before.
Click to expand...
Click to collapse
I followed your advice with both the original OnePlus 6 kernel source and your android-linux-stable repo. I was able to build the kernel, repack it and flash it, but with both repos, the device is sitting with the bootanimation for about half hour or so. Do both repositories need additional work before it can boot?
I packaged boot.img with the following command:
Code:
mkbootimg --base 0 --pagesize 4096 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000
--second_offset 0x00f00000 --tags_offset 0x00000100
--cmdline 'androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000
msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048
androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 buildvariant=user' --kernel kernel --ramdisk ramdisk -o boot_1.img
phenoxis said:
I followed your advice with both the original OnePlus 6 kernel source and your android-linux-stable repo. I was able to build the kernel, repack it and flash it, but with both repos, the device is sitting with the bootanimation for about half hour or so. Do both repositories need additional work before it can boot?
I packaged boot.img with the following command:
Code:
mkbootimg --base 0 --pagesize 4096 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000
--second_offset 0x00f00000 --tags_offset 0x00000100
--cmdline 'androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000
msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048
androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 buildvariant=user' --kernel kernel --ramdisk ramdisk -o boot_1.img
Click to expand...
Click to collapse
They shouldn't... Did you use Image.gz-dtb as the kernel?
nathanchance said:
They shouldn't... Did you use Image.gz-dtb as the kernel?
Click to expand...
Click to collapse
Yes, I'm certain I did.
My full script is:
Code:
unmkbootimg --kernel kernel --ramdisk ramdisk -i boot.img.bk #This is what I obtained from your dd if=... of=/tmp/boot.img command
cp /android/kernel/opo6-stable/arch/arm64/boot/Image.gz-dtb kernel
mkbootimg --base 0 --pagesize 4096 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000
--second_offset 0x00f00000 --tags_offset 0x00000100
--cmdline 'androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000
msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048
androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 buildvariant=user'
--kernel kernel --ramdisk ramdisk -o boot_1.img
fastboot flash boot boot_1.img
phenoxis said:
Yes, I'm certain I did.
My full script is:
Code:
unmkbootimg --kernel kernel --ramdisk ramdisk -i boot.img.bk #This is what I obtained from your dd if=... of=/tmp/boot.img command
cp /android/kernel/opo6-stable/arch/arm64/boot/Image.gz-dtb kernel
mkbootimg --base 0 --pagesize 4096 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000
--second_offset 0x00f00000 --tags_offset 0x00000100
--cmdline 'androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000
msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048
androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 buildvariant=user'
--kernel kernel --ramdisk ramdisk -o boot_1.img
fastboot flash boot boot_1.img
Click to expand...
Click to collapse
Try using this boot image: https://nathanchance.me/downloads/kernels/op6/stock/oos-5.1.8-boot.img
You may also check out Android Image Kitchen too, that's what I used before TWRP.
First, thanks a ton for taking the time to help me out.
I tried unpacking/repacking with your boot.img file, and that didn't work either. However, your boot.img itself works just fine.
I just realized that my build produces a ton of warnings.
Code:
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
...
This is probably why my kernels are failing to boot. I'm essentially following the instructions you laid out on the github issue for this kernel.
Code:
export ARCH=arm64
export CROSS_COMPILE=/android/projects/cross-compile/aarch64-linux-android-4.9/bin/aarch64-linux-android-
make O=out sdm845-perf_defconfig
./scripts/config --file ./out/.config -e BUILD_ARM64_DT_OVERLAY
make O=out olddefconfig
make O=out DTC_EXT=dtc -j16
Following the comments in that issue, I'm running archlinux with the following software versions:
gcc
Code:
[email protected]:/android/kernel/opo6-stable$ gcc --version
gcc (GCC) 8.1.1 20180531
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dtc
Code:
[email protected]:/android/kernel/opo6-stable$ dtc --version
Version: DTC 1.4.6
phenoxis said:
First, thanks a ton for taking the time to help me out.
I tried unpacking/repacking with your boot.img file, and that didn't work either. However, your boot.img itself works just fine.
I just realized that my build produces a ton of warnings.
Code:
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/qcom,[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
arch/arm64/boot/dts/qcom/enchilada-evb-overlay.dtbo: Warning (reg_format): "reg" property in /[email protected]/__overlay__/[email protected] has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
...
This is probably why my kernels are failing to boot. I'm essentially following the instructions you laid out on the github issue for this kernel.
Code:
export ARCH=arm64
export CROSS_COMPILE=/android/projects/cross-compile/aarch64-linux-android-4.9/bin/aarch64-linux-android-
make O=out sdm845-perf_defconfig
./scripts/config --file ./out/.config -e BUILD_ARM64_DT_OVERLAY
make O=out olddefconfig
make O=out DTC_EXT=dtc -j16
Following the comments in that issue, I'm running archlinux with the following software versions:
gcc
Code:
[email protected]:/android/kernel/opo6-stable$ gcc --version
gcc (GCC) 8.1.1 20180531
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
dtc
Code:
[email protected]:/android/kernel/opo6-stable$ dtc --version
Version: DTC 1.4.6
Click to expand...
Click to collapse
That's normal, I've hidden all of the warnings.
https://github.com/nathanchance/op6/commits/1d0f0ea36c0814efa36ef8b5c0c1ad9cb74cfe81
Those were the commits I used for my first boot. There is nothing in there that should be necessary to boot, just to make certain things work.
4.9.110 has been merged in.
Hi all!
What is this?
This is my mostly-working Razer Phone 2 Kernel and TWRP device tree!
I've been reading threads where people are having issues compiling the Razer-provided source for the RP2 and figured I should post what I have so others can use it to help achieve a fully working source-built kernel.
I'm also including a set of scripts to repack a Magisk-patched boot.img so you can iterate on building a new kernel rapidly, and am including a prebuilt magisk-patched boot.img with the custom kernel so we can QA other features while focusing on the known-broken things.
Also also, I'm including an exfat kernel module (not built into kernel for now) so that can be tested too!
Click to expand...
Click to collapse
Why is this mostly-working?
I've tested many features on this kernel and so far the only feature *not* working is the microphone. (Audio recording, haven't tested in-call audio)
This kernel is a mashup of Razer's source and a few other OSS repos from CAF - specifically the TFA98XX driver, and the audio-kernel repositories, so there's a bit of integration left to do to get all the audio features working.
I also had to edit the defconfig to get the DTB to build, and have to build with some special flags to use the prebuilt DTB compiler (dtc) since the one included in the source isn't capable of compiling the FIH DTBs inside the Razer-provided source (correct me if I'm doing something wrong here, but this was how I ended up getting it to work).
The kernel parameter skip_initramfs has also been renamed to skip__initramfs to break the silly bootloader skipping the ramdisk (and thereby breaking Magisk). This means you don't need to run Magisk's binary patch to rename that kernel argument to make Magisk or TWRP work.
Keep in mind, though, that this means if you use this kernel with a 100% stock ramdisk, you'll only ever get recovery since new Android ramdisks only contain recovery! (Thanks Dees_Troy for the refresher course!)
If you're familiar with the new audio-kernel CAF stuff, please let me know! I could use your assistance getting the microphone working.
It seems like the microphone isn't working because of some mismatches between the in-kernel msm audio drivers and the Razer customized drivers in the vendor partition.
I get errors like
Code:
[31269.485217] send_afe_cal_type cal_block not found!!
in dmesg when attempting to record audio. This seems isolated to the q6afe drivers in the kernel (specifically here: https://github.com/thecubed/android_kernel_razer_sdm845/blob/master/techpack/audio/dsp/q6afe.c#L1593 ) not playing nice with the prebuilt snd_soc_sdm845 kernel module.
Click to expand...
Click to collapse
Where do I get this?
See here for the TWRP device tree (and detailed instructions on how to set up your build tree): https://github.com/thecubed/android_device_razer_cheryl2
See here for just the kernel source: https://github.com/thecubed/android_kernel_razer_sdm845
See here for a kernel-less boot.img skeleton that you can drop your newly minted kernel into and repack with mkbootimg: http://downloads.codefi.re/thecubed/aura2/kernel/magisk_custom_kernel_skel.tar.gz
See here for a prebuilt boot.img with this custom kernel which includes Magisk: http://downloads.codefi.re/thecubed/aura2/kernel/boot_magisk_custom_9.img
See here for an exfat module you can insmod from a booted phone with custom kernel to try mounting exfat SD cards: http://downloads.codefi.re/thecubed/aura2/kernel/exfat_module.tar.gz
See here for a stock Magisk-patched boot.img for when you're done playing with this: http://downloads.codefi.re/thecubed/aura2/kernel/boot_magisk.img
Click to expand...
Click to collapse
How do I use this?
First off, this isn't for the average user. This kernel is *under development* and is not fully working yet. This means don't try this kernel on your mom's phone, your neighbor's phone, or any device that you aren't comfortable developing for.
Secondly, to test this, you'll need to be oem unlocked. There's plenty of guides to do this, but be aware that it erases all data on your phone when doing so. You could try using adb backup first, but I didn't have much success with that.
I'd suggest looking at the first link in the Where do I get this section and reading the README for the device tree as it'll have the most detailed instructions.
The gist is you'll need to download a minimal OmniROM manifest, add some lines to a file in .repo/local_manifests/cheryl2.xml, and run mka kernel to get a kernel image.
After that, you'll want to use mkbootimg to build a bootable magisk-patched boot.img, which you'll flash to your device with fastboot flash boot_X path/to/boot.img (where X is the active boot partition).
Once you've got the Image.gz-dtb file from your $OUT/obj/KERNEL_OBJ/arch/arm64/boot/Image.gz-dtb you'll want to repack it into a magisk-patched boot.img
Repacking the boot.img can be done with this command:
Code:
mkbootimg \
--kernel Image.gz-dtb \
--ramdisk boot_magisk.img-ramdisk.gz \
--cmdline 'console=ttyMSM0,115200n8 earlycon=msm_geni_serial,0xA84000 androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048 androidboot.configfs=true androidboot.usbcontroller=a600000.dwc3 buildvariant=user' \
--base 0x00000000 \
--pagesize 4096 \
--kernel_offset 0x00008000 \
--ramdisk_offset 0x01000000 \
--second_offset 0x00f00000 \
--tags_offset 0x00000100 \
--os_version 8.1.0 \
--os_patch_level 2018-10 \
-o ../boot_magisk_custom.img
Click to expand...
Click to collapse
FAQ
Does this have TWRP?
No. This does not have TWRP. The device tree is for TWRP eventually, and to make compiling the kernel easier (since Android kernels don't like compiling outside of Android's makefile system anymore)
Does this have Magisk?
Yes! It's "pre-patched" too, as long as you're using my prebuilt one above.
Do I need the custom kernel to use the exfat module?
Yes. This is because the Razer stock kernel has module signing forced. I don't have Razer's kernel module signing key so I can't compile kernel modules for the stock kernel. My kernel has module signing set to allow mismatched signatures, so both the Razer modules in /vendor/lib/modules (required for sound) and my exfat module can coexist.
Why is exfat not compiled into the kernel?
Laziness, primarily. Actually, in this case I just didn't want to add extra variables to testing the kernel. If adding exfat into the kernel directly causes other issues it could potentially derail my quest to get this kernel up to par with the stock kernel.
Why did other kernels not boot?
Most likely due to incompatible audio-kernel revisions, or dtb issues. I'm not sure, but getting this kernel to compile required a bit more hacking than it should have.
Are you working on TWRP for Razer Phone 2?
Yep. Look for another post once the kernel is good to go. I aim to get encryption support working too, unless Dees_Troy beats me to it
Is audio still not working?
I'll update the post to remove the WIP tag and the section about audio as soon as it's working.
Is anything else not working?
Feel free to download and test to let me know what else isn't working and I'll add it to the OP.
Click to expand...
Click to collapse
Acknowledgements
Special thanks to Rashed97 and Dees_Troy for all their help.
Click to expand...
Click to collapse
y u quote OP?
Thanks for your work! Looking forward for a stable version. Wanna help but RP2 is currently my only working phone..
u sir,deserve a beer,thanks for working rp2 and not to forget other devs who help u along the way,we will wait patiently,cheers!!!!
Thank you.
Interesting discovery just now, seems that the stock kernel gives the same 'error' in dmesg when recording audio (but obviously audio recording still works).
Code:
[ 1365.950315] send_afe_cal_type cal_block not found!!
This could mean that Razer doesn't have a calibration profile for the microphone anyway (interesting, wonder if there's an opportunity to improve recording quality here?) and that I'm barking up the wrong tree re: calibration mismatches.
I've also confirmed that I get the same 'ASoC: no backend DAIs enabled for [backend name here]' messages in the stock kernel when brute force trying all PCM inputs with:
Code:
for f in `seq 1 80`; do tinycap /sdcard/wavs/device-$f.wav -D 0 -d $f -r 48000; done
It's also (very) possible that I don't understand how tinycap works.
I dumped the list of PCM inputs/outputs with:
Code:
for f in `ls -d /proc/asound/sdm845tavilsndc/** | grep pcm`; do echo "$f : `grep 'id' $f/info`"; done
and
Code:
cat /proc/asound/pcm
on both kernels (stock and custom) and they seem to match.
I'm thinking I should figure out how to record sound outside of android (from adb only) from stock kernel, and use that same test to try in the custom kernel. If I can find a test like that, I should be able to determine if I need to rename one of my DAI links to match whatever's baked into the XML files in /vendor/etc .
Any ideas?
Are you using the audio.a2dp.default.so driver?
Warrior1988: A2DP isn't in play here, and I'm using the stock /system and /vendor partitions, so any razer-customized tweaks are still present.
Currently, I've been working on figuring out the codec mappings to make sure that when audio is being recorded in the custom kernel that all the appropriate routing is set to enable audio from the tfa98xx chip (NXP amplifier, apparently supports digital microphones too?) or the wcd934x codec.
I'm not sure where the microphones are physically connected internally, so I'm working backwards from what gets enabled/disabled when recording audio in the stock kernel.
So far I have observed a few things (pardon my potentially incorrect terminology, the whole linux ASOC sound layer is new to me):
1. Audio in the stock and custom kernels is being captured by the mixer device called "SDM845 Media1", and it is capturing from SLIMBUS_0_TX input.
Code:
[Recording]
aura:/sys/module # cat /sys/kernel/debug/asoc/sdm845-tavil-snd-card/SDM845\ Media1/state
[SDM845 Media1 - Playback]
State: new
Backends:
No active DSP links
[SDM845 Media1 - Capture]
State: start
Hardware Params: Format = S16_LE, Channels = 1, Rate = 16000
Backends:
- SLIMBUS_0_TX
State: start
Hardware Params: Format = S16_LE, Channels = 1, Rate = 48000
2. You can also see when recording and not recording that in both kernels the SLIMBUS_0_TX input is wired correctly to the right mixer:
Code:
[Not recording]
aura:/sys # cat ./kernel/debug/asoc/sdm845-tavil-snd-card/platform:soc:qcom,msm-pcm-routing/dapm/SLIMBUS_0_TX
SLIMBUS_0_TX: Off in 2 out 0 - R0(0x0) mask 0x1
stream Slimbus Capture inactive
out "static" "SLIM0_UL_HL"
in "static" "Slimbus Capture"
in "static" "BE_IN"
[Recording]
aura:/sys # cat ./kernel/debug/asoc/sdm845-tavil-snd-card/platform:soc:qcom,msm-pcm-routing/dapm/SLIMBUS_0_TX
SLIMBUS_0_TX: On in 2 out 1 - R0(0x0) mask 0x1
stream Slimbus Capture inactive
out "static" "SLIM0_UL_HL"
out "SLIM_0_TX" "MultiMedia1 Mixer"
in "static" "Slimbus Capture"
in "static" "BE_IN"
Now that I've observed those things, I need to do a bit more research on how audio can get enabled/disabled on each of the chips that touch it.
For instance, in the custom kernel, I noticed that during recording sounds the DMIC* lines on the second tfa98xx aren't enabled. I haven't checked in the stock kernel yet - but if the tfa98xx chip is providing mic bias, it's possible that everything is wired right for input but since the mic bias isn't on, the mic isn't powered and thus we get no sound.
(Updated side note, why is Razer Phone 2 is using two TFA9888 chips? The tfa98xx.cnt firmware references TFA9892 which is mono only, too. I need to see a disassembly to figure out what chips it's actually using...)
Code:
aura:/sys # cat ./kernel/debug/asoc/sdm845-tavil-snd-card/codec:tfa98xx.4-0034/dapm/DMIC*
DMIC1: Off in 1 out 0
out "static" "AIF OUT"
DMIC2: Off in 1 out 0
out "static" "AIF OUT"
DMIC3: Off in 1 out 0
out "static" "AIF OUT"
DMIC4: Off in 1 out 0
out "static" "AIF OUT"
aura:/sys # cat ./kernel/debug/asoc/sdm845-tavil-snd-card/codec:tfa98xx.4-0035/dapm/DMIC*
DMIC1: Off in 1 out 0
out "static" "AIF OUT"
in "static" "MIC BIAS1"
DMIC2: Off in 1 out 0
out "static" "AIF OUT"
DMIC3: Off in 1 out 0
out "static" "AIF OUT"
in "static" "MIC BIAS3"
DMIC4: Off in 1 out 0
out "static" "AIF OUT"
Update: just noticed that this path doesn't exist on stock kernel. So the TFA driver I have doesn't match the one Razer is using. Interesting!
Also, I'm not sure why SLIMBUS_2 playback/capture aren't shown as 'dynamic DAI' linked (the '(*)' means it's a dynamic DAI)... Probably not important though.
Code:
aura:/proc/asound # cat pcm
00-00: MultiMedia1 (*) : : playback 1 : capture 1
00-01: MultiMedia2 (*) : : playback 1 : capture 1
00-02: VoiceMMode1 (*) : : playback 1 : capture 1
00-03: VoIP (*) : : playback 1 : capture 1
00-04: MultiMedia3 (*) : : playback 1
00-05: SLIMBUS_0 Hostless (*) : : playback 1 : capture 1
00-06: AFE-PROXY RX msm-stub-rx-6 : : playback 1
00-07: AFE-PROXY TX msm-stub-tx-7 : : capture 1
00-09: AUXPCM Hostless (*) : : playback 1 : capture 1
00-10: SLIMBUS_1 Hostless (*) : : playback 1 : capture 1
00-11: SLIMBUS_3 Hostless (*) : : playback 1 : capture 1
00-12: SLIMBUS_4 Hostless (*) : : playback 1 : capture 1
00-13: MultiMedia5 (*) : : playback 1 : capture 1
00-14: Listen 1 Audio Service (*) : : capture 1
00-16: MultiMedia10 (*) : : playback 1 : capture 1
00-17: MM_NOIRQ (*) : : playback 1 : capture 1
00-18: HDMI_RX_HOSTLESS (*) : : playback 1
00-19: VoiceMMode2 (*) : : playback 1 : capture 1
00-20: Listen 2 Audio Service (*) : : capture 1
00-21: Listen 3 Audio Service (*) : : capture 1
00-22: Listen 4 Audio Service (*) : : capture 1
00-23: Listen 5 Audio Service (*) : : capture 1
00-24: Listen 6 Audio Service (*) : : capture 1
00-25: Listen 7 Audio Service (*) : : capture 1
00-26: Listen 8 Audio Service (*) : : capture 1
00-27: MultiMedia9 (*) : : playback 1 : capture 1
00-33: MM_NOIRQ_2 (*) : : playback 1 : capture 1
00-34: SLIMBUS8_HOSTLESS Capture (*) : : capture 1
00-35: Slimbus4 Capture tavil_vifeedback-35 : : capture 1
00-36: SLIMBUS_2 Hostless Playback tavil_rx2-36 : : playback 1
00-37: SLIMBUS_2 Hostless Capture tavil_tx2-37 : : capture 1
00-38: MultiMedia6 (*) : : playback 1 : capture 1
00-39: USB Audio Hostless (*) : : playback 1 : capture 1
00-80: QUAT_MI2S_RX Hostless (*) : : playback 1
Meanwhile, we've reached out to Razer to see if they'll bless us with the full and complete kernel source this time
I doubt it. They won't even answer simple questions as to an estimate of when we're getting Pie
blackknightavalon said:
I doubt it. They won't even answer simple questions as to an estimate of when we're getting Pie
Click to expand...
Click to collapse
>simple question
>eta
pick one
Any progress on this kernel? I'm really curious now that we have pie.
No progress as of yet, I've been busy with work recently and Razer hasn't dropped source for the new kernel version (still 4.9 but a different patch level).
I'm hopeful that Razer will drop the complete source for Pie's kernel and I can backport that to the Oreo kernel for those who want to keep the old OS.
I haven't updated my RP2 to Pie yet so I can test out any changes once the source for the new kernel is out. I'll be sure to post here when I have any updates
Audio-kernel source is out! https://s3.amazonaws.com/cheryl-factory-images/audio-kernel-aura-2009.tar.gz
I'll be rebuilding my kernel very soon and testing.
https://s3.amazonaws.com/cheryl-factory-images/
Warrior1988 said:
https://s3.amazonaws.com/cheryl-factory-images/
Click to expand...
Click to collapse
Yup, I'm building it right now!
Yup, it works! I have fully working audio and microphone now. Seems like there's a bunch of DAI changes and some offset changes to calibration stuff that FIH added (ugh).
Please hold while I get the commit up on my Github, and I'll get a build with exfat going here in just a minute after.
Plan is:
- Github updates (readme changes, etc) UPDATE: done
- Upload this current build I just tested for anyone that wants it
- Add exfat module to kernel and rebuild / test UPDATE: exfat support works, BUT I need to recompile vold to support exfat. I can mount the SD card just fine, but Android doesn't understand that it's mounted because vold isn't tracking it
Also, <3 u razer, thanks
I'm bummed to hear about the layoffs, and I really appreciate whomever uploaded the source even after that. Hopefully Razer's phone team will grow again and get to make us a Razer Phone 3 at some point in the future.
For anyone that's still running 8.1 and wants to try my custom kernel (no, no exfat support yet until I get vold fixed), here's a link: http://downloads.codefi.re/thecubed/aura2/kernel/boot_magisk_custom_10.img
Github has been updated as well.
I'll be sure to update the OP tomorrow when it's not 2AM.
EDIT: Fixed link, 2AM is not kind to my typing skills
Awesome work! Very excited to try it out tomorrow.
Also sad to see your post about their layoffs. Pretty fun phone with much potential for future.
I think some of the reviews are pretty harsh given the penchant of Pixel / Samsung / Apple worship out there.
Anyway, thanks so much for this.
thecubed said:
For anyone that's still running 8.1 and wants to try my custom kernel (no, no exfat support yet until I get vold fixed), here's a link: http://downloads.codefi.re/thecubed/aura2/boot_magisk_custom_10.img
Github has been updated as well.
I'll be sure to update the OP tomorrow when it's not 2AM.
Click to expand...
Click to collapse
Thank you for this!
It's showing up "Not found" on the download link though.
jal3223 said:
Thank you for this!
It's showing up "Not found" on the download link though.
Click to expand...
Click to collapse
Fixed the link in my previous post - sorry about that!
I'll be updating the OP tonight too when I get home from work.
Looking good! Is the sound as good as stock (or maybe better, considering the low volume crackling we get)?
Hoping to give this a shot soon, as soon as I figure out rooting on 9.0. I saw a thread about it, but nobody answered my question there, and light digging through threads didn't turn up an answer, so trying this kernel will have to wait a bit. Makes me miss the HTC root days, when finding out about root was a simple yes or no situation... lol.
Kernel for Galaxy A30 (SM-A305F)
-oc litle to 1690mhz( stock 1586mhz)
-uc litte to 208mhz (stock 449mhz)
-oc big to 2080mhz (stock 1872mhz)
-uc big to 520mhz (stock 936mhz)
-oc gpu to 1001mhz ( stock 845mhz)
-Gpu vontage control
-drop cpu and gpu 25000 vontage for better battery
==>>>> info, link to dowload and guide to flash u can looking video
sorry my bad english....
------ Ver 14.3 pro for android10
Overclock Big cpu from 1,8Ghz to 2,3Ghz
Overclock Litte cpu from 1,6Ghz to 1,7Ghz
Underclock Big cpu from 936mhz to 208mhz
Underclock Litte cpu from 449mhz to 208mhz
Overclock Gpu from 845mhz to 1,3Ghz
Gpu Vontage Control
Reduce min_threshold and Max_threshold for Gpu
Reduce Voltage Cpu,Gpu,Mif and Int
Repair Freq of Thermal
Repair Bus suport Cpu,Gpu
Add more Governor
link dowload in video
===================================================
= Device : SM - A305X =
= Version : 14.4 Pro =
= Chipset : Exynos7904 - mali G71 mp2 =
= Android : 10 Q =
= Tipe : Overclock, Underclock, UnderVolt =
= Developer : @minhka98 XDA =
= Contact : @Minhker Telegram ID =
= Contact for want suprort your devices =
===================================================
===================================================
= Overclocked kernel increase performance 30% =
= From a antutu score of 122k to 159k =
= Banance performance and battery =
===================================================
===================================================
= Overclock Big cpu from 1,9Ghz to 2,3Ghz =
= Overclock Litte cpu from 1,6Ghz to 1,7Ghz =
= Underclock Big cpu from 936mhz to 208mhz =
= Underclock Litte cpu from 449mhz to 208mhz =
= Overclock Gpu from 845mhz to 1,3Ghz =
= Gpu Vontage Control =
= Reduce min_threshold and Max_threshold for Gpu =
= Reduce Vontage Cpu,Gpu,Mif and Int for Battery =
= Repair Freq of Thermal =
= Repair Bus suport Cpu,Gpu =
= Add more Governor =
= Removing Security Stuffs =
= Ect........ =
= Using magisk 19.3 =
= make lov =
= đù má không biết có ai cảm ơn không ta "_" =
===================================================
link dowload ver 14.4 pro for android 10
https://youtu.be/ffO6OhdVpsI
link dow 14.7 magisk20.4
https://drive.google.com/drive/u/0/folders/1Th6l0s0FCPUMrGeZien68IzHstrI92_o
link dow 14.6
https://drive.google.com/file/d/1iFSfEP8NyTICl-OMXVXHTp_NrFiVWgm0/view?usp=sharing
XDA:DevDB Information
Kernel for A30, Kernel for the Samsung Galaxy A30
Contributors
minhka98, minhka98, minhka98, minhka98
Source Code: https://github.com/minhker98/android_kernel_samsung_universal7904
Kernel Special Features: minhka98
Version Information
Status: Stable
Current Stable Version: V14.4
Stable Release Date: 2020-04-15
Current Beta Version: V1
Beta Release Date: 2020-01-01
Created 2020-01-20
Last Updated 2020-04-15
Thank you for your effort but I do not see link to download. Do you think about more governors of cpu, for example aducard, powersave etc.
irtrin said:
Thank you for your effort but I do not see link to download. Do you think about more governors of cpu, for example aducard, powersave etc.
Click to expand...
Click to collapse
Here it is i dont know why There is no life signs of him...his kernek is awesome, cant upload img because of size
Link to his movie on yt and its description has link to download: https://www.youtube.com/watch?v=kWwMnjhyp_g&t=233s
irtrin said:
Link to his movie on yt and its description has link to download: https://www.youtube.com/watch?v=kWwMnjhyp_g&t=233s
Click to expand...
Click to collapse
https://drive.google.com/open?id=18IZKPXwSxlTWif1HVjhNb6F4iTEEtc5P
---------- Post added at 05:38 AM ---------- Previous post was at 05:36 AM ----------
xerostratos said:
https://drive.google.com/open?id=18IZKPXwSxlTWif1HVjhNb6F4iTEEtc5P
Click to expand...
Click to collapse
Flash in twrp img ...boot partition ,then after flash img, flash magisk 19.1,19.2 19.3 or 19.4 not higher,reboot
did it compatible with android 10
elgharabawy said:
did it compatible with android 10
Click to expand...
Click to collapse
yes
i think it should be flashed as boot image with twrp , right ?
and, can i flash this kernal , then flash a stock rom ?
because when i flash a custom recovery(twrp) to my phone , i can't boot to system, only to twrp
thanx for your efforts
Thanks alot
I've installed it on my Galaxy A30 (A305F/DS) along side the PixelExperence rom that im testing together with Magisk 20.4 and its working perfectly. Didn't expect it to work with Magisk version above 19.3 as you instructed.
Can you post the source code of the latest version I would like to adapt a kernel for the galaxy tab t510 with your overclock (cpu and gpu).
steavex said:
Thanks alot
I've installed it on my Galaxy A30 (A305F/DS) along side the PixelExperence rom that im testing together with Magisk 20.4 and its working perfectly. Didn't expect it to work with Magisk version above 19.3 as you instructed.
Click to expand...
Click to collapse
Is this ROM dedicated zip or GSI ?
Nice work bro but try to change scale cpu method hibernate to 1 or 2 cpu @208 Mhz
support treble android 10 ?
thanks great work
irtrin said:
Link to his movie on yt and its description has link to download: https://www.youtube.com/watch?v=kWwMnjhyp_g&t=233s
Click to expand...
Click to collapse
Thanks for share, thanks my friend
---------- Post added at 09:52 AM ---------- Previous post was at 09:50 AM ----------
xerostratos said:
https://drive.google.com/open?id=18IZKPXwSxlTWif1HVjhNb6F4iTEEtc5P
---------- Post added at 05:38 AM ---------- Previous post was at 05:36 AM ----------
Flash in twrp img ...boot partition ,then after flash img, flash magisk 19.1,19.2 19.3 or 19.4 not higher,reboot
Click to expand...
Click to collapse
Thanks for share
---------- Post added at 09:54 AM ---------- Previous post was at 09:52 AM ----------
cHawk said:
Thanks alot
I've installed it on my Galaxy A30 (A305F/DS) along side the PixelExperence rom that im testing together with Magisk 20.4 and its working perfectly. Didn't expect it to work with Magisk version above 19.3 as you instructed.
Click to expand...
Click to collapse
Thanks for report, PixelExperience Treble ?
Best Regards
Work on official ROM?
Kernel stable for Treble roms?
Good night my friend
minhka98 said:
Kernel for Galaxy A30 (SM-A305F)
-oc litle to 1690mhz( stock 1586mhz)
-uc litte to 208mhz (stock 449mhz)
-oc big to 2080mhz (stock 1872mhz)
-uc big to 520mhz (stock 936mhz)
-oc gpu to 1001mhz ( stock 845mhz)
-Gpu vontage control
-drop cpu and gpu 25000 vontage for better battery
==>>>> info, link to dowload and guide to flash u can looking video
sorry my bad english....
------ Ver 14.3 pro for android10
Overclock Big cpu from 1,8Ghz to 2,3Ghz
Overclock Litte cpu from 1,6Ghz to 1,7Ghz
Underclock Big cpu from 936mhz to 208mhz
Underclock Litte cpu from 449mhz to 208mhz
Overclock Gpu from 845mhz to 1,3Ghz
Gpu Vontage Control
Reduce min_threshold and Max_threshold for Gpu
Reduce Voltage Cpu,Gpu,Mif and Int
Repair Freq of Thermal
Repair Bus suport Cpu,Gpu
Add more Governor
link dowload in video
===================================================
= Device : SM - A305X =
= Version : 14.4 Pro =
= Chipset : Exynos7904 - mali G71 mp2 =
= Android : 10 Q =
= Tipe : Overclock, Underclock, UnderVolt =
= Developer : @minhka98 XDA =
= Contact : @Minhker Telegram ID =
= Contact for want suprort your devices =
===================================================
===================================================
= Overclocked kernel increase performance 30% =
= From a antutu score of 122k to 159k =
= Banance performance and battery =
===================================================
===================================================
= Overclock Big cpu from 1,9Ghz to 2,3Ghz =
= Overclock Litte cpu from 1,6Ghz to 1,7Ghz =
= Underclock Big cpu from 936mhz to 208mhz =
= Underclock Litte cpu from 449mhz to 208mhz =
= Overclock Gpu from 845mhz to 1,3Ghz =
= Gpu Vontage Control =
= Reduce min_threshold and Max_threshold for Gpu =
= Reduce Vontage Cpu,Gpu,Mif and Int for Battery =
= Repair Freq of Thermal =
= Repair Bus suport Cpu,Gpu =
= Add more Governor =
= Removing Security Stuffs =
= Ect........ =
= Using magisk 19.3 =
= make lov =
= đù má không biết có ai cảm ơn không ta "_" =
===================================================
link dowload ver 14.4 pro for android 10
https://youtu.be/ffO6OhdVpsI
link dow 14.6
https://drive.google.com/file/d/1iFSfEP8NyTICl-OMXVXHTp_NrFiVWgm0/view?usp=sharing
XDA:DevDB Information
Kernel for A30, Kernel for the Samsung Galaxy A30
Contributors
minhka98, minhka98, minhka98, minhka98
Source Code: https://github.com/minhker98/android_kernel_samsung_universal7904
Kernel Special Features: minhka98
Version Information
Status: Stable
Current Stable Version: V14.4
Stable Release Date: 2020-04-15
Current Beta Version: V1
Beta Release Date: 2020-01-01
Created 2020-01-20
Last Updated 2020-04-15
Click to expand...
Click to collapse
nais
What would be my next step to get this kernel if i have one ui2 with magisk but no twrp? I am not experienced. Can anyone guide me, Please?
M7md_Ri said:
i think it should be flashed as boot image with twrp , right ?
and, can i flash this kernal , then flash a stock rom ?
because when i flash a custom recovery(twrp) to my phone , i can't boot to system, only to twrp
thanx for your efforts
Click to expand...
Click to collapse
did you figure something out? i am in same situation
minhka98 said:
Kernel for Galaxy A30 (SM-A305F)
-oc litle to 1690mhz( stock 1586mhz)
-uc litte to 208mhz (stock 449mhz)
-oc big to 2080mhz (stock 1872mhz)
-uc big to 520mhz (stock 936mhz)
-oc gpu to 1001mhz ( stock 845mhz)
-Gpu vontage control
-drop cpu and gpu 25000 vontage for better battery
==>>>> info, link to dowload and guide to flash u can looking video
://www.youtube.com/watch?v=FNs8N5Sfh80
sorry my bad english....
------ Ver 14.3 pro for android10
Overclock Big cpu from 1,8Ghz to 2,3Ghz
Overclock Litte cpu from 1,6Ghz to 1,7Ghz
Underclock Big cpu from 936mhz to 208mhz
Underclock Litte cpu from 449mhz to 208mhz
Overclock Gpu from 845mhz to 1,3Ghz
Gpu Vontage Control
Reduce min_threshold and Max_threshold for Gpu
Reduce Voltage Cpu,Gpu,Mif and Int
Repair Freq of Thermal
Repair Bus suport Cpu,Gpu
Add more Governor
link dowload in video
://www.youtube.com/watch?v=UQnM1hF_NkI
===================================================
= Device : SM - A305X =
= Version : 14.4 Pro =
= Chipset : Exynos7904 - mali G71 mp2 =
= Android : 10 Q =
= Tipe : Overclock, Underclock, UnderVolt =
= Developer : @minhka98 XDA =
= Contact : @Minhker Telegram ID =
= Contact for want suprort your devices =
===================================================
===================================================
= Overclocked kernel increase performance 30% =
= From a antutu score of 122k to 159k =
= Banance performance and battery =
===================================================
===================================================
= Overclock Big cpu from 1,9Ghz to 2,3Ghz =
= Overclock Litte cpu from 1,6Ghz to 1,7Ghz =
= Underclock Big cpu from 936mhz to 208mhz =
= Underclock Litte cpu from 449mhz to 208mhz =
= Overclock Gpu from 845mhz to 1,3Ghz =
= Gpu Vontage Control =
= Reduce min_threshold and Max_threshold for Gpu =
= Reduce Vontage Cpu,Gpu,Mif and Int for Battery =
= Repair Freq of Thermal =
= Repair Bus suport Cpu,Gpu =
= Add more Governor =
= Removing Security Stuffs =
= Ect........ =
= Using magisk 19.3 =
= make lov =
= đù má không biết có ai cảm ơn không ta "_" =
===================================================
link dowload ver 14.4 pro for android 10
link dow 14.7 magisk20.4
https://drive.google.com/drive/u/0/folders/1Th6l0s0FCPUMrGeZien68IzHstrI92_o
link dow 14.6
https://drive.google.com/file/d/1iFSfEP8NyTICl-OMXVXHTp_NrFiVWgm0/view?usp=sharing
XDA:DevDB Information
Kernel for A30, Kernel for the Samsung Galaxy A30
Contributors
minhka98, minhka98, minhka98, minhka98
Source Code:https://github.com/minhker98/android_kernel_samsung_universal7904
Kernel Special Features: minhka98
Version Information
Status: Stable
Current Stable Version: V14.4
Stable Release Date: 2020-04-15
Current Beta Version: V1
Beta Release Date: 2020-01-01
Created 2020-01-20
Last Updated 2020-04-15
Click to expand...
Click to collapse
This is the best custom kernel I've found so far. Its run smoothly for both stock and GSI rom.
Its just, if you make it support spectrum, its gonna something more..
Fyi, in my case, mtp is not working when its run GSI rom. Maybe I'd make a mistake when flash it... or can you give me advice???
Anyway, thanks for your effort. You're the man...
===================================================
= Device : SM - A305X =
= Version : 15 pro =
= Chipset : Exynos 7904 - mali G71 mp2=
= Android : 11 R =
= Developer : @minhka98 XDA =
= Contact : @Minhker Telegram ID =
===================================================
===================================================
===================================================
= Overclocked kernel increase performance 30% =
= From a antutu score of 122k to 159k =
= Banance performance and battery =
===================================================
===================================================
= Overclock Big cpu from 1,8Ghz to 2,3Ghz =
= Overclock Litte cpu from 1,6Ghz to 1,8Ghz =
= Underclock Big cpu from 936mhz to 208mhz =
= Underclock Litte cpu from 449mhz to 208mhz =
= Overclock Gpu from 845mhz to 1,3Ghz =
= Gpu Vontage Control =
= Reduce min_threshold and Max_threshold for Gpu =
= Reduce Vontage Cpu,Gpu,Mif and Int for Battery =
= Repair Freq of Thermal =
= Repair Bus suport Cpu,Gpu =
= Add more Governor =
= Removing Security Stuffs =
= Ect........ =
===================================================
what new
= Repair Bus suport Cpu,Gpu =
= more performance
= Undervolt more
= worked on magisk 20.4
===================================================
What new ver 14.8 Add DTBO and DT
+ Add DTBO and DT and TW in this binary
+ Fixed jack not work vs dtbo
===================================================
What new ver 14.9 Fast charging
+ Fast charging more 13% than stock(max from 2300mA to 2600mA) Accubattery app to check
+ Increase charging current
+ Some TW for battery
+ UnderVolt Camera
+ Have a guide to play game not drop fps
===================================================
what new ver 15. Pro
+ up to android 11
+ cpu 1794-2288
+ Spectrum not work now
Dowload
kernel source
what new 15.1
+ drop freq from 2288 to 2080 for lower User
+ Fast charging ~22% than stock(max current from 2300mA to 2866mA) Stable
+ add MinhKer_ModVip_a30_v1.1_R
*feature
- Fixed drop fps on game
- Fixed drop freq cpu gpu on game
- edit GameThermalCpuControl and GameThermalGpuControl
- set cpu and gpu to max when AppStart WakeUp
- edit max input charging when ScreenOff ScreenOn
ScreenOffInCall AppStore CameraRecording WakeUp overheatcontrol
- banance performance and battery
- fixed device care, batery showing
- Add Spectrum support to R .using HKtweak to set
- etc ....
- fixed Smart view
dowload 15.1
SamsungDeviceHealthManagerService.apk limit gpu max freq to 450mhz .will make low performance. so need remove this app
### UPDATE 7/7/2021 MinhKer_MOD
update Spectrum worked on android 11 R
- Fixed drop fps on game
- Fixed drop freq cpu gpu on game
- edit GameThermalCpuControl
- edit GameThermalGpuControl
- set cpu and gpu to max when AppStart WakeUp
- edit max input charging when ScreenOff ScreenOn
ScreenOffInCall AppStore CameraRecording WakeUp overheatcontrol
- banance performance and battery
- fixed device care, batery showing
- Add Spectrum support to R .using HKtweak to set
- etc ....
- Hit thanks to me.. Minhker Minhka
Dowload MinhKer_Mod and Spectrum updated
-Version 1.1 update
ver 1.1 dowlaod
ps: my phone broken. so. stop here
Hi, it's compatible with OneUI? GSI?
can we root too? what is the installation
fatihswayea said:
can we root too? what is the installation
Click to expand...
Click to collapse
just flash via twrp
bootloop! SM-A305FN 3/32gb
SirKosichka said:
vòng lặp khởi động! SM-A305FN 3 / 32gb
Click to expand...
Click to collapse
all fine on a305f
minhka98 said:
all fine on a305f
Click to expand...
Click to collapse
don't fine...
minhka98 said:
===================================================
= Device : SM - A305X =
= Version : 15 pro =
= Chipset : Exynos 7904 7885 7884 - mali G71 mp2=
= Android : 11 R =
= Developer : @minhka98 XDA =
= Contact : @Minhker Telegram ID =
===================================================
===================================================
===================================================
= Overclocked kernel increase performance 30% =
= From a antutu score of 122k to 159k =
= Banance performance and battery =
===================================================
===================================================
= Overclock Big cpu from 1,8Ghz to 2,3Ghz =
= Overclock Litte cpu from 1,6Ghz to 1,8Ghz =
= Underclock Big cpu from 936mhz to 208mhz =
= Underclock Litte cpu from 449mhz to 208mhz =
= Overclock Gpu from 845mhz to 1,3Ghz =
= Gpu Vontage Control =
= Reduce min_threshold and Max_threshold for Gpu =
= Reduce Vontage Cpu,Gpu,Mif and Int for Battery =
= Repair Freq of Thermal =
= Repair Bus suport Cpu,Gpu =
= Add more Governor =
= Removing Security Stuffs =
= Ect........ =
===================================================
what new
= Repair Bus suport Cpu,Gpu =
= more performance
= Undervolt more
= worked on magisk 20.4
===================================================
What new ver 14.8 Add DTBO and DT
+ Add DTBO and DT and TW in this binary
+ Fixed jack not work vs dtbo
===================================================
What new ver 14.9 Fast charging
+ Fast charging 13% than stock(max from 2300mA to 2600mA) Accubattery app to check
+ Increase charging current
+ Some TW for battery
+ UnderVolt Camera
+ Have a guide to play game not drop fps
===================================================
what new ver 15. Pro
+ up to android 11
+ cpu 1794-2288
+ Spectrum Balance (default profile). need handset for test performance
Dowload
kernel source
SamsungDeviceHealthManagerService.apk limit gpu max freq to 450mhz .will make low performance. so need remove this app
Click to expand...
Click to collapse
Lol
need magisk to install -1 >:c
minhka98 said:
===================================================
= Device : SM - A305X =
= Version : 15 pro =
= Chipset : Exynos 7904 7885 7884 - mali G71 mp2=
= Android : 11 R =
= Developer : @minhka98 XDA =
= Contact : @Minhker Telegram ID =
===================================================
===================================================
===================================================
= Overclocked kernel increase performance 30% =
= From a antutu score of 122k to 159k =
= Banance performance and battery =
===================================================
===================================================
= Overclock Big cpu from 1,8Ghz to 2,3Ghz =
= Overclock Litte cpu from 1,6Ghz to 1,8Ghz =
= Underclock Big cpu from 936mhz to 208mhz =
= Underclock Litte cpu from 449mhz to 208mhz =
= Overclock Gpu from 845mhz to 1,3Ghz =
= Gpu Vontage Control =
= Reduce min_threshold and Max_threshold for Gpu =
= Reduce Vontage Cpu,Gpu,Mif and Int for Battery =
= Repair Freq of Thermal =
= Repair Bus suport Cpu,Gpu =
= Add more Governor =
= Removing Security Stuffs =
= Ect........ =
===================================================
what new
= Repair Bus suport Cpu,Gpu =
= more performance
= Undervolt more
= worked on magisk 20.4
===================================================
What new ver 14.8 Add DTBO and DT
+ Add DTBO and DT and TW in this binary
+ Fixed jack not work vs dtbo
===================================================
What new ver 14.9 Fast charging
+ Fast charging 13% than stock(max from 2300mA to 2600mA) Accubattery app to check
+ Increase charging current
+ Some TW for battery
+ UnderVolt Camera
+ Have a guide to play game not drop fps
===================================================
what new ver 15. Pro
+ up to android 11
+ cpu 1794-2288
+ Spectrum not work now
Dowload
kernel source
SamsungDeviceHealthManagerService.apk limit gpu max freq to 450mhz .will make low performance. so need remove this app
Click to expand...
Click to collapse
Please add spectrum support on R, thanks in advance
Mscreams said:
Please add spectrum support on R, thanks in advance
Click to expand...
Click to collapse
be soon
minhka98 said:
- Hit thanks to me.. Minhker Minhka
Dowload MinhKer_Mod
Click to expand...
Click to collapse
link not working. I can try fix no boot with spectrum settings . but it seems to me that it still won't work.
Update: link work but u put file to trash
Not proper description, big 546, little 520 mhz minimum frec.
Rebooting in every 2 sec after turning on.... How to fix ??
DevilRiddhi123 said:
Rebooting in every 2 sec after turning on.... How to fix ??
Click to expand...
Click to collapse
set max CPU to 2080Mhz
SirKosichka said:
link not working. I can try fix no boot with spectrum settings . but it seems to me that it still won't work.
Update: link work but u put file to trash
Click to expand...
Click to collapse
yeah. need times to finish
purimen said:
Not proper description, big 546, little 520 mhz minimum frec.
Click to expand...
Click to collapse
lower freq but still using same voltage. so set to 546 and 520
erorr 1 , unpacking ramdisk Erorr Please Solve
SirKosichka said:
set max CPU to 2080Mhz
Click to expand...
Click to collapse
Please tell me how
DevilRiddhi123 said:
Please tell me how
Click to expand...
Click to collapse
with HKtweaks app