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

Root FINALLY A WORKING JELLY BEAN ROM!! Public release! Update from ICS!

Do you want more dev for this phone or is it time to let it go?


  • Total voters
    53
P.S. I noticed that the CPUs' voltage in your patch steps up 25mV every two frequencies (instead of 12.5mV per two frequencies as it does below 1.51GHz) -- I tried changing the voltages steps to 12.5mV but ultimately could not get through a benchmark even at 1.56GHz (at either 1150mV or 1162.5mV).

P.P.S. I attach the last_kmsg from a crash in Antutu with the CPU maximum frequency set at 1.56GHz (1150mV).
 

Attachments

Last edited:
That's on purpose, overclocking requires a lot of voltage, though somewhat dependent upon the quality of the transistors in your CPU. If the voltage isn't high enough, you'll see instability and cache errors. You can try increasing the voltage some more and see what happens, but be very careful of your CPU temps.
 
Robert, your latest log: [04-01 15:13:53.270] L1 / TLB Error detected on CPU 0!

As for Trickster, I oddly enough didn't have to install an additional busybox to get all the tools it needs. Stock sawbones999 came with everything it needs. I saw the same thing you're seeing now, on my Awe when I screwed up a busybox installation. You can fix it by uninstalling any busybox apps you still have, and then dirty flashing the ROM (i.e. don't wipe anything). I recommend making a backup first, but you *shouldn't* lose anything.

I agree that it's a bummer that the 3c apps have ads, but they also have paid versions available. For what it does, I gladly deal with it because I know it supports that dev and it's honestly been the most comprehensive and reliable for me. On the occasion they do break something, there's a new release within hours.

Lastly, thanks for bringing the injector script to my attention. I haven't played with ramdisks much yet; if I can work out the cache issue I'll look into it. Or maybe sawbones999 or buzbee can take it up. This is sawbones' thread after all... *bows down* please forgive the hijacking!
 
How did you change the stock voltages? What is the stock voltage at 1512MHz, e.g? Did you undervolt frequencies from 1512MHz down? Why do you suppose my benchmark drops ~20% when I run force_tweak47, leave the frequency at 1512MH, and leave the voltages unchanged? With sawbones' kernel, it consistently gets ~21,000 Antutu -- with your mod and leaving the clock at 1512MHz, it drops to 17,000+. Sawbones and Buzbee are welcome to chime in, and their work stands on its own.
 
I haven't touched the stock voltages, but I did remove some nasty ZTE voltage code. As for why your phone is scoring lower, I get 17000ish when I boot the defaults and don't make changes to the governor/turn off mpdecision. Antutu isn't playing nicely with these. Using cool tool I can see the frequency keeps dropping to 384 and the second core isn't utilized during all the tests it should be. Once I switch to performance and turn off multi-processor control, that's when I churn out the high scores. Have you tried comparing Quadrant scores at all? Even still, you'd think this is just software and the results should be replicable across devices, but I've seen it's still YMMV.

You're welcome to look at my source - https://github.com/spock1104/android_kernel_zte_msm8960 I make sure I'm fully GPL compliant; if I release a binary, my source code is up at the same time. I also offer help if you (anyone) want to try compiling it.

I put a few voltage fixes in this version and an L1 flush fix. I can still induce an L1 error on the higher clocks, but if I increase the voltage I can get through an antutu run. It's my hope that this one gets you stable at 1512.

http://www.mediafire.com/download/5g0nn62gmmdi8dd/force_cache2.zip
 
I installed the buzzbee freemdompop rom. Looks great, but I can't receive calls. Any ideas what I can do to receive calls? I can make calls, send and receive texts. Also I can't hangup on calls I make, but that has to do with fp messaging app, when I place a call, the next screen with the big red box for hanging up, flashes and disappears. But I had that problem with the stock fp rom.
 
I installed the buzzbee freemdompop rom. Looks great, but I can't receive calls. Any ideas what I can do to receive calls? I can make calls, send and receive texts. Also I can't hangup on calls I make, but that has to do with fp messaging app, when I place a call, the next screen with the big red box for hanging up, flashes and disappears. But I had that problem with the stock fp rom.

Turn off automatic updates in Play Store. The one with the rom works but Play Store probably updated to the latest version. The latest FP app has this issue - 16.01.101.0327. Uninstall current FP messaging app and install this old one - 15.07.227.0228

https://www.dropbox.com/s/tzxlrl70mq2cpzp/com.freedompop.phone-1.apk?dl=0
 
I haven't touched the stock voltages, but I did remove some nasty ZTE voltage code. As for why your phone is scoring lower, I get 17000ish when I boot the defaults and don't make changes to the governor/turn off mpdecision. Antutu isn't playing nicely with these. Using cool tool I can see the frequency keeps dropping to 384 and the second core isn't utilized during all the tests it should be. Once I switch to performance and turn off multi-processor control, that's when I churn out the high scores. Have you tried comparing Quadrant scores at all? Even still, you'd think this is just software and the results should be replicable across devices, but I've seen it's still YMMV.

You're welcome to look at my source - https://github.com/spock1104/android_kernel_zte_msm8960 I make sure I'm fully GPL compliant; if I release a binary, my source code is up at the same time. I also offer help if you (anyone) want to try compiling it.

I put a few voltage fixes in this version and an L1 flush fix. I can still induce an L1 error on the higher clocks, but if I increase the voltage I can get through an antutu run. It's my hope that this one gets you stable at 1512.

http://www.mediafire.com/download/5g0nn62gmmdi8dd/force_cache2.zip
Thanks. I managed to get stable behavior out of force_tweak47 through over-volting at successively higher frequencies -- not sure why it wasn't running stably at 1512MHz at first. At one point during this confused process, I managed to get through an Antutu run (at 1782MHz) with the score in the attached screenshot, but I haven't managed to replicate it since. I went through the same process of over-volting with force_cache2 on the theory that it is better than the last, but I don't understand the nature of L1 errors in the first place. What causes them, and why aren't they critical? These aren't cache misses, but inconsistencies in what is supposed to be a deterministic process, no? I got at least semi-stable behavior at 1.51, 1.56, 1.62, 1.67, 1.72, and 1.78 GHz at 1150, 1175, 1200, 1237.5, 1275, and 1300 mV, respectively (though my Force is not that stable at 1.78GHz). I was not turning off mpdecision (other kernels and optimizations must leave or turn this off by default; I don't recall seeing any references to it before installing System Tuner). I don't have enough knowledge of Linux to critique or improve upon your source.

