• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [DEV] Kernel 3.4.0 pathfinding

spock1104

Android Expert
Hey guys, I just ordered a Force and am awaiting its arrival. In the mean time I'm familiarizing myself with the kernel for... reasons... and I figure trying to get this phone booting on 3.4.0 would be a worthy cause. As it turns out the Vital N9810 also has an MSM8960, a 3.4.0 kernel, and glancing through the arch folder it still has the boot code for the Force. So what do you say, let's give it a shot? At the very least the basics should work, dunno about sensors but there ought to be other places to pull code from once we get it booting.
 
It compiles, but I can't test immediately due to the bootloader not being detected by my PC. Curses.
 
Boots just fine. Wifi and bluetooth both work, it seems to load the modules faster than the stock kernel. Will do some more testing thanks!

Hardware_version shows as invalid. No issues nonetheless.
 

Attachments

  • 1425986457395.jpg
    1425986457395.jpg
    51 KB · Views: 107
  • Screenshot_2015-03-10-07-24-21.png
    Screenshot_2015-03-10-07-24-21.png
    53.2 KB · Views: 122
Does this version of the n9810 kernel work with the newer JB (4.2, 4.3), kitkat, or lollipop ROMs?

If all you want is 3.4, the JB ROM already has that.

Even if it's not working with newer versions perhaps we should benchmark it and see if there is an additional boost in performance on this vs n9100 3.4 kernel.

Where did the source files come from? I'd be interested in looking at them. If nothing else, we may be able to get the overclock functional, since we don't have sources for the Sprint n9100 kernel.

Thanks!
-SB
 
NM on the source link, I found it here: http://forum.xda-developers.com/showthread.php?t=2602478

Would you mind sharing your config? I'd like to see how it differs from the n9810.

Also, I really think this could be used to finally kill the 1.5GHz lock on factory ZTE kernels. If you check the JB rom thread you can see that I have tested the krait-oc module and 1.8Ghz becomes an option but i believe that there is a hardcoded frequency table in the kernel which is locking max at 1.51Ghz.

Edit-Even the GPU. 400Mhz is possible but it maxes out at 300Mhz

I'd like to try to learn how to patch older sources like these to work with kitkat, too. I know it's possible because there are chinese android TV sticks around running kitkat on 3.0.36+ and newer kernels. 3.4 is lightyears beyond that, so there has got to be a way.

Googling now!
-SB
 
Maybe all that is required is to build KK AOSP on this kernel and config?

Eagerly awaiting build config so that I can test.
Thanks again!
 
Maybe all that is required is to build KK AOSP on this kernel and config?

Eagerly awaiting build config so that I can test.
Thanks again!

LOL I just reread the first post and realized that you said the n9100 config was included. Duh!

I'm downloading now. Trying to figure out how to update android API in source.
 
Been looking through the source. There is indeed a setting in the kernel which limits the max speed. There is also a value which you can change it to so that there is no limit, in this case I believe the max will the max defined in the frequency table.

I think if I set MSM_CPUFREQ_NO_LIMIT as the max (value is = 0xFFFFFFFF), then if you were to load the zte_krait_oc module 1.8Ghz should work.

I'm still not sure about the L2 cache speeds, RAM, and GPU. I know they all are clocked differently than the CPU. I did see that L2 is clocked lower than CPU. Not sure what would happen if I made them the same. I remember that JimSmith80 did this with his custom ICS kernel.

edit- looks like max L2 freq is somewhere between 1.15Ghz or 1.25Ghz. Looks like it's different for different profiles Edit again - make that 1.35Ghz

Need to look at voltages for everything as well.

Cheers,
-SB
 
Last edited:
Updating the API can be a bit involved. I suggest reading through the AWEstruck development thread as the phone is very similar to this, I made sure to document my progress throughout the thread, and you can also go through my commit history in my git. PhenomX4 managed to mostly update the API so that KitKat can at least run, but the stock camera still doesn't work yet. I have a project to port the KitKat code from yet another ZTE phone, and that code is having booting problems at the moment.

Give me a little bit and I'll have this overclocking, at this point I can do that blindfolded. The RAZR M has the cpu table I need. I'll get a git set up for us to work from also.

Pulling code from https://github.com/CyanogenMod/android_kernel_motorola_msm8960-common
 
Last edited:
Shoot, I also need to note that I compiled with arm-eabi-4.6 for now to bypass the constraints later versions will give. Project for the weekend...
 
There are three quality CPUs out there. if you have the slow quality, you're stuck at 1.5. normal quality you can now try going to 1.89GHz. fast quality can now try going to 1.998GHz. Good luck and good testing.

Also a warning, we found on the AWE that we had to delete the mpdecision and thermald daemons, otherwise the phone automatically clocked itself to the max. Assuming this works, my next task will be to add kernel versions of these.

https://www.mediafire.com/?wdamsz6t6cfzqhf
 
Also of note, if I restore the original boot loader I can get fastboot to recognize the bootloader, but with the bootloader in sawbones999's ROM I can't. Of course, the kernel won't boot from FreedomPop stock either...

I have no idea of how to go about testing it without bricking my phone, but maybe keeping one of the FreedomPop bootloader partitions will allow fastboot.
 
Last edited:
Sucked it up and flashed through CWM. The one I posted won't boot. I fixed a bug and now I boot, and can even select up to 1.99GHz, but something is throttling the phone to 1GHz. More tomorrow hopefully.
 
Aaaand while debugging I figured out that whoever put together the frequency table for Cyanogenmod calculated the wrong multipliers, so they're advertising higher speeds than are really in use. *throws confetti*

As luck would have it, it's close enough to the same table as the AWE that I can just reuse those values from AWEstruck.
 
Back
Top Bottom