lag-on-wake issue - Folio 100 General

It seems that the guys with the Viewsonice G tablet located some issues at wake-up making the CPU run in 216Mhz..
Synopsis of what we learned:
Under certain conditions (LP1 suspend?), when the Tegra 2 was in a suspend state and a driver returned an error on wake-up, there is a step in the resume process where the voltage was supposed to be reset to the CPU, and that step was getting skipped. When the voltage was stuck low, the CPU would get stuck at minimum frequency, 216MHz and couldn't be pushed back to 1GHz or any other setting by the governor. There was a patch from NVidia that fixed this behavior, from a newer branch of the Tegra 2 source code than what Viewsonic used. We integrated this patch and found that indeed, it resolved the problem.​
Maybe Teknoraver og badstorm2010 can include the patch those guys found with Nvidia, to fix our kernel too? not sure if Toshiba has the patch included..
or maybe its already in place, but it might be a cause for the wakeup issue we see on our tablet?
I still havent the kernel compile in place, due to a storage crash i lost all changes, so im unable to compile a new version atm..
See this post for alot more details on the problems.

Was messing around with the kernel anyway, so here we go.
I've also included utf8 NLS support (which is also default now) to support mounting NTFS volumes with utf8 charset.
The debug version of the patch sets the following properties
ro.debuggable=1
persist.service.adb.enable=1
This allows debugging/tracing of every (java-)process running on the system, no matter if they have the debuggable attribute set in their manifest.

weeds2000 said:
Was messing around with the kernel anyway, so here we go.
I've also included utf8 NLS support (which is also default now) to support mounting NTFS volumes with utf8 charset.
The debug version of the patch sets the following properties
ro.debuggable=1
persist.service.adb.enable=1
This allows debugging/tracing of every (java-)process running on the system, no matter if they have the debuggable attribute set in their manifest.
Click to expand...
Click to collapse
Thanks weeds! Do you have the original kernel laying around? For rollback purposes...
/Edit: Trying your kernel now, seems the HW buttons react now much better, did you change anything bout this?

weeds2000 said:
Was messing around with the kernel anyway, so here we go.
Click to expand...
Click to collapse
you compiled it with the patches included? right? sounds like the current custom kernel needs to be replaced..
im really hoping it solves some issues...

Did your kernel patch just fix out awake issue? i havent seen it for a while? and im wondering if the patch really was the solution, if so... its sooo great!
ill do some more "sleeping"
edit: ok, 2sec's after i wrote this it happened again, so didnt solve the screen awake issue i think..

I didn't do anything except implementing the patches. No button fixes, no wakeup stuff.
But it seems to be a good idea to get the Nvidia kernel running on the Folio as we then get some patches from Nvidia. Actually this was the "messing around" thing I've mentioned before.

I agree. Porting nvidia kernel might ease development when nvidia comes up with kernel for future android versions. At this point it looks like toshiba is dumping folio 100 for their announced honeycomb tablet. I am about to jump onto the ship and try out folio 100.

Related

[UPDATE] Memory issue with kexec.

UPDATE:
So it seems as though i have solved that problem, and now i just away the kernel modules. Thanks for all your help guys.
Code:
adb shell /data/local/kexec /data/local/uImage
MSTART= 12668952828585181184 MEND=18014435486466048 MEMTYPE=0 NR_SEGMENTS=0 ULONG_MAX= 4294967295
MSTART= 12668952829122052096 MEND=18014435822010368 MEMTYPE=0 NR_SEGMENTS=0 ULONG_MAX= 4294967295
MSTART= 12668952829390487552 MEND=18014436090445824 MEMTYPE=0 NR_SEGMENTS=0 ULONG_MAX= 4294967295
start= AFD1297980000000 mem_min= 0 hole_min=0 end=4000089C000000 mem_max =FFFFFFFF hole_max=FFFFFFFF
Cannot open /proc/atags: No such file or directory (Doesnt really matter from what ive read)
kexec_load failed: Function not implemented (The module)
entry = 0x80008000 flags = 280000
nr_segments = 2
segment[0].buf = 0x2e4e8
segment[0].bufsz = 10
segment[0].mem = 0x80001000
segment[0].memsz = 1000
segment[1].buf = 0x403ff048
segment[1].bufsz = 2c4214
segment[1].mem = 0x80008000
segment[1].memsz = 2c5000
So hears the deal myself and gameman73 have been working our a**es off trying to get this KEXEC to compile and work. The problem is the current memory will not allow for certain calls to the iomem.
We need to find a way to have this line of code compile and be true on our devices. If someone could sift through the code alittle that be well appreciated:
Code:
kexec/kexec.c 230: while ((j < info->nr_segments) && (([B](unsigned long)info->segment[j].mem) <= mend[/B]))
Apparently it thinks info->segment[j].mem is a const * void
Here's the source http://horms.net/projects/kexec/kexec-tools/kexec-tools-2.0.2.tar.bz2
When I work on something, I often find that having a complete understanding of the problem makes the solution clear. Perhaps this will help you understand the problem better:
SEE ATTACHED FILE, FIRST LINK*
Related. Looks like you aren't the first person to have a problem with the way memory is called in kexec. You might be able to work something out from this discussion, however old it may be.
SEE ATTACHED FILE, SECOND LINK*
This is something else about disabling kexec from executing. A workaround is discussed, but I am by no means a developer and I can't make any sense of it. Just giving you what I find.
I don't mean to spam, and I don't want to be the typical noob getting in the way, but I do want to help. Research, it seems, is about all I can do until my unit arrives (hopefully tomorrow).
*edit: since this is my first post, please excuse the attached file. It is only because with less than 8 posts I cannot put the links in the body of my message.
twodollaz: research is awesome. digging that crap up is a giant pita.
loglud: did you guys get kexec-mod compiling and loading? i haven't had time to look at it much, but all the sources i've found require a huge amount of work to compile, let alone load and run. do y'all have more information on that? i'd look at why the line you mentioned isn't working but i have no frame of reference if i can't reproduce it myself :-/
Actually you really don't need the module to reproduce the error that I am talking about. But gameman73 does have a fully compiled module loading into insmod. And it is showing as installed. You can ask him.
As for you links twodollaz there actually very useful, however not for our problem. The problem that they are incurring is that of the memory not being malloced, or assigned to the process. Our problem is that according to the program there is no memory existing, (the page is there but the lines are not). I think i might have found a solution last night while sleeping ironically, however i am in work and cant test till I get home.
You've gotta love it when your subconscious does the work for you.
If you guys need more help with this I would be glad to join in. I have literally no experience with kernels, hardware, etc though so I will need some hand holding to get kexec loaded and testing. Once I have the build/run setup I might be able to help. I am a programmer by trade, mostly java based, but can write c/c++ when pressed. Alot of what I do on a day to day basis is pull apart other people's code and fix it, optimize it, etc - mostly in a JVM but I have done this some for system cores.
zambien said:
You've gotta love it when your subconscious does the work for you.
If you guys need more help with this I would be glad to join in. I have literally no experience with kernels, hardware, etc though so I will need some hand holding to get kexec loaded and testing. Once I have the build/run setup I might be able to help. I am a programmer by trade, mostly java based, but can write c/c++ when pressed. Alot of what I do on a day to day basis is pull apart other people's code and fix it, optimize it, etc - mostly in a JVM but I have done this some for system cores.
Click to expand...
Click to collapse
zambien you are my new best friend. If you could take a look at what are valid memory locations in the locate_holes function that would be amazing. So far when i do an
Code:
fprintf(stderr, "mem= %li...",(unsigned long)info->segment[j].mem))
i always get nothing. I think this might be because j needs to start at 1 but idk. if you could find a way to iterate through
Code:
info->segment[j].mem
and find where it is valid, we might be on our way.
Forgive me if I'm way off, but how does this sound? I don't know if this device is EFI compliant, but if it is - and apparently some ARMv7 devices are - then it could allow kexec to reference a more complete memory map provided by EFI. The patch behind the link is for x86, but perhaps there are some ideas it might provide.
Just trying to help.
See attached for link..
twodollaz said:
Forgive me if I'm way off, but how does this sound? I don't know if this device is EFI compliant, but if it is - and apparently some ARMv7 devices are - then it could allow kexec to reference a more complete memory map provided by EFI. The patch behind the link is for x86, but perhaps there are some ideas it might provide.
Just trying to help.
See attached for link..
Click to expand...
Click to collapse
Hmm thats very interesing... Ill try this when i get home. Im looking though it more and im starting to think that this could be our problem. Im going to pull one of the patched files down tonight and try seeing what happens.

Patched libsqlite.so to disable sync and improve SQLite performance