I have read that turning off journaling in an ext4 file system dramatically improves performance, but (as is the case with virtually every change I suppose it might be relatively easy to accomplish in Android) I find I do not know enough to proceed. I found an installable script for another phone and attempted to adapt it by changing partition references (attached), but I don't have enough knowledge of the command line, Bash, the OS, etc. to make this work. I gather that different versions of the utilities used do not support required options, and I do not know which to invoke, or which are available at any given time; I suppose that altering the primary file system has to be done prior to booting into it. I see fstab, which seems to offer mounting options for /system and /data, but trying to use noatime and nodiratime here didn't seem to have any effect on the state of those mounts either. Do you know how to turn off journaling on our phone?
 

Attachments

  • Screenshot_2015-04-02-09-00-18.png
    Screenshot_2015-04-02-09-00-18.png
    37.4 KB · Views: 116
  • journaldisable.txt
    journaldisable.txt
    918 bytes · Views: 109
Turn off automatic updates in Play Store. The one with the rom works but Play Store probably updated to the latest version. The latest FP app has this issue - 16.01.101.0327. Uninstall current FP messaging app and install this old one - 15.07.227.0228

https://www.dropbox.com/s/tzxlrl70mq2cpzp/com.freedompop.phone-1.apk?dl=0
Thanks for your ROM. I have the 16.01.101.0327 version of FP messaging but have not noticed the behavior you describe -- at least I was able to call my FP number from my home phone. Since I was on Wi-Fi and had explicitly invoked the messaging app, I switched from Wi-Fi to 4G, rebooted, and the phone rang when I called it.

P.S. Could you supply a script to turn off journaling?
 
Last edited:
Thanks for your ROM. I have the 16.01.101.0327 version of FP messaging but have not noticed the behavior you describe -- at least I was able to call my FP number from my home phone. Since I was on Wi-Fi and had explicitly invoked the messaging app, I switched from Wi-Fi to 4G, rebooted, and the phone rang when I called it.

P.S. Could you supply a script to turn off journaling?

Turn off journaling with a custom kernel:

http://forum.xda-developers.com/showthread.php?t=1252028

I have experienced the issue, at least on wi-fi , on both my HTC EVO 4g and ZTE Force FP phones. With the latest version, when a call comes in a message pops up saying "Unfortunately, messenger has stopped. Look at the reviews on Google Play. They can confirm my issues.

https://play.google.com/store/apps/details?id=com.freedompop.phone
 
Turn off journaling with a custom kernel:

http://forum.xda-developers.com/showthread.php?t=1252028

I have experienced the issue, at least on wi-fi , on both my HTC EVO 4g and ZTE Force FP phones. With the latest version, when a call comes in a message pops up saying "Unfortunately, messenger has stopped. Look at the reviews on Google Play. They can confirm my issues.

https://play.google.com/store/apps/details?id=com.freedompop.phone
I don't doubt that the app failed, I just wasn't able to reproduce the problem (a smartphone unable to receive calls surely has a severe problem) myself, so I haven't (yet) replaced the current version of the app (though I downloaded the previous version you supplied) -- thanks for drawing the issue to our attention. As for turning off journaling, I read that post, but I am trying to turn it off on the ZTE Force (as opposed to the Galaxy Ace S5830) and attempting to use the installer provided failed. I tried to modify the journaldisable script so that it referred to the location of busybox and the system, data, and cache partitions on the Force (ignoring the updater-script) -- that (obviously) didn't work. I just now attempted to modify the updater-script similarly, but this time the installation failed (status 6). I have attached my attempted mod -- any idea what I did wrong, or what, if anything, I did right?
 

Attachments

Thanks. I managed to get stable behavior out of force_tweak47 through over-volting at successively higher frequencies -- not sure why it wasn't running stably at 1512MHz at first. At one point during this confused process, I managed to get through an Antutu run (at 1782MHz) with the score in the attached screenshot, but I haven't managed to replicate it since. I went through the same process of over-volting with force_cache2 on the theory that it is better than the last, but I don't understand the nature of L1 errors in the first place. What causes them, and why aren't they critical? These aren't cache misses, but inconsistencies in what is supposed to be a deterministic process, no? I got at least semi-stable behavior at 1.51, 1.56, 1.62, 1.67, 1.72, and 1.78 GHz at 1150, 1175, 1200, 1237.5, 1275, and 1300 mV, respectively (though my Force is not that stable at 1.78GHz). I was not turning off mpdecision (other kernels and optimizations must leave or turn this off by default; I don't recall seeing any references to it before installing System Tuner). I don't have enough knowledge of Linux to critique or improve upon your source.

I have read that turning off journaling in an ext4 file system dramatically improves performance, but (as is the case with virtually every change I suppose it might be relatively easy to accomplish in Android) I find I do not know enough to proceed. I found an installable script for another phone and attempted to adapt it by changing partition references (attached), but I don't have enough knowledge of the command line, Bash, the OS, etc. to make this work. I gather that different versions of the utilities used do not support required options, and I do not know which to invoke, or which are available at any given time; I suppose that altering the primary file system has to be done prior to booting into it. I see fstab, which seems to offer mounting options for /system and /data, but trying to use noatime and nodiratime here didn't seem to have any effect on the state of those mounts either. Do you know how to turn off journaling on our phone?