Based on this thread:
http://forum.xda-developers.com/showthread.php?t=1595531
and this one:
http://forum.xda-developers.com/showthread.php?t=903507
After quite some reading and messing about it worked...
I have patched sqlite3.c from CM9 ICS source and recompiled CM9 (for nexus, the tutorial used that one... but files seem interchangable).
!!!WARNING!!!
!!!Use this at your own risk! I will not be responsible for any messed up primes, errors and/or loss of data!!!
This can mess up your prime! Only do this if you have a working CWM backup and can restore that backup from recovery! Root is required at this time to replace the files...
I have no idea what this does with data integrity, if you value your data extremely it might be wise not to try this!
!!!WARNING!!!
*RISK*
As explained by Hobbesian in this post: http://forum.xda-developers.com/showpost.php?p=27121811&postcount=39
Fsync off means that SQLite is unbound by the need to check that data has been written to disk successfully, it also means the operating system can freely re-order the writes before they are comitted to flash memory, which in the event of a hardlock will very likely result in database corruption, of the unrecoverable sort.
Fsync in itself is often used -deliberately- to incur an I/O buffer, so whilst it might seem like a great idea to turn it off, what you're essentially doing is risking the CPU going faster than the device controller can write to memory. This is bad. I cannot begin to imagine how many klaxons would go off if you're working on something remotely important and use this patch.
*RISK*
I hereby attach the zip containing the libsqlite.so and libsqlite_jni.so.
1. Copy the files (using root explorer for example) to the /system/lib folder, replacing the original files. (Mount that folder as RW if necessary).
2. Set permissions to the same as the other files, rw-r--r--.
3. Reboot.
If something went wrong your prime will not boot but will be stuck at the booting screen, in that case recover to a working backup using CWM.
SQLite benchmark went from 100+ secs to 20-25 seconds. Quadrant IO bench improved as well.
Have yet to decide on realtime performance but I actually believe the internal memory is pretty mediocre, physically... So this only helps partially in that case.
It's fun to play with sync settings but not if you value your data. I would strongly advise against it except for testing and benchmark purposes...
Thanks, but Iḿ awarre of possible consequences... But I believe the conclusion in earlier versions was that, even though there are indeed risks, they aren't as huge as you'd might expect. Mainly with unexpected reboots or shutting down the risk is big(ger).
But even if itś just for testing/benching... I would still very much like to see the results.
Btw, it should be ARM v7 even... that is the proper instruction set. Updated starting post.
Ugh, got it to build for arm-v7a but of course it looks (completely) different from the module with the prime. Structure the same, but compiled different enough. So thought I'd compule the library and install it on the prime but that resulted in the prime not booting...
Hmmm
I'd love to help, but I have zero knowledge in anything SQLite...
I wish you good luck!
I think everyone is hoping that the slow random write speeds are purely software related. And it makes sense that they are. The SQLite benchmarking thread is giving a lot of details on what is making our performance so sluggish, but not why.
Next step, compile complete CM9 source (hopefully including libsql src ) so I can use that as a base...
Copying the libsqlite.so and libsqlite-jni.so from an AOKP rom worked fine, so perhaps this is a (not the easiest) way to get things to work.
And ah well, otherwise I learnt how to compile a rom
xTRICKYxx said:
I'd love to help, but I have zero knowledge in anything SQLite...
I wish you good luck!
I think everyone is hoping that the slow random write speeds are purely software related. And it makes sense that they are. The SQLite benchmarking thread is giving a lot of details on what is making our performance so sluggish, but not why.
Click to expand...
Click to collapse
Same here, thanks for taking time out to tinker with our primes...........hmm, im not intirelly sure if i should refrase that???
GD LUCK
dagrim1 said:
Next step, compile complete CM9 source (hopefully including libsql src ) so I can use that as a base...
Copying the libsqlite.so and libsqlite-jni.so from an AOKP rom worked fine, so perhaps this is a (not the easiest) way to get things to work.
And ah well, otherwise I learnt how to compile a rom
Click to expand...
Click to collapse
Are you actually changing rom code to remove fsync?
hairdewx said:
Are you actually changing rom code to remove fsync?
Click to expand...
Click to collapse
Ehm, basically... Not rom code itself but one of the libraries in the rom (for which I hope the code is in there as well).
Background info:
http://forum.xda-developers.com/showthread.php?t=1000899
Android phones as the underlying database using sqlite3. sqlite3 writes efficiency is very low, because the sync feature turned on by default, and fsync() must be performed after each insertion, the resulting system efficiency is low, and the disk life is reduced.
I try to disable sync feature by default in exchange for greater IO performance and reduce disk consumption. While doing so may result in data integrity problems, but I still like to use it because most of the sqlite insert action can be completed within a few seconds, not too much to consider issues such as sudden power-down.
After modified, the time of insert 2000 records to sqlite3 db, from 1m11s reduce to 2s.
-----------------------------
With Android applications, the database operation is non-persistent, normal step in app is:
1.open db
2.do read/write
3.close db
with step3, the data in cache will be flush to disk. so user will not notice any sudden lag, always smooth.
With SYNC-ON, the db operation like this:
1.open db
2.1. write a record/do a transcation
2.2. fsync()
2.3. write a record/do a transcation
2.4. fsync()
.....
3.close db/fsync()
with SYNC-OFF, operation like this:
1.open db
2.1 write a record/do a transcation
2.2 write a record/do a transcation
....
3. close db/fsync()
So, no-sync can significantly save IO time.
Click to expand...
Click to collapse
Patch for libsqlite.c:
http://forum.xda-developers.com/showpost.php?p=12695464&postcount=1966
Code:
diff -urNp external/sqlite/dist.origin//sqlite3.c external/sqlite/dist//sqlite3.c
--- external/sqlite/dist.origin//sqlite3.c 2011-01-07 15:26:32.000000000 +0800
+++ external/sqlite/dist//sqlite3.c 2011-01-07 15:27:55.000000000 +0800
@@ -34761,7 +34761,7 @@ SQLITE_PRIVATE int sqlite3PagerOpen(
pPager->readOnly = (u8)readOnly;
/* pPager->needSync = 0; */
assert( useJournal || pPager->tempFile );
- pPager->noSync = pPager->tempFile;
+ pPager->noSync = 1;
pPager->fullSync = pPager->noSync ?0:1;
pPager->sync_flags = SQLITE_SYNC_NORMAL;
/* pPager->pFirst = 0; */
@@ -65838,7 +65838,7 @@ static void attachFunc(
sqlite3PagerLockingMode(pPager, db->dfltLockMode);
sqlite3PagerJournalMode(pPager, db->dfltJournalMode);
}
- aNew->safety_level = 3;
+ aNew->safety_level = 1;
aNew->zName = sqlite3DbStrDup(db, zName);
if( rc==SQLITE_OK && aNew->zName==0 ){
rc = SQLITE_NOMEM;
@@ -97124,7 +97124,7 @@ static int openDatabase(
** database it is 'NONE'. This matches the pager layer defaults.
*/
db->aDb[0].zName = "main";
- db->aDb[0].safety_level = 3;
+ db->aDb[0].safety_level = 1;
db->aDb[1].zName = "temp";
db->aDb[1].safety_level = 1;
So the basic idea is to limit IO-interaction by disabling fsync.
Interesting, I figured it would have been in one of the kernel modules.
Ok, I have been able to compile the CM9 source (for the galaxy nexus, because the tutorial was for that one) including the sqlite source...
First test was now 36,6 secs which is pretty nice, have to check for other issues (and will compile for TF201 if I can soon). The semi patch caused a number of force closes so we'll have to see how this one goes.
But at least happy I was able to compile
Wow ... thanks for posting this ... I've edited the sqlite source and compiled the binary for AOKP B38 below are my setup details and test results. So far everything is stable, no FCs in the past 45 min and things are much faster. I have no idea whats up with Antutu's SD Card reads, that's outrageously high lol ... Can't say I trust that ;o) . Otherwise great hack. I wouldn't recommend running this if you have a need for solid data stability, I haven't seen anything yet, but ending all those syncs may cause problems down the road, I don't know. Since I flash regularly I don't really mind it, loving the speed! Also found some other sqlite optimization tips( Cache size and some others ) I may try to add in after I run it for a day as is and see how stability is. Again, thanks to the OP, great find!( so far )
Code:
Device: Transformer Prime(TF201)
ROM: AOKP B38
Kernel: Motleys running at 1.8 set to performance governer for testing
Tests: ( All tests done Run 1 after fresh boot, Run 2 immediatly after, all set to performance governer )
Couldn't get the damn formating to look right in the post ... check the image for results.
RubenRybnik said:
Wow ... thanks for posting this ... I've edited the sqlite source and compiled the binary for AOKP B38 below are my setup details and test results. So far everything is stable, no FCs in the past 45 min and things are much faster. I have no idea whats up with Antutu's SD Card reads, that's outrageously high lol ... Can't say I trust that ;o) . Otherwise great hack. I wouldn't recommend running this if you have a need for solid data stability, I haven't seen anything yet, but ending all those syncs may cause problems down the road, I don't know. Since I flash regularly I don't really mind it, loving the speed! Also found some other sqlite optimization tips( Cache size and some others ) I may try to add in after I run it for a day as is and see how stability is. Again, thanks to the OP, great find!( so far )
Code:
Device: Transformer Prime(TF201)
ROM: AOKP B38
Kernel: Motleys running at 1.8 set to performance governer for testing
Tests: ( All tests done Run 1 after fresh boot, Run 2 immediatly after, all set to performance governer )
Couldn't get the damn formating to look right in the post ... check the image for results.
Click to expand...
Click to collapse
What about actual use performance? Is web browsing lag gone? What about switching apps?
I'm a little hesitant about the data stability... with my luck I'll have rock solid stability until the ONE TIME I actually need it and lose important data
Updated main post...
This should be in dev section?
Looks promising, thanks OP.
Sounds very promising. Rooted people, start testing!
sweet. going to try it tonight!
---------- Post added at 01:33 PM ---------- Previous post was at 01:13 PM ----------
RubenRybnik said:
Wow ... thanks for posting this ... I've edited the sqlite source and compiled the binary for AOKP B38 below are my setup details and test results. So far everything is stable, no FCs in the past 45 min and things are much faster. I have no idea whats up with Antutu's SD Card reads, that's outrageously high lol ... Can't say I trust that ;o) . Otherwise great hack. I wouldn't recommend running this if you have a need for solid data stability, I haven't seen anything yet, but ending all those syncs may cause problems down the road, I don't know. Since I flash regularly I don't really mind it, loving the speed! Also found some other sqlite optimization tips( Cache size and some others ) I may try to add in after I run it for a day as is and see how stability is. Again, thanks to the OP, great find!( so far )
Click to expand...
Click to collapse
Regarding your screenshot, the 1k inserts: After the SQL Patch those scores are on par with the other devices where we've seen benchmarks from (less than 1 second, which is literally 100 times better.. )
I don't believe in coincidence
Can it be that on those devices FSync is allready disabled, or bypassed only in some cases?
Anyhow i am realy curious if this makes stuff feel better
Tempie007 said:
Regarding your screenshot, the 1k inserts: After the SQL Patch those scores are on par with the other devices where we've seen benchmarks from (less than 1 second, which is literally 100 times better.. )
I don't believe in coincidence
Can it be that on those devices FSync is allready disabled, or bypassed only in some cases?
Anyhow i am realy curious if this makes stuff feel better
Click to expand...
Click to collapse
Posted this in the TFP's AOKP thread in that 'other' forum:
I'm seeing some great results personally. Chrome on prime seems really responsive, apps launch pretty much instantly, haven't seen a desktop redraw on Nova the whole time. I have an image folder with about 300 wallpaper images, opening that in quickpic in the past has been pretty slow( several seconds ), now that is almost instantly done, all thumbnails before I blink lol.
Now I'm not saying this is all the sql patch I did at all, unfortunately I didn't put much time into using Montleys new kernel in a 'real world' case, I only benchmarked with his kernel then applied sql patch and benchemarked again( still using his kernel ). So perhaps I'll flash back tonight just to see if I can gauge how much the patch vs kernel is doing.( Thanks again Motley! ).
As for side effects, I installed Chrome last night so I could test, had about a 2 second freeze at the end of it installing, but came back and was fine after. Haven't seen any other freezes. I did 'loose' wifi for about 20 min last night. I was connected to the wifi the entire time, but even a reboot and net wouldn't work on the Prime, not sure what happened, or if it's related, but seemed to have 'fixed' itself after 20 min last night.
Click to expand...
Click to collapse
Tempie007 said:
sweet. going to try it tonight!
---------- Post added at 01:33 PM ---------- Previous post was at 01:13 PM ----------
Regarding your screenshot, the 1k inserts: After the SQL Patch those scores are on par with the other devices where we've seen benchmarks from (less than 1 second, which is literally 100 times better.. )
I don't believe in coincidence
Can it be that on those devices FSync is allready disabled, or bypassed only in some cases?
Anyhow i am realy curious if this makes stuff feel better
Click to expand...
Click to collapse
If it is, it is not done in the library itself...
I also tried the libsqlite files from the SGS3 for example and copied them to the prime, but that didn't help much... So if fsync is handled differently on those devices it is done in a different place.
This is just a workaround for (part of) the problem... The real issue is elsewhere. I mean, the CM9/AOKP/AOSP roms use the same source for the differnt devices yet the issues are not the same on all of them.
So somewhere in the kernel code? Or another level, the controller for example. As the HTC One X performs decent it seems that it's not (JUST) the tegra3 but some of the other components.
Ah well, maybe tonight I can try the full wipe and reinstall and see if that helps anything.
Booting time doesn;t improve with this mod, titanium restores improve a bit but nothing extreme (20-25% faster is my guess) so there IS more going on. My guess is the used memory is at least part of the problem.
Some SD benchmarking indicating the memory used isn't the best one :/ (Done with the 'Device Performance' benchmarking app)
Asus TF201:
[email protected]/mnt/sdcard (=internal)
Max Write: 14,4
Mean Write: 12,1
Min Write: 9,4
Max Read: 28,8
Mean Read: 23,2
Min Read: 14,9
[email protected]/Removable/MicroSd (=external)
Max Write: 14,7
Mean Write: 11,4
Min Write: 9,9
Max Read: 14,6
Mean Read: 12,7
Min Read: 9,0
SGS3:
[email protected]/mnt/sdcard (=internal)
Max Write: 26,7
Mean Write: 25,3
Min Write: 23,9
Max Read: 43,8
Mean Read: 42,2
Min Read: 39,4
[email protected]/mnt/extSdCard (=external)
Max Write: 10,6
Mean Write: 10,0
Min Write: 9,6
Max Read: 13,8
Mean Read: 10,6
Min Read: 6,2
Is it possible to make an intelligent fsync where it basically syncs after some clock time after the last db write or inserts an fsync with a high count of writes?