That's fantastic news, I'm glad you got it stable. I'll continue patching up toward an actual release. Overclocking isn't a deterministic process, the quality of the silicon will vary from CPU to CPU, so each one reacts a little differently. Some require more voltage, some less, and the maximum clock is always different. Finding your top clock is an art.

L1 is a small amount of memory built into the CPU, and the reasons for the errors are due to the way memory works. Each bit is stored in a capacitor that has to charge or discharge within the clock cycle, and get above or below a pair of voltage tolerances to be read as a 1 or 0. If the charge/discharge doesn't happen fast enough, you get a memory error. The speed of this process is partially dependent again on the quality, but by increasing the voltage we can make sure the charge/discharge process occurs fast enough and stable enough. The downside to increasing the voltage is you end up with more heat, and obviously a little more battery drain.

I'll have a look at your journaling scripts and help if I can. I also built in other options to increase your performance as well. In System Tuner, try changing your I/O scheduler to SIO with a 4096 cache size, or to FIOPS with a 3072 cache size.
 
I don't doubt that the app failed, I just wasn't able to reproduce the problem (a smartphone unable to receive calls surely has a severe problem) myself, so I haven't (yet) replaced the current version of the app (though I downloaded the previous version you supplied) -- thanks for drawing the issue to our attention. As for turning off journaling, I read that post, but I am trying to turn it off on the ZTE Force (as opposed to the Galaxy Ace S5830) and attempting to use the installer provided failed. I tried to modify the journaldisable script so that it referred to the location of busybox and the system, data, and cache partitions on the Force (ignoring the updater-script) -- that (obviously) didn't work. I just now attempted to modify the updater-script similarly, but this time the installation failed (status 6). I have attached my attempted mod -- any idea what I did wrong, or what, if anything, I did right?

A few suggestions...
  1. Grab the updater-binary out of my kernel updater
  2. Grab tune2fs from system/bin/tune2fs
  3. Rather than reference busybox from the phone, it'll be better to include it in the zip
  4. You're unpacking onto the same partitions you later unmount in order to change the file system. Unpack to /tmp and run from there instead, it's a temporary file system that CWM creates.
Looks good so far, good luck!
 
A few suggestions...
  1. Grab the updater-binary out of my kernel updater
  2. Grab tune2fs from system/bin/tune2fs
  3. Rather than reference busybox from the phone, it'll be better to include it in the zip
  4. You're unpacking onto the same partitions you later unmount in order to change the file system. Unpack to /tmp and run from there instead, it's a temporary file system that CWM creates.
Looks good so far, good luck!
In re: 4. unpack to /tmp or /sdcard/tmp? The script written for the Samsung copies tune2fs and the journaldisable script to /sdcard/tmp but then makes reference to busybox through "/tmp/busybox mount -o remount,ro rootfs /", from which I infer that some version of busybox is already loaded. If I include busybox in the tools folder and modify the script to "cp /data/busybox /sdcard/tmp", would "/sdcard/tmp/busybox mount -o remount,ro rootfs /" reference the right copy of busybox? Do I want to use the native fsck, as the extant script does, or use the one included with the newer busybox, and would I then invoke it by prefacing "fsck.ext4 -Dfy" with "/sdcard/tmp/"? In updater-script, should I invoke the busybox I just copied to /data or the one in /system/xbin? I have made what seem to me to be somewhat arbitrary selections based on little more than the existing script and your suggestions, but please shed any light you can on the appropriate naming conventions for the ramdisk directory in CWM and on the use of (replacement of?) busybox in the script written for the Samsung -- knowing next to nothing about scripting in the first place, different conventions for directories on different systems is confusing! The script won't install; it fails with the message "Status 6". I replaced all references to "/sdcard/tmp" with "/tmp"; the script fails the same way.

P.S. I fixed the EOLs and got rid of the Status 6 errors, but the script doesn't work.
 

Attachments

Last edited:
With this ROM, the photos taken and used Whatsapp are always flipped sideways, i.e. laterally inverted.

The interesting thing is that the stored photo image and the camera app do not have problem at all. Can this problem be fixed?
 
With this ROM, the photos taken and used Whatsapp are always flipped sideways, i.e. laterally inverted.

The interesting thing is that the stored photo image and the camera app do not have problem at all. Can this problem be fixed?

I think I fixed this with the FreedomPop rom. Download it from post #100 (p4) and then you can apply the FP undo for your specific carrier (Sprint, Boost, or Virgin) (post 168 (p7). You should then have a fully bloated version of Sawbones rom. Let me know if it works and whether "sprint zone"," boost zone" or "my account" shows up for you. There may be issues with that app working on custom roms.
 
Last edited:
Buzbee, Spock -- any idea how to make a script remove journaling? I really don't know enough to accomplish this. I tried following Buzbee's suggestions while otherwise following the script that worked for the Galaxy Ace as closely as possible. Busybox is in /sbin on that phone; is that not in its system partition (the way that /system/xbin/busybox is on the Force)? The original updater-script uses "/sbin/busybox" to call the journaldisable script that unmounts the system partition to remove its journal; I tried the analogous "/system/xbin/busybox" as well as "/data/busybox", but the journaldisable script seems not to execute at all.
 

Attachments

Buzbee, Spock -- any idea how to make a script remove journaling? I really don't know enough to accomplish this. I tried following Buzbee's suggestions while otherwise following the script that worked for the Galaxy Ace as closely as possible. Busybox is in /sbin on that phone; is that not in its system partition (the way that /system/xbin/busybox is on the Force)? The original updater-script uses "/sbin/busybox" to call the journaldisable script that unmounts the system partition to remove its journal; I tried the analogous "/system/xbin/busybox" as well as "/data/busybox", but the journaldisable script seems not to execute at all.

You need a custom kernel with ext4 support for that script to work. It is mentioned in the xda thread.
 
You need a custom kernel with ext4 support for that script to work. It is mentioned in the xda thread.
I don't think that's the issue here, our phone is ext4.

Robert, after the script errors, go to advanced and report issue. It'll write recovery.log to your sdcard that you can use to troubleshoot.
 
I don't think that's the issue here, our phone is ext4.

Robert, after the script errors, go to advanced and report issue. It'll write recovery.log to your sdcard that you can use to troubleshoot.
Thanks for that datum! It's nice to have some inkling of some of what's wrong rather than none. Please see the attached scripts and log. There is much I do not understand in them, but I see something I find mind-boggling in the log, and that is the error message "sh: applet not found". This script ran three years ago using various phones' busyboxes, and "sh" is listed as a valid Busybox command at http://www.busybox.net/downloads/BusyBox.html now (though there is no description of it), but it is not one of the available commands in Busybox 1.23.1 on my Force, hence the aborted script. What should I do -- scout around for whatever version of busybox was installed to /sbin on Samsung phones ca. 2011? Isn't there some alternative way to invoke the journaldisablescript? The original script uses /sbin/busybox -- I don't know if that was located in a different partition, but /system/xbin/busybox (which I substituted) is on the system partition of the Force; is there a problem with expecting it to return correctly after the partition on which it resides gets de-journaled?

I don't understand why there are two scripts in the first place, and why the tools are first extracted to /data by updater-script and then copied to /tmp by journaldisable -- why not extract the tools to a temporary directory on the sdcard and run them from there to de-journal the (internal) system, data, and cache partitions in a single step? I may attempt the manual process via adb described in the original thread, but even if it works, it would be nice to come up with a working script.
 