[ROM][Early pre-alpha] AOSP ICS 4.0.4_r2.1 for DS5.

PREFACE: This ROM is not intended for everyday use and posted mainly for experienced users and streak-oriented developerss to evaluate it and collaborate on bug resolution and further development. If you expect it to fit any particular purpose - answer is: "No, not yet."
People who really helped to make this possible:
985hPaKicK - author of original cm9 overlay files and pricey patches for DSC kernel.
Sergei Lyubshin (n0p) - team lead of DSC Phoenix kernel, which is used (in it's ICS-que incarnation) to power up this ROM.
Marc Alexander (marc1706) - original kgsl3.8 backport is taken from his kernel HD2 ics and used to provide support for ICS adreno drivers. Also, Marc's advices on changes in hw init procedures related to new kgsl were priceless. Marc, you're da man!
TeamICS - for excellent guides on installing android build environment.
Team Evervolv and CyanogenMod teams - for their hardware overlays.
Currently working:
Boot
Adeno drivers used to provide hwaccel (for real now, surfaceflinger no longer eats 100% of cpu all the time)
GSM subsystem - rild is partially working (no sim pin prompt)
Bluetooth - seem to work. Phone is able to pair to BT headset and output sound thru it (OP's Nokia's BH-103 - tested)
Wifi - partially. Signal strenght not being displayed at statusbar
Touchscreen - working.
Charging - works partially. Phone charges, reports battery percentage, but not voltages.
Sound output - works (No headset icon in statusbar is normal for stock sources.)
Data usage collecting.
UMS
Known not to work:
Everything that's not listed as working.
Other bugs observed by OP (to be extended with ROM users' feedback):
No mobile data reported by several users. OP is unable to reproduce it, so it's being investigated in "blind" mode at the moment. Currently known rild refuses to establish datacall because it thinks that user has no data subscription. EDIT: there's report that removing PIN makes things to work. Not perfect, yes, but worth a try. Report your results, please.
Scanning for available cellular networks is broken.
Extremely high load average (sometimes, seem to be caused by installed applications)
Development related links:
Kernel source: https://github.com/kibuuka/dsc-team-kernel-project/tree/ics - fork of DSC Phoenix kernel that's being used in this ROM. ics branch will be pulled back to main DSC kernel project source tree after n0p's return from vacation.
Device overlay based on hPa's code, changed to build against AOSP source tree instead of CM9's.
Download links: ROM itself - Updated Jul. 14th 13:53MST (changes: see post #2)
Alternative build - OBSOLETE Updated Jun. 28th 05:16MST. Temoporary solution for webkit rendering glitches.
gapps: update-Gapps-ICS-20710.zip See TheManii's post for details Mirror
root: Superuser.zip recommended way to gain a root on this ROM (By TheManii) Mirror
Screenshots: posted earlier in General forum *click*
Installation precautions: Usual ones. ROM is pre-alpha, so nandroid backup is your natural choice in this case . Factory reset from recovery menu is suggested (dalvik cache deletion is optional but recommended for first boot - caches will be rebuilt anyway).
Updating from previous builds of this ROM:
Flash new version
Flash gapps
Flash Superuser.zip (if applicable)
Last words: Feel free to provide additional details and feedback as you test it out. This project is amied to provide a stable base for future streak development. Once we have stable AOSP with full hw support - we have nice shortcut for porting anything that's not AOSP.
P.S. OP is not really experienced in ROM hacking and modding - all tips related to optimisation are greatly welcomed - for everyone's benefit
Reseved
Changelog (New records are displayed first):
Jul. 14 (built and uploaded for internal testing Jul. 13)
kernel: hPa's "force speaker on" patch.
system: Multiple internal changes in camera-related stuff (just for ther record. camera is still unfunctional)
build.prop: mobiledata.interfaces=ppp0. ro.telephony.ril.v3=datacall,signalstrength,facilitylock,icccardstatus,skipbrokendatacall
Jul. 11
kernel: reverted io scheduler back to cfq.
kernel: default cpu governor: smartass2.
kernel: screen rotation patch from updated Phoenix branch. Credits to hPa and n0p. hw.sw.rotation=180 is obsolete now.
system: *finally* there's working (for OP, please do extensive testing and report back) usb mass storage. Cm9's vold and LegacyUsbSupport (along with messing with rest of source) did a trick.
system: removed BasicSmsReceiver.apk from being built and installed. Double sms notifications should be gone.
Jul. 02
kernel: enabled iptables support (needed for mobile quota setting).
kernel: new cpu governors added. feel free to play with them and share your experience.
kernel: added new io schedulers. new default is sio (matter of change).
system: mobile quota setup is functional as of now.
system: built with BOARD_AAPT_PREF_CONFIG := hdpi mdpi. 160dpi users - please check if dialer problem is still present.
interface: added two previously unincluded LWPs.
Jun. 30
Resolved FCs in kgsl shown in 0630 posted earlier. Please re-download. Filename should read as dell_streak-ota-eng.den.063012-2.zip
kernel - Added support for quota2. Mobile data limits will work in next release (still need to figure if iptables binary is needed for this to function)
OpenGL-disabled build is put on hold and won't be updated since we have figured most of opengl-related problems now.
Fixed webkit rendering issues. (Gmail renders pages correctly but seem to "hide" message content on scroll. Anyone aware of gmail app bugtracker presence? Share a link, please UPDATE: not present at clean install. Please check if dalvik cache fleanup fixes it for you. If not - try factory reset) Please note browser is built with OpenGL rendering disabled by default for OP's testing purposes. This will be changed in next build.
Multimedia libs being built from sources now.
Working video in YouTube as result
Lots of Qualcomm-related patches in OpenGL-subsystem (selected parts of frameworks/base taken from mikegapinski's PolishBlood repo (Great job, Mike), lots of patches are from CAF, source was additionally patched (proper ro.sf.hwrotation=180 support, gradient fix, some more) to work correctly on DS5)
Removed some unfunctional components from being built. Factory reset recommended for full removal if updating from previous builds of this ROM.
Flipped thumbnails in recent apps issue - fixed. Re-enabling...
kernel: re-enabled per-process pages in kgsl (default setup).
kernel: default io governor set to ondemand.
Jun. 28
0627 rebuilt with new flags. no changes in code. hdpi resources are included and used by default.
added debug.egl.swapinterval=0 to build.prop
Added Superuser.apk (non-functional at the moment. Use Superuser.zip from TheManii's thread for now)
Jun. 27
Partial fix for mobile data. Searching for available networks known to fail. EDIT:SIM PIN request - still no love. Please test everything you can and report back.
Data usage logging is working now. Necessary patches applied to kernel source.
Surfaceflinger has dithering enabled by default. Smooth gradients ftw.
Added missing LWPs (requested by TheManii)
Added alternative build (it's being built with USE_OPENGL_RENDERER set to false). It has no webkit rendering bug at cost of lesser interface attractiveness.
Tethering options re-enabled. Check which are worked for you and report back, please.
Jun. 23
Disabled per-process page tables in KGSL driver (for now, matter of reversal on test results)
Surfaceflinger problem resolved. Interface is pretty smooth now
Enabled PF_KEY support in kernel (in resolution of pkoning's bug report)
Jun. 21
new kernel build - ipv6 is enabled - without this google services fail to operate properly
added missing apps (Messaging, Camera (broken) and several others) to build set
added some findings to build.prop, removed libGLES_android.so - overall interface performance is slightly improved, yet we're sure we're running with hwaccel now
Jun. 19
sound is partially working now (speaker and BT headsets. wired headsets/headphones not working yet)
if i not mistaken... there is ICS apps rip/port for messaging... i think i have seen that on market...
No screenshots?
john9 said:
No screenshots?
Click to expand...
Click to collapse
i believe OP already included it on the first post...
This is the Great Start !!!
john9 said:
No screenshots?
Click to expand...
Click to collapse
I think these are the screenshots
http://forum.xda-developers.com/showpost.php?p=27537842&postcount=46
What a great start!
I just tried it for a while. It feels awesome to have gotten this far. The ROM is quite laggy as the OP has already mentioned but I was able to get around. I was unable to make a call got an error about sim card not being there. I didn't have any 3G connectivity either. And didn't have any Wi-Fi to try since I am office right now. Since I did this in a hurry I forgot to factory reset but didn't get any FCs. I am upgrading from CM 7.2. None of the google apps seem to work besides youtube but all other apps started without any issues. Looks very good though it's almost like I can smell ICS now.
I have a spare Streak so am happy to reserve it for testing. Let me know if I can do anything specific.
I can confirm that wifi works.
I have tried setting up my Google account but get "Unfortunately, Exchange Services has stopped"
Browser works after a fashion but is not usable.
I can dial outgoing call and the receiving phone rings but no sound. Likewise for incoming calls, my Streak rings but I can't hear the caller and the caller can't hear me.
I seem to have trouble setting up an APN.
Sorry if all of this is already known. I still can't believe that I am looking at Android 4.04 on my Streak.
omg!
I am so looking forward to this!
Mega-Kudos to everyone involved!
yes, this is a good start for DS5 android 4.0 .
good start!
waiting for your further work,
thanks a lot.
I use this mms.apk (from Evervolv ICS rom), push it to system app and change permission. Sms can send and receive (but it take about 1 minute to send sms). http://db.tt/DTuQO5sS
Maybe this could help, could you check this build prop patch made by @lithid and @the_plattypus to fix the red box screen.
http://db.tt/zAJ04F8a
The build prop is for evo4g sense 4.0 rom.
The camera libs by @rapmv78
http://db.tt/CiZxdJT2
How I wish I have my streak with me.
Sent from my MT27i using xda premium
nom051205 said:
I use this mms.apk (from Evervolv ICS rom), push it to system app and change permission. Sms can send and receive (but it take about 1 minute to send sms). http://db.tt/DTuQO5sS
Maybe this could help, could you check this build prop patch made by @lithid and @the_plattypus to fix the red box screen.
http://db.tt/zAJ04F8a
The build prop is for evo4g sense 4.0 rom.
The camera libs by @rapmv78
http://db.tt/CiZxdJT2
Click to expand...
Click to collapse
Yep, will look further, thanks a lot. Right now i'm trying to figure what causes gralloc to get this mad (almost sure that buffer status errors are the main reason of phone sluggishness).
Oh and btw, could you please post logcat taken while sending sms?
Oh! Yes, Yes, Yes ... =P
Will flash it wright-a-way and give some feedback
Great news ! "You've made my dreams come true" =D
Hope it'll be great and powerfull change for our DS5's =]
---
Ok, so: - WiFi - worsk
My menu LEDs are always on, even after screen time out.
Camera (from lock screen) makes device reset. [there is no camera app i think]
Can't Add any APNs
Sound want work at all
Can make incoming/outgoing call (but with no sound in my earphone/mic)
Web browser cant display pages correcly
Screen brightness want work
Gallery(phonee) want access my SD
Phone correctly downloaded time data from operator.
I would offer every possible assistance in developing the project =P
Great JOB! ...going back to DSC1.1 - ...till now.
kibuuka said:
Yep, will look further, thanks a lot. Right now i'm trying to figure what causes gralloc to get this mad (almost sure that buffer status errors are the main reason of phone sluggishness).
Oh and btw, could you please post logcat taken while sending sms?
Click to expand...
Click to collapse
Kibuuka would you take a look at CM9 for Acer Liquid?
It is almost same as DS 5.
Maybe you can use the necessary libs from that ROM to solve the issues.
Sms send and received work perfect now (maybe last time hv bad network), opera mobile browser work perfect, superuser not work well, can use root explorer but cannot use other root apps.
This is really a good start, I believe we will hv stable version soon.
Sent from my PC36100 using Tapatalk 2
I am getting some offset errors during install, tried some times downloading but still same
Sent from my Dell Streak using Tapatalk
abauer said:
I am getting some offset errors during install, tried some times downloading but still same
Sent from my Dell Streak using Tapatalk
Click to expand...
Click to collapse
These messages are not error ones. Please read this.
Sound output is working now (tested with internal speaker and BT headphones. Wired will be tested tomorrow, don't any of these around at the moment ) EDIT:New download link is live now.

[ROM][Development] Started work on G530W CM 12.1 Custom ROM

EDIT: Please direct any development questions, queries, etc. to the new thread in the Development Forum, concerning all development-y things.
http://forum.xda-developers.com/grand-prime/development/unofficial-cyanogenmod-12-1-g530w-t3424761
============================================================
I've recently started working on a custom ROM for the Samsung Grand Prime G530W [gprimeltevl/gprimeltecan], and so far I have built a somewhat working ROM (without any radio/wireless capability or audio for now).
If there is interest in this project (which I think there is; the lack of any kind of love shown for the G530W is annoying), I'll continue hacking away at it until I (hopefully) have a working ROM.
I'm new to Android ROM building in general, and there have been several bumps along the way, so any help would be appreciated.
Thanks.
I will be uploading images daily to my Drive storage, in folders named by date (if the date today is not there, then the image had not been built or uploaded yet), and will be compressing the system.tar images with either gzip or xz to reduce the image size.
I will also be updating this area with issues and fixes as necessary.
What I have managed to get working so far (23/07/2016)
Limited mobile connectivity [ sending/receiving texts ].
- Calls can be received or made but there is no audio (speaker or microphone).
- Mobile data is not working.
- Currently the system does not show the mobile connection as active, but texts can still be sent and received.
Bluetooth is working
Audio is working (microphone, speaker)
Multimedia playback working
GPS is working
Wifi is working
Screen brightness controls working
Sensors are working (magnetic, rotation/gyro,proximity)
App installation is now working
Camera is kinda working - only back camera works, and the image is distorted.
Issues
Radio [ modem ] is not working properly
NFC is not working
MTP is not working
Cameras are not working
Here is a link to the system.tar, boot.tar and recovery.tar flashable by ODIN or fastboot (when unpacked).
https://drive.google.com/open?id=0B-bYwctD_MoDaWJGcUQ4eWtzRTQ
Project GitHub Repositories:
https://github.com/vince2678/android_device_samsung_gprimeltecan
https://github.com/vince2678/android_vendor_samsung_gprimeltecan
If there are any other issues I missed, let me know.
Great effort
vince2678 said:
I managed to compile and get an image working for the G530W.
What I have managed to get working so far
Bluetooth is working
Audio is working (microphone, speaker)
Multimedia playback working
GPS is working
Sensors are working (magnetic, rotation/gyro,proximity)
Issues
Device fails to unlock and heats up [only once, so far]
Wifi is not working
Radio [ modem ] is not working
User interface crashes periodically
Screen brightness controls not working
MTP is not working
Cameras are not working
Here is a link to the system.tar, boot.tar and recovery.tar flashable by ODIN or fastboot (when unpacked).
https://drive.google.com/folderview?id=0B-bYwctD_MoDVzd0eS1aaDV6RW8&usp=sharing
I'll be working at it to get at least the Wifi working, if there are any other issues I missed, let me know.
Click to expand...
Click to collapse
Good work so far!
I recently purchased a g530w and I would love to boot the stock ROM.
However, I am still busy researching and reading up on this device before I attempt to flash anything. Actually, I did create an update zip file to remove Skype and tried applying it while not rooted but it failed because it was not properly signed.
Anyway, I will watch your progress with keen interest!
Zippy Dufus said:
Good work so far!
I recently purchased a g530w and I would love to boot the stock ROM.
However, I am still busy researching and reading up on this device before I attempt to flash anything. Actually, I did create an update zip file to remove Skype and tried applying it while not rooted but it failed because it was not properly signed.
Anyway, I will watch your progress with keen interest!
Click to expand...
Click to collapse
Sounds interesting. Did you try rooting your phone and using Link2SSD to remove the app(s)? It works pretty well, and you don't have to go through the whole effort of packing and unpacking the ROM.
vince2678 said:
Sounds interesting. Did you try rooting your phone and using Link2SSD to remove the app(s)? It works pretty well, and you don't have to go through the whole effort of packing and unpacking the ROM.
Click to expand...
Click to collapse
Here's my plan for my new phone:
Reading and research (in progress)
Setting up Odin on a virtual machine (I am a Linux user) and testing a restore of the stock ROM. Do you have a good link to such a ROM? I briefly looked at http://www.sammobile.com/firmwares/ and this site looks a little sketchy to me.
Root the device. I believe the method described in this G530T thread has worked for our G530W.
Debloat the crapware. Surprisingly, there is not all that much on the device - mostly some Micro$oft crap, Skype, and an old, old version of Chrome which I cannot uninstall. As root, I'll just go in and delete the unwanted stuff from /system/app using a terminal emulator.
Once it get this far, I can probably live with stock Lollipop. Question, if you are learning how to port a ROM, have you considered starting with Marshmallow? I'm keen to move up.
Build the ROM myself and then attempt to build it with my Linaro toolchain which I built from scratch myself.
Questions, with what you know so far, will the G530H ROM in this thread work on our phone? Is this what you started from? What differences between the 2 devices what preclude it from working on ours - different hardware? software - i.e. different bootloader?, etc?
Zippy Dufus said:
Here's my plan for my new phone:
Reading and research (in progress)
Setting up Odin on a virtual machine (I am a Linux user) and testing a restore of the stock ROM. Do you have a good link to such a ROM? I briefly looked at http://www.sammobile.com/firmwares/ and this site looks a little sketchy to me.
Root the device. I believe the method described in this G530T thread has worked for our G530W.
Debloat the crapware. Surprisingly, there is not all that much on the device - mostly some Micro$oft crap, Skype, and an old, old version of Chrome which I cannot uninstall. As root, I'll just go in and delete the unwanted stuff from /system/app using a terminal emulator.
Once it get this far, I can probably live with stock Lollipop. Question, if you are learning how to port a ROM, have you considered starting with Marshmallow? I'm keen to move up.
Build the ROM myself and then attempt to build it with my Linaro toolchain which I built from scratch myself.
Questions, with what you know so far, will the G530H ROM in this thread work on our phone? Is this what you started from? What differences between the 2 devices what preclude it from working on ours - different hardware? software - i.e. different bootloader?, etc?
Click to expand...
Click to collapse
Hey Zippy,
That sounds like a good idea.
That website does seem kinda sketchy, and their downloads take millenia, but it's the only option available and their images actually work (just make sure to get the correct one).
Setting up a virtual machine is a good idea, because heimdall doesn't work with this device and I'm not keen on bricking my device trying to force it.
Rebooting between builds to test firmwares because of a lack of a good recovery was becoming a pain. (CyanogenMod Recovery is still missing critical features but it's better than stock).
You can use CF-Auto-Root to root the device (so simple) at:
https://download.chainfire.eu/774/C...uto-Root-gprimeltecan-gprimeltevl-smg530w.zip
Yup, debloating is good, i wanted to do so at first but I wanted to be done away with KNOX and have an su binary which worked flawlessly for good so I decided to start from scratch.
I've considered starting from M, but that will be a task for later. It is troublesome to start from a fimware above what your device is at when you're porting, because the vendor libraries and binaries you copy might not work in the newer version of Android because of linking errors.
You can copy the binaries fine but obscure errors due to missing references will pop up in the logs which will stop the modules from loading or binaries from running.
I'm having these issues with a build ID that is just a few apart from the one used on the stock ROM - LMY49J on the cm build versus LMY47X on the stock).
My Git repos are above - you can get yourself a cm12.1 source tree, pull my device_ and vendor_ trees, pull proprietary files using the scripts in the vendor tree, build from source and then flash the resultant images to your device.
The G530H ROM might, in theory flash without issue and actually boot, but whether it will be usable is another thing.
The thing that differs between the devices, as far as I'm aware, is mostly the baseband, some other device hardware (e.g the G530W has 1.5GB RAM instead of 1GB as most G530 devices), and the device bootloader. As such, the kernels and modules used might differ slightly in terms of modules compiled in, even though they're built from the same kernel source.
And yes, indeed, I started from a G530 device and vendor tree, though whether it was that one, or perhaps one for the G530FZ, I don't remember (though I think it's the G530FZ, it's the device closest to the G530W).
Finally something for this variant, I've been waiting for ages. Huge thumbs up dude, from a thankful Canadian. I don't use this phone as my daily driver so I'll be flashing this without delay. Mind if I trouble you for the order of operations? I've never used Odin to flash a custom ROM before.
Some more questions ...
Hi again @vince2678, I have more questions:
Do you have a local_manifest.xml that drives your build? ... I have a single-purpose Fedora24 virtual machine which I use to build android ROMs.
Does your build actually produce a CM12.1 zip installation package? ... And do you simply harvest the system.img, etc afterwards to put into a flashable this tar file?
What is the command line that do you use to create the flashable tar files? ... I'm just curious.
What version of the firmware does your device have? ... Mine has G530WVLU1AOFB. Apparently, this is the Tanzanian version! WTF? I purchased my phone from a Costco in Oakville, Ontario, Canada. It was purported to be unlocked for all Canadian carriers. My carrier is Virgin Mobile (owned by Bell) and it works fine. But, my understanding is that device actually locks to your SIM card upon first use so you can't use it for other SIM cards, but I haven't proven this yet. BTW, I got over half of the stock ROM DL'ed from SamMobile before it stopped due to a "network error". Yeah right! I'll try again later.
Have you (or are you) cherry-picking patches from the G530H CM12.1 ROM? ... android_device_samsung_fortuna3g I suggest DL'ing their key files and comparing them to yours. They appear to be in the final exhilarating phase of perfecting their ROM.
So you have totally removed the KNOX software without in deleterious consequences? ... I thought that I read in an XDA thread where somebody did this and then had issues such as connecting to WIFI, etc. It appeared that there may be a dependency in the BIOS.
Did you trip the KNOX e-fuse hence void the warranty? ... Not that I care about the warranty, I only worry about bricking the device.
Unlike @Pbotelho, this is my daily driver so I will be proceeding slowly and cautiously and look forward to his experience flashing it.
Pbotelho said:
Finally something for this variant, I've been waiting for ages. Huge thumbs up dude, from a thankful Canadian. I don't use this phone as my daily driver so I'll be flashing this without delay. Mind if I trouble you for the order of operations? I've never used Odin to flash a custom ROM before.
Click to expand...
Click to collapse
Hi Pbotelho, thanks man. You will have to enable Developer Mode on your phone and unlock the bootloader from the settings. I don't remember what exactly in the settings that option is, but it should be in the Debugging area for sure.
Once done, reboot into Download Mode [Press Power+Volume Down+Home].
Once you've done that, grab the boot.tar, system.tar.xz and recovery.tar from the links above. Extract the system.tar.xz with 7zip or `xz -d system.tar.xz` if under Linux to get a system.tar file, and flash the recovery, boot, and system, one after the other, in whatever order, by booting into download mode as soon as it is done flashing a file.
You will need to wipe your cache and data partitions, which can be done by rebooting into recovery [Power+Volume Up+Home].
The button options are built into the hardware so they can be used at any point after the phone is on.
When all that is done, you can report any problems here [or on the github page] and post logcats and I'll look at them if there's any issue I've missed.
Zippy Dufus said:
Hi again @vince2678, I have more questions:
Do you have a local_manifest.xml that drives your build? ... I have a single-purpose Fedora24 virtual machine which I use to build android ROMs.
Does your build actually produce a CM12.1 zip installation package? ... And do you simply harvest the system.img, etc afterwards to put into a flashable this tar file?
What is the command line that do you use to create the flashable tar files? ... I'm just curious.
What version of the firmware does your device have? ... Mine has G530WVLU1AOFB. Apparently, this is the Tanzanian version! WTF? I purchased my phone from a Costco in Oakville, Ontario, Canada. It was purported to be unlocked for all Canadian carriers. My carrier is Virgin Mobile (owned by Bell) and it works fine. But, my understanding is that device actually locks to your SIM card upon first use so you can't use it for other SIM cards, but I haven't proven this yet. BTW, I got over half of the stock ROM DL'ed from SamMobile before it stopped due to a "network error". Yeah right! I'll try again later.
Have you (or are you) cherry-picking patches from the G530H CM12.1 ROM? ... android_device_samsung_fortuna3g I suggest DL'ing their key files and comparing them to yours. They appear to be in the final exhilarating phase of perfecting their ROM.
So you have totally removed the KNOX software without in deleterious consequences? ... I thought that I read in an XDA thread where somebody did this and then had issues such as connecting to WIFI, etc. It appeared that there may be a dependency in the BIOS.
Did you trip the KNOX e-fuse hence void the warranty? ... Not that I care about the warranty, I only worry about bricking the device.
Unlike @Pbotelho, this is my daily driver so I will be proceeding slowly and cautiously and look forward to his experience flashing it.
Click to expand...
Click to collapse
Hi Zippy,
I do not have a local_manifest, if you want you can just manually pull the device and vendor trees into your build area, or you can make one yourself if you wish.
I will probably make one though, because the build has dependencies on some qcom sources.
I just use 'make -j8' to build everything, though you can use 'make otapackage' to build a flashable zip [You'll need the CMR recovery from here though, the images can't be flashed by stock recovery]
For creating flashable tar files, you can just use `tar`. You don't need to make .md5 verifiable archives, those are just to ensure a download wasn't corrupted [I provide md5sums for checking].
The system.img in the output directory will have to be renamed to 'system.img.ext4' and then archived, as so:
Code:
cd out/target/product/gprimeltecan
ln system.img system.img.ext4
tar cf system.tar system.img.ext4
tar cf boot.tar boot.img
tar cf recovery.tar recovery.img
Then you can move the files wherever and flash them with Odin.
Yes the gprimeltevl/gprimeltecan baseband is indeed G530WVLU1AOFB, though this should work with all G530WXXXXXXXs (not sure how many different ones are out there].
I'm not sure about the SIM locking thing, I cannot confirm this, someone might have to try to check.
I did consider sourcing from that repository, though ultimately i ended up using another one [I don't remember the name]. I might take a look at their source to see what I can do about mine though.
I did trip KNOX, though that was back when I was still trying to root my phone with CF-Root, so I'm not sure if flashing this will trip KNOX. And yes, KNOX is completely gone from this device, with no problems from the phone.
vince2678 said:
Hi Pbotelho, thanks man. You will have to enable Developer Mode on your phone and unlock the bootloader from the settings. I don't remember what exactly in the settings that option is, but it should be in the Debugging area for sure.
Once done, reboot into Download Mode [Press Power+Volume Down+Home].
Once you've done that, grab the boot.tar, system.tar.xz and recovery.tar from the links above. Extract the system.tar.xz with 7zip or `xz -d system.tar.xz` if under Linux to get a system.tar file, and flash the recovery, boot, and system, one after the other, in whatever order, by booting into download mode as soon as it is done flashing a file.
You will need to wipe your cache and data partitions, which can be done by rebooting into recovery [Power+Volume Up+Home].
The button options are built into the hardware so they can be used at any point after the phone is on.
When all that is done, you can report any problems here [or on the github page] and post logcats and I'll look at them if there's any issue I've missed.
Click to expand...
Click to collapse
I got impatient with it so I took a gamble and inferred with some background knowledge. Got it up and running several hours ago. Performance wise, it seems dead on perfect. There's no lag, no force closing of apps. Everything runs as snappy as it should. Its fast as f***. Now I even installed xposed framework and added in a few modules, one of those being the Android N-ify project, and it works really well with it, so kudos on this area. I'll be sure to uninstall xposed when it comes to error reporting and logcats.
The only issues I'm seeing besides the ones you've already outlined are graphical in nature. I'm not home at the moment but I'll upload some logcats when I get the chance.
1) What I'm seeing is a blackout out lock screen. I have a theme installed and used it to apply a custom lock wallpaper to test this out. The wallpaper only shows once you've accessed the Pattern input by swiping up. Haven't tried it with a pin. If you're only using swipe, it'll stay black until unlocked.
2) When unlocked and swiping down to access the notifications panel and quick settings, the same blackout effect is present. This is present only while you're looking at your notifications or tiles, and returns to normal when swiped back up.
3) The first half of this part is only noticed when using the material glass theme. When swiping down to access the notification panel without notifications, the "no notifications" text will be present as it should be, however, when swiped down again to access the quicksettings tiles, the "no notifications" text isn't cleared away. It sits behind the brightness slider. This isn't noticeable on the stock theme because its opaque, while material glass features transparency as their main selling card. If using the battery saver, the text from this persistent notification will appear instead.
Edit: Upon further analysis, it seems that the notification content is linked to the bottom of the header instead of the bottom of the quicksettings tiles, and that's why it works this way. When expanding or shrinking the header, the notification also moves directly with it.
Second half: whether on the stock theme or not, the "no notifications" text will continue to stick and be viewable on the lockscreen, retaining its position that is viewed in the notification panel. It sits directly above the clock. The persistent battery saver notification works the same way. I'm no expert, but I believe that since the notification panel and lockscreen both go to black, that this might be linked in some way.
4) Sometimes when using the stock theme and toggling options in the quick settings tiles, it'll glitch out and turn into what I can only describe as a zombie menu. The pixels of the status bar are replaced by that proportionate area of the quick settings menu, and when swiping down to use the menu, access is disabled (it can't be touched) and it closes itself when attempted. Only way I've been able to fix it was to toggle the theme to material glass and all was restored, still subject to the above three points.
Edit: 5) when using kernel adiutor to try to adjust the CPU frequencies, the only option that comes up for both minimum and maximum is 0MHz. The button seems to work as well, bringing the clock max speed down to 0 for a split second before it reverts to a a maximum of 200MHz. Adjusting the governor after the fact won't restore the maximum, seems only a reboot will get it done. I'm slightly amazed to be honest as before on Touchwiz, it was impossible to get it to hold onto a lower maximum. It would jump all over the place as it pleased.
Edit: 6) The recents hardware button is disabled. Touching it, holding it, nor double tapping brings up a function. It also isn't present in settings when trying to map the button functions. Its the only one that's missing. Power, home, back, and volume are all there.
That's all I got for the moment, I tried to be as descriptive as possible as I won't be able to get the logcats up for awhile. Let me know if you have any questions about what I've said here.
And also, are you taking feature requests?
Pbotelho said:
I got impatient with it so I took a gamble and inferred with some background knowledge. Got it up and running several hours ago. Performance wise, it seems dead on perfect. There's no lag, no force closing of apps. Everything runs as snappy as it should. Its fast as f***. Now I even installed xposed framework and added in a few modules, one of those being the Android N-ify project, and it works really well with it, so kudos on this area. I'll be sure to uninstall xposed when it comes to error reporting and logcats.
The only issues I'm seeing besides the ones you've already outlined are graphical in nature. I'm not home at the moment but I'll upload some logcats when I get the chance.
1) What I'm seeing is a blackout out lock screen. I have a theme installed and used it to apply a custom lock wallpaper to test this out. The wallpaper only shows once you've accessed the Pattern input by swiping up. Haven't tried it with a pin. If you're only using swipe, it'll stay black until unlocked.
2) When unlocked and swiping down to access the notifications panel and quick settings, the same blackout effect is present. This is present only while you're looking at your notifications or tiles, and returns to normal when swiped back up.
3) The first half of this part is only noticed when using the material glass theme. When swiping down to access the notification panel without notifications, the "no notifications" text will be present as it should be, however, when swiped down again to access the quicksettings tiles, the "no notifications" text isn't cleared away. It sits behind the brightness slider. This isn't noticeable on the stock theme because its opaque, while material glass features transparency as their main selling card. If using the battery saver, the text from this persistent notification will appear instead.
Click to expand...
Click to collapse
Hi Pbotelho,
I'll try to answer everything as completely as I can.
The blackout lock screen thing seems to be an issue with Trebuchet. I found that using a different lock screen app solves this issue.
As for the blackout on the notification area, I'm not sure what exactly is causing this, though I think this may be a problem with the cm-12.1 source and not necessarily the device port itself.
Second half: whether on the stock theme or not, the "no notifications" text will continue to stick and be viewable on the lockscreen, retaining its position that is viewed in the notification panel. It sits directly above the clock. The persistent battery saver notification works the same way. I'm no expert, but I believe that since the notification panel and lockscreen both go to black, that this might be linked in some way.
Click to expand...
Click to collapse
This seems to be an issue with Trebuchet again, and using a different lock application fixes this.
Sometimes when using the stock theme and toggling options in the quick settings tiles, it'll glitch out and turn into what I can only describe as a zombie menu. The pixels of the status bar are replaced by that proportionate area of the quick settings menu, and when swiping down to use the menu, access is disabled (it can't be touched) and it closes itself when attempted. Only way I've been able to fix it was to toggle the theme to material glass and all was restored, still subject to the above three points.
Click to expand...
Click to collapse
I'm aware of this one, for now you can fix this by disabling Brightness Control in the settings ( Settings->Status Bar->Brightness Control).
This again might be an issue with the cm-12.1 source, though it'll need some checking to confirm.
Edit: when using kernel adiutor to try to adjust the CPU frequencies, the only option that comes up for both minimum and maximum is 0MHz. The button seems to work as well, bringing the clock max speed down to 0 for a split second before it reverts to a a maximum of 200MHz. Adjusting the governor after the fact won't restore the maximum, seems only a reboot will get it done. I'm slightly amazed to be honest as before on Touchwiz, it was impossible to get it to hold onto a lower maximum. It would jump all over the place as it pleased.
Click to expand...
Click to collapse
I'm using Kernel Adiutor and frequency setting is fine. Did you try using a tunable governor like interactive? That may be the issue.
Edit: 6) The recents hardware button is disabled. Touching it, holding it, nor double tapping brings up a function. It also isn't present in settings when trying to map the button functions. Its the only one that's missing. Power, home, back, and volume are all there.
Click to expand...
Click to collapse
I'm aware of this, you can blame this on my bad arithmetic skills . I had set the wrong bit field mask for the button settings in the device frameworks.
I'll be pushing a fix addressing this shortly.
And also, are you taking feature requests?
Click to expand...
Click to collapse
That depends on what the features are, if they're reasonable and within my capabilities, then yeah .
PS: I would appreciate any help I can get, and if you have any coding skills and time to compile builds, you can help me polish up the device port.
Thanks!
vince2678 said:
Hi Pbotelho,
I'll try to answer everything as completely as I can.
The blackout lock screen thing seems to be an issue with Trebuchet. I found that using a different lock screen app solves this issue.
As for the blackout on the notification area, I'm not sure what exactly is causing this, though I think this may be a problem with the cm-12.1 source and not necessarily the device port itself.
This seems to be an issue with Trebuchet again, and using a different lock application fixes this.
I'm aware of this one, for now you can fix this by disabling Brightness Control in the settings ( Settings->Status Bar->Brightness Control).
This again might be an issue with the cm-12.1 source, though it'll need some checking to confirm.
I'm using Kernel Adiutor and frequency setting is fine. Did you try using a tunable governor like interactive? That may be the issue.
I'm aware of this, you can blame this on my bad arithmetic skills . I had set the wrong bit field mask for the button settings in the device frameworks.
I'll be pushing a fix addressing this shortly.
That depends on what the features are, if they're reasonable and within my capabilities, then yeah .
PS: I would appreciate any help I can get, and if you have any coding skills and time to compile builds, you can help me polish up the device port.
Thanks!
Click to expand...
Click to collapse
1) Aww man I love using Trebuchet, I like to keep my install as small as possible so I'm not one for installing additional apps. I'm a resource junkie though, so its just a matter of personal preference.
2) Again, I'm not an expert, but I suspect it might be the device port. Previously, I've had an unofficial version of CM12.1 installed on a Galaxy Tab 3 as well as a CM12.1 based Pac-rom installed on a Galaxy S4. I'm not sure if this is something those developers corrected on their own or not when building their ROMs, so it could be the source. That's the best of my knowledge on the topic.
3) Will do for the brightness slider, but again, it isn't something I experienced on the other devices with CM12.1 and the sister project.
4) Yeah I played around with the governors and tried all of them. They all list 0MHz as the only option. Maybe its a CPU hotplug issue? I didn't try playing around with those so I'll have to get back to you on that one.
5) Look forward to the update I have a question regarding it though. I'm really familiar with updating custom ROMs through recovery using the zip file format, but this is the first time I'm using Odin to do the job. Will flashing an update with Odin this way cause a factory reset? Or will it update as expected?
6) A couple more graphical hiccups I remembered. The blackout also happens when going to About Phone>Status. In About Phone, the device field says unknown (doesn't bother me, I just don't know if its significant or not), the illumination for the hardware buttons isn't working (I usually keep them off to save battery anyways, but someone out there probably uses it). And finally, when switching recents by holding the home button, only the title bars of the individual apps are viewable. The content of the windows themselves is completely transparent so it looks like a series of floating title bars.
(Apologies if some of these features are already included, I didn't get the opportunity to check, I just think they're awesome)
Feature requests:
1) When phone is off and charging, percentage is displayed inside battery symbol.
2) CPU and GPU undervolting built into the kernel. These custom ROMs are much better than the stock ROM in terms of functionality, but the battery life on the stock Samsung experience is no joke.
3) If possible, more steps for CPU frequency adjustments, every 100MHz or so. I remember the stock ROM had limited options. My S4 is the example I'm going to use here, it has a step for every 108MHz.
4) USB fast charging, aka setting USB to "charge only".
5) Wakelock Blocker. Its built into the latest Resurrection Remix for the S4, not sure if that could be of viable use to you. It'll certainly help out with battery improvements.
6) Boot Manager. Decide which apps get to start at boot. Its built into Marshmallow and an xposed module also exists for this purpose, so really low priority on this one, for me at least.
7) This one is a doozy. Absolutely the one I care most about, but most likely asking for too much. USB tethering. Already exists, I know, but not the way I hope it to. I have an old WRT54G router with DD-WRT installed. My goal is basically this: Phone's network connection>USB Tether>Micro-USB-LAN adapter>WAN port of router. In this sense, the phone would be acting as the modem in a regular home network. I know its possible to do this if the router has a USB port, but mine doesn't, and I also know its possible if you have an intermediate device that bridges the connections for you. Like a laptop, PC, or raspberry pi. Cost efficiency as a student is what I'm working towards though, so this one is a wishlist request.
Ps. The only coding skills I have are from high school's Visual Basic and HTML, truly beginner stuff, and that was about 10 years ago. I'm running Ubuntu on a core i5-2500k with 16GB of RAM and about a terabyte of space though, so compiling is definitely a possibility with some instructions.
Pbotelho said:
5) Look forward to the update I have a question regarding it though. I'm really familiar with updating custom ROMs through recovery using the zip file format, but this is the first time I'm using Odin to do the job. Will flashing an update with Odin this way cause a factory reset? Or will it update as expected?
Click to expand...
Click to collapse
Nope, this should be pretty much the same as flashing a zip from recovery. If you modified the system partition though (like by flashing GApps for example) your changes will be lost.
Pbotelho said:
6) A couple more graphical hiccups I remembered. The blackout also happens when going to About Phone>Status. In About Phone, the device field says unknown (doesn't bother me, I just don't know if its significant or not), the illumination for the hardware buttons isn't working (I usually keep them off to save battery anyways, but someone out there probably uses it). And finally, when switching recents by holding the home button, only the title bars of the individual apps are viewable. The content of the windows themselves is completely transparent so it looks like a series of floating title bars.
Click to expand...
Click to collapse
I fixed this in the device tree, once I've built a new image this should be corrected.
Pbotelho said:
(Apologies if some of these features are already included, I didn't get the opportunity to check, I just think they're awesome)
Feature requests:
1) When phone is off and charging, percentage is displayed inside battery symbol.
Click to expand...
Click to collapse
I'll be looking into this one.
Pbotelho said:
2) CPU and GPU undervolting built into the kernel. These custom ROMs are much better than the stock ROM in terms of functionality, but the battery life on the stock Samsung experience is no joke.
Click to expand...
Click to collapse
I'm still using the stock kernel in my builds, once the builds are stable I'll start compiling the kernel from source and I'll see if I can do something about this.
Pbotelho said:
3) If possible, more steps for CPU frequency adjustments, every 100MHz or so. I remember the stock ROM had limited options. My S4 is the example I'm going to use here, it has a step for every 108MHz.
Click to expand...
Click to collapse
According to the configurations, this is already how it is.
PS: I changed the governor under Kernel Adiutor to performance from interactive and switched back, and became unable to change the frequencies (like you were experiencing). I'll need to play around more with this to see why.
Pbotelho said:
4) USB fast charging, aka setting USB to "charge only".
Click to expand...
Click to collapse
This is already available under the Settings->Storage->USB Computer Connection menu
Pbotelho said:
5) Wakelock Blocker. Its built into the latest Resurrection Remix for the S4, not sure if that could be of viable use to you. It'll certainly help out with battery improvements.
6) Boot Manager. Decide which apps get to start at boot. Its built into Marshmallow and an xposed module also exists for this purpose, so really low priority on this one, for me at least.
Click to expand...
Click to collapse
Not sure I could do this, I'll check.
Pbotelho said:
7) This one is a doozy. Absolutely the one I care most about, but most likely asking for too much. USB tethering. Already exists, I know, but not the way I hope it to. I have an old WRT54G router with DD-WRT installed. My goal is basically this: Phone's network connection>USB Tether>Micro-USB-LAN adapter>WAN port of router. In this sense, the phone would be acting as the modem in a regular home network. I know its possible to do this if the router has a USB port, but mine doesn't, and I also know its possible if you have an intermediate device that bridges the connections for you. Like a laptop, PC, or raspberry pi. Cost efficiency as a student is what I'm working towards though, so this one is a wishlist request.
Click to expand...
Click to collapse
I don't quite understand what you mean by this, how does it differ from the normal USB tethering?
Pbotelho said:
Ps. The only coding skills I have are from high school's Visual Basic and HTML, truly beginner stuff, and that was about 10 years ago. I'm running Ubuntu on a core i5-2500k with 16GB of RAM and about a terabyte of space though, so compiling is definitely a possibility with some instructions.
Click to expand...
Click to collapse
If you can't code, that's fine, you could set up a build environment on your computer for creating images from the source.
vince2678 said:
Nope, this should be pretty much the same as flashing a zip from recovery. If you modified the system partition though (like by flashing GApps for example) your changes will be lost.
I fixed this in the device tree, once I've built a new image this should be corrected.
I'll be looking into this one.
I'm still using the stock kernel in my builds, once the builds are stable I'll start compiling the kernel from source and I'll see if I can do something about this.
According to the configurations, this is already how it is.
PS: I changed the governor under Kernel Adiutor to performance from interactive and switched back, and became unable to change the frequencies (like you were experiencing). I'll need to play around more with this to see why.
This is already available under the Settings->Storage->USB Computer Connection menu
Not sure I could do this, I'll check.
I don't quite understand what you mean by this, how does it differ from the normal USB tethering?
If you can't code, that's fine, you could set up a build environment on your computer for creating images from the source.
Click to expand...
Click to collapse
Sounds awesome, I'll flash it as soon as possible and continue testing it for you.
I uploaded a logcat to the other thread in development. The performance governor is set up as the default for me so I'm set up with that situation from the get go.
It technically isn't different from regular USB tethering, but it seems that no one has done it successfully before. There are adapters that you can use to provide a wired Ethernet connection to an android device over micro USB, but no one has been able to do it the other way around. Google results don't turn up any answers.
And I'm willing to learn how to code, but I fear that I may slow you down with this project as I get past the learning curve. That being said, I can definitely set up a build environment and compile it from source for you. That'll be a learning experience on its own. Just point me towards a noob guide and I'll get it done.
Pbotelho said:
Sounds awesome, I'll flash it as soon as possible and continue testing it for you.
I uploaded a logcat to the other thread in development. The performance governor is set up as the default for me so I'm set up with that situation from the get go.
It technically isn't different from regular USB tethering, but it seems that no one has done it successfully before. There are adapters that you can use to provide a wired Ethernet connection to an android device over micro USB, but no one has been able to do it the other way around. Google results don't turn up any answers.
And I'm willing to learn how to code, but I fear that I may slow you down with this project as I get past the learning curve. That being said, I can definitely set up a build environment and compile it from source for you. That'll be a learning experience on its own. Just point me towards a noob guide and I'll get it done.
Click to expand...
Click to collapse
The USB tethering thing sounds interesting, though I would need to have one of the adapters to test that, and time at hand as well.
As for the build environment, the best source of information is the CM wiki. You can look at these links below on how to get started:
https://wiki.cyanogenmod.org/w/Development#Learning_To_Build_CM
https://wiki.cyanogenmod.org/w/Doc:_Building_Basics
https://docs.omnirom.org/Setting_Up_A_Compile_Environment
https://wiki.cyanogenmod.org/w/Build_for_captivatemtd
http://jira.omnirom.org/browse/OMNI-1263
http://forum.xda-developers.com/showthread.php?t=2329228​
The guides above are just outlines to detail the general build process - you will need to do things slightly differently from the steps above to get the proper source and device trees.
The attached local_manifest can be used with repo when obtaining the cm-12.1 source.
Remember you'll be getting the cm-12.1 source - not anything else.
vince2678 said:
The attached local_manifest can be used with repo when obtaining the cm-12.1 source.
Remember you'll be getting the cm-12.1 source - not anything else.
Click to expand...
Click to collapse
So if I add in your device tree and provide a toolchain, I should be good to go? (I think so.)
Thanks!!
EDIT: Not so fast! I'll have to find a kernel as well.
Pbotelho said:
Edit: 5) when using kernel adiutor to try to adjust the CPU frequencies, the only option that comes up for both minimum and maximum is 0MHz. The button seems to work as well, bringing the clock max speed down to 0 for a split second before it reverts to a a maximum of 200MHz. Adjusting the governor after the fact won't restore the maximum, seems only a reboot will get it done. I'm slightly amazed to be honest as before on Touchwiz, it was impossible to get it to hold onto a lower maximum. It would jump all over the place as it pleased.
Click to expand...
Click to collapse
I've test Kernel Adiutor and I too got the O MHz only window for both as the only option. Though Now I wonder if it is because I used the latest beta Kernel Adiutor, I'll further check with the normal stable version. Pretty sure it'll fix it if it worked normally for Vinc. --- Update; As strange as it might look while re opening kernel adi to take a screenshot, the list of normal MHz values is there and working properly.. Strange.. Magic? Huh technology, you're so unpredictable.
Zippy Dufus said:
So if I add in your device tree and provide a toolchain, I should be good to go? (I think so.)
Thanks!!
EDIT: Not so fast! I'll have to find a kernel as well.
Click to expand...
Click to collapse
Hi Zippy,
The kernel source was included there as well (it's just a dummy source so that the build can get the necessary source files for libraries which need them). The build still uses the default prebuilt kernel though.
vince2678 said:
Hi Zippy,
The kernel source was included there as well (it's just a dummy source so that the build can get the necessary source files for libraries which need them). The build still uses the default prebuilt kernel though.
Click to expand...
Click to collapse
As an experiment, why don't you try downloading the G530H ROM, unzip, take the boot.img, and flash it over top of your stock kernel? See if it boots and how it performs.
Meanwhile, I plan to hack at putting together complete manifest, possibly with the G530H kernel and my Linaro 4.9 toolchain and see if I can build a complete ROM.
Have you extracted the firmware?
However, I don't want to flash anything until I see your ROM's modem working because it is my daily driver. But I'm keen though!!
I've managed to download the stock ROM from SamMobile but I'm now thinking of going straight to your ROM once it is a bit more complete and stable.

Changing LMK minfree values has no effect

I have a dual boot Android 5.1/Win 10 tablet (the Onda oBook10) that I recently managed to acquire root on (for any owners of this device that would like to know how, I'll be posting a guide soon). This thing has 4 gigs of RAM, but starts kicking apps out as soon as 1 GB is occupied. I've tried setting minfree using both Kernel Adiutor and by echoing manually to /sys/module/lowmemorykiller/parameters/minfree, but neither has any effect. I know that this change doesn't persist across reboots on any Android, but in this case, it has no effect even on the current session. What's even stranger, going by the default values that have been set, there shouldn't be any issues at all - it's actually less aggressive than most other devices I've seen. The values are:
Code:
13107,16384,19660,22937,26214,32768
According to Kernel Adiutor, that translates to (in MB):
Code:
51,64,76,89,102,128
Yet, running apps shows 2.8 to 3.1 GB free constantly, even though apps are reloading.
Does anyone know what might be causing this? It's an x86 device, in case that's relevant. I have access to the boot image (in case it's some kind of kernel flag), and can unpack to ramdisk and zImage, but I have no experience with kernels, and have no idea where to even begin looking; if someone could point me in the right direction, that would be awesome.
Thanks,
SirVer

Categories

Resources