Attachments

Last edited:
Thanks for that datum! It's nice to have some inkling of some of what's wrong rather than none. Please see the attached scripts and log. There is much I do not understand in them, but I see something I find mind-boggling in the log, and that is the error message "sh: applet not found". This script ran three years ago using various phones' busyboxes, and "sh" is listed as a valid Busybox command at http://www.busybox.net/downloads/BusyBox.html now (though there is no description of it), but it is not one of the available commands in Busybox 1.23.1 on my Force, hence the aborted script. What should I do -- scout around for whatever version of busybox was installed to /sbin on Samsung phones ca. 2011? Isn't there some alternative way to invoke the journaldisablescript? The original script uses /sbin/busybox -- I don't know if that was located in a different partition, but /system/xbin/busybox (which I substituted) is on the system partition of the Force; is there a problem with expecting it to return correctly after the partition on which it resides gets de-journaled?

I don't understand why there are two scripts in the first place, and why the tools are first extracted to /data by updater-script and then copied to /tmp by journaldisable -- why not extract the tools to a temporary directory on the sdcard and run them from there to de-journal the (internal) system, data, and cache partitions in a single step? I may attempt the manual process via adb described in the original thread, but even if it works, it would be nice to come up with a working script.

Try downloading my jounaldisable/enable:

https://www.dropbox.com/s/4kf7n61fp0vcngz/JournalingDisabler.zip?dl=0

https://www.dropbox.com/s/bgwtnvogbs7pnyp/JournalingEnabler.zip?dl=0

The scripts completes successfully and states that journaling is disabled/enabled. I don't know if it actually works though. I guess you can do a performance check before and after and if you get a reasonable higher score afterwards assume it works?
 
Last edited:
Try downloading my jounaldisable/enable:

https://www.dropbox.com/s/4kf7n61fp0vcngz/JournalingDisabler.zip?dl=0

https://www.dropbox.com/s/bgwtnvogbs7pnyp/JournalingEnabler.zip?dl=0

The scripts completes successfully and states that journaling is disabled/enabled. I don't know if it actually works though. I guess you can do a performance check before and after and if you get a reasonable higher score afterwards assume it works?
The scripts do not complete successfully -- see the attached log. The journaldisable script does not even begin, because busybox does not support the sh applet (as I indicated above). I gather that tune2fs -l /dev/block/mmcblk0p18 will reveal system partition attributes. I could not unmount /system or /data from adb, because the only way to use adb with the Force is to have the OS booted when it is connected (do correct me if I am wrong). When I tried to umount or e2fsck, adb reported the system and data partitions busy -- I did manage to manually de-journal the cache partition with adb.
 

Attachments

The scripts do not complete successfully -- see the attached log. The journaldisable script does not even begin, because busybox does not support the sh applet (as I indicated above). I gather that tune2fs -l /dev/block/mmcblk0p18 will reveal system partition attributes. I could not unmount /system or /data from adb, because the only way to use adb with the Force is to have the OS booted when it is connected (do correct me if I am wrong). When I tried to umount or e2fsck, adb reported the system and data partitions busy -- I did manage to manually de-journal the cache partition with adb.

ADB can be used from some recoveries, I don't know if we have one yet that can do this though.

I was misguided in suggesting to use /tmp. apparently /cache gets mounted as /tmp by cwm. D'oh! As a consequence, the script is only successfully changing /data and /system. I left the cache stuff in there hoping someone can tweak further. The logs you can use for troubleshooting get placed in (wait for it...) /cache/recovery/last_log

Try this, though after applying it my boot time has significantly increased. I also lost some data in the process, so make a nandroid first!

http://www.mediafire.com/download/qofyrbqthvnt919/JournalingDisabler_spock.zip

http://www.mediafire.com/download/ag0122ab27qg9dy/JournalingEnabler_spock.zip
 
Last edited:
Back
Top Bottom