yashsingh1/xdaforums huggingface dataset:
[Acer Iconia A500] ezterry:
SoD is simple to understand in these terms:

Think of your computer or laptop, you request it to suspend to ram or sleep depending on your OS

It does so, turns into the low power state but is otherwise off, and waits for your return.

When you try to turn the computer on it attempts to wake up but then instead crashes.

This is exactly what is happening, android noted nothing was running and suspended the tablet to ram, either was woken up by you pushing power or a timer the operating system set when it went to sleep.

However before fully starting again the system crashed.

In development of the kernel sometimes I run into such problems with bugs in the oc code, or undervolting too far.. but once I call a kernel stable-ish it can usually last the day with many sleep/wake cycles.. can't say there is never an odd sod but its not common.

The question for you the is: what when wrong.. the easiest way to see is the kernel log of the now crashed kernel.. this requires looking at the /proc/last_kmsg file but this is a little tricky if you needed to force power off the tab (the log is stored in ram thus is completely wiped after 8-10 seconds of the tab being powered off.

When it does exits adb pull can grab the file as soon as the android animation begins.
[Acer Iconia A500] lowsum:
Does this kernel have cifs module built-in? I can't try by myself right now, my a500 is in vacation at acer's repair facility. :rolleyes:
[Acer Iconia A500] BakaNeko59:
Does the last_kmsg ONLY exist if there's a fault registered or does it get updated regularly during operation? In other words could I create a continuously running script (for debugging only of course) that copies the last_kmsg file to another location before the system actually crashes? Then when it enters sleep the last file copied would have the information you need? Or is there a way to execute a script early enough in the boot process to copy the file during that first 8-10 seconds of power up so that it is easier to acquire?

Or how about a batch file that simply loops the command "adb pull /proc/last_kmsg last_kmsg" continuously on my PC? If the file doesn't exist it doesn't get copied - if it does exist it gets copied, and if the system crashes and doesn't respond, the last file copied should exist either before or after I manually power off and on the tablet. Hmmmm - guess I'll give it a try...

Sorry - just thinking out loud now :)

Thanks.
[Acer Iconia A500] roblav96:
so is it as easy as flashing in CWM over any ics rom?

can i flash this with AOKP??

thank you =]
[Acer Iconia A500] ezterry:
What do you mean the file is there until reboot if the log data is found, so there is no hurry to pull it off the device.

The logdata is only stored in ram.. so if you power off overnight or while microwaving a frozen dinner.. when you turn the tab back on no data will remain.

Ram however will hold its values for a short time without power however, if you needed to force the tablet off by holding power for 5 seconds you have under 10 seconds to power back on the device if you wish to see any of the log. (and you need to leave it off 3 seconds or it will ignore your pressing power.)
[Acer Iconia A500] Skrilax_CZ:
Hmm, seems like we need to use kpanic partition for panic kernel logs. W/o repartitioning, it would have to be patched to use, say last 2 MB of MSC partition :/
[Acer Iconia A500] ezterry:
If it panics well enough to write a log out to disk, the system was likely health enough to auto reboot after the 10 second period..

Then its easy to grab last_kmsg since it will be intact. Opening a terminal app and run less /process/last_kmsg if you are a dev.. copy it to SD or pull to your computer otherwise.

The problem with sod is we don't usually get that far.. under volting seems common.. I wonder if the correct answer is to over volt some of the low frequencies for those with problematic devices.
[Acer Iconia A500] Moscow Desire:
Whenever you get something to test, drop me a note ;)
[Acer Iconia A500] BakaNeko59:
So you're saying if I have to use the power off and on method and I do it fast enough the data will still be in RAM and won't get overwritten during the boot process? Therefore I can pull it off any time after the reboot (assuming again that I did it fast enough...)

Which is more useful to you - the last_kmsg file or an ADB logcat file?

Sorry to be such a pain. Just trying to learn what I can. I've had the SDK for awhile and haven't done much with it, so I guess I need to start learning, and the info near the OP is as good a place to start as any....

Thanks.
[Acer Iconia A500] ezterry:
OK, now that I'm waiting for the wort to an attempt at some home brew beer to cool down to room temp: (and not trying to keep it from boiling over my entire kitchen)

on a linux system the command 'dmesg' shows the kernel log; This is internal to the kernel and while may be responding to an application invoking a kernel call has nothing to do with application logging.

Android applications (and sometimes some shell scripts and other executable) use android logging functions; these enter a buffer that is shown via logcat.

Therefor:

If you program force quits: you need a logcat to show the java exception that caused the FC. (Force quits btw always log a stack trace in logcat.. there is no exception.. and developers can't look more into it without the trace)

If the kernel spontaneously reboots or freezes. dmesg is required.. of course if its after the reboot dmesg will not show it.. fortunately google has the rambuffer it logs into; and on boot if the kernel finds previous logs in the buffer it copies it elsewhere in ram to display as last_kmesg (so no the new kernel will not overwrite it; it notices it early in boot and prevents such overwriting)

Some problems however become more confusing.. such as a particular app triggers said reboot with an odd driver.. or the kernel doesn’t crash but doesn’t return what the application expected.

These I frequently need to look at both logcat for the applications errors and dmesg for the kernels errors/notices to figure out what is going on.

On my computer its not uncommon for two shells on my desktop one following each as it updates real time. (to see dmesg real time just cat kmsg 'cat /proc/kmsg' note this requires root)

My recommendation before further questions is to look at the logs yourself.. and when how they are generated and the type of data they contain.. particularly if you watch them update as you interact with the tab. (The bad news when the tab is plugged into USB it will not fall asleep.. so its unlikely to get a SoD)
[Acer Iconia A500] vache:
How can i push modifications for A501 ?
[Acer Iconia A500] Thegn:
Thank you for making this kernel, very good job! I will try it out soon!

I'm not a total newbie on Linux and kernels, but I have to say I'm not far away from it ;-) So, I have some questions if someone would like to enlighten me.

Are you or someone else you know of looking into bringing 3.x version of the kernel to Iconia A500? Would it be very difficult or time consuming, or is it feasable do you think?

My main interest in newer kernels is better support for USB dongle modems, for instance the ZTE 4G modem, which is incorporated in the 3.3 kernel, I think. I don't know how difficult it would be to port over to Android, but I'm just curious to know if it is possible.

Thank you,

Cheers
[Acer Iconia A500] ezterry:
I see you cloned my repo on got you just need to push it there. (Preferably with the updates I've added since you made the clone)

There are shortcuts for the origin and remotes but the command looks like:

git push <URL> <local branch>:<remote branch>

Once its in your github account you can use github to send me a pull request or just message me I'll pick it up.

Another option is git format-patch (see its help) to make patch files zip them and post here.

Both the above assume you already have the changes in one or more git commits on your local PC.

If you only have a patch file not git formatted post it here and I'll look into it. But in the long term there is benefits to learning the git commands.
[Acer Iconia A500] BakaNeko59:
Good luck with the home brew - I've tried several times and managed to churn out various types of bat piss each time... Think I'll try Mead next.

Regarding your comments - thanks. My whole concept of the last_kmsg file was wrong. I thought you were saying you only have 8-10 seconds to copy the file before it is erased. That's why I was trying to figure out an automated method to do so. Now that I know it's simply a matter of restoring power in time it's easy to get. I also now know why I never got SoD while my tablet was connected to my PC.

That being said, I've looked at the file and, while I find several errors, I am unable to make any sense of them at this time. I've attached the file below for your perusal. As I learn more I will hopefully understand, but as I said, I'm very new at this.

Thanks. Beer money sent - confirmation 2D462503V0299510B.
[Acer Iconia A500] ezterry:
I see nothing of particular interest in the log

(Yes the kernel is doing many things and logs some of it frequently; and some the code thinks is an error.. I may look at the more.. but they happen to everyone SoD or not on the stock kernel .. so are part of my baseline for now)

The end of that log intoxicates you entered suspend.. and the log ends

Anyway what I might try is over-volting slightly to see if you can find a stable state

System Tuner (not SetCPU) will allow you to overvolt some; try +25 the default on all levels <=608MHZ (you can still undervolt the higher levels as they are currently if you like)

don't bother setting the boot settings yet, if you find something stable then you can update boot settings.

(FYI if you want to manually overvolt directly in the cpufreq config you simply apply a negative under volt)

I'm going to work on cleaning the UV logic (currently it leaves something to the imagination)

appreciated of course
[Acer Iconia A500] BakaNeko59:
Okay - I'll try the overvoltage thing tonight after work (can't take my tab to work because our security rules don't allow it :( ). However, Civato says System Tuner Pro (which I own) is still buggy with Flexreaper so I've been using SetCPU. Guess I'll reload System Tuner Pro and find out if the bugs have been fixed...

Thanks again.
[Acer Iconia A500] ezterry:
They fixed the bug that caused OCTestV3 to restart .. and I fixed the bug that caused the panic to make it restart..

A few versions back they set more UV levels than our devices had levels to undervolt. This will cause none of the levels to be set as we don't know what to do with the extra data.. but isn't supposed to cause the reboot; that was bad logic in the kernel)
[Acer Iconia A500] vache:
Here is a patch file : http://klood.me/public.php?service=...Taboonay/Kernel/0001-A501-Modem-Support.patch

You may have a look before applying it since i'm not a kernel expert, maybe you can make things works better.
[Acer Iconia A500] BakaNeko59:
I see System Tuner does not have a profiles feature. Do you think it would be OK to keep SetCPU to manage profiles and System Tuner to manage the Normal OC functions?
[Acer Iconia A500] ezterry:
I think it best to pretend setcpu doesn't have profiles either..

Can't 100% say what you are using profiles for.. so can't say if there is any possible benefit.. but if its screen off profiles disable it.. that is why lulzactive as the screen_off_min_step tunable.

At 5 (the kernels default) when the screen is off the CPU will be your current min, and Max the lower of your current Max or 816mhz.

If you want a lower screen off speed you can lower the tunable.. but if you are hoping to force 0 (min and Max = 216MHz and get a sleep of death or non responsive tab, notifications fail or any other problem I don't think any dev wants to support you until you raise the value again.. I recommend raising it to 5..

If you really must use profiles just make sure the profiles and system tuner are not fighting to set the same values. But remember profiles require setcpu always running in the background and it may thus slow the tab or use more batter than it helps you save.

This is particularly true for screen off, as extra CPU is needed to trigger the event, and if the system was going into full suspend this means additional work before the CPU can enter deep sleep.

Lulzactive is c code running anyway (if its your governor) and really just notes the screen is off.. and on the subsequent adjustment ensures its in the alternative range.. thus if you are already at minfreq it literally does nothing to change that.
[Acer Iconia A500] lifeofcoding:
Amazing work man, been waiting for awhile to get an OC kernel for ICS. I'm a very happy guy now.
[Acer Iconia A500] BakaNeko59:
I was following Civ's advice in an earlier post and using it to profile screen off/minimum CPU. Sounds like that's not really needed any more, so no more setcpu then ;)

And by the way - I tried bumping up the voltage on the slower frequencies like you suggested, but still get SoD with any kernel other than .022. Oh well.
[Acer Iconia A500] Moscow Desire:
Kernel log as requested.

MD
[Acer Iconia A500] ezterry:
v1.0.0

Version 1.0.0 is out See OP for the download and source links

This version improves stability on the A100/500 systems, plus adds experimental support for the A501 devices (3G is not yet at 100%, but other kernel functions ought to behave as expected)

Please note the additional A501 installation instructions in the OP. (Most users will simply need to flash the patchkit, then the kernel, if unsure re-flashing the patch-kit will do no harm, This is different from A500 users that just flash the kernel w/o the kit)
[Acer Iconia A500] vache:
@ezterry : Do you have some feedbacks from A501 users ?
[Acer Iconia A500] ezterry:
Moscow Desire has been testing it this last weekend,

It seems to detect 3g fine and without strange results (an improvement over v0.9.9)

But its not always restoring the connection after deep sleep.

If its used rarely wakelocks can be used as a workaround at the cost of battery, but I've not yet found the issue. Or have much of an idea where I'm looking relating 3g.

Thus a501 users can test out the kernel but may not find there experience as stable as the a500/a100 if 3g is used. (Other kernel features seem functional)
[Acer Iconia A500] vache:
Maybe it's not kernel related cause the stock ROM seems to have same issue.

@Moscow Desire : Your previous kernel log is related to this issue ?
[Acer Iconia A500] Moscow Desire:
If you undervolt another -25, you can compensate battery life a little for running a partial wakelock. Haven't had any issues yet. Might try another -25.

Also, EZ, I'm using system tuner pro. Do you suggest something better?

MD
[Acer Iconia A500] ezterry:
System tuner pro or setcpu for now.. they have there own strengths/weaknesses.

Future this may change
[Acer Iconia A500] Moscow Desire:
Yes Vache. I took it right after the drop in 3g. Funny thing, as when 3g drops, I couldn't get terminal running (white terminal screen), so I had it running until the drop, then pulled a dmesg like EZ wanted.

MD
[Acer Iconia A500] vache:
Humm, so it looks like USB doesn't wake up too.

@ezterry : something that can be tried :

line 1319 in drivers/usb/core

switch "usb_enable_autosuspend(hdev);" to "usb_disable_autosuspend(hdev);"

Also there 2 interesting lines in kernel log :

<6>[ 523.036442] cdc_ncm: rmnet0: network connection: connected
<6>[ 523.044430] cdc_ncm: rmnet0: network connection: disconnected

in drivers/usb/net/cdc_ncm.c.
[Acer Iconia A500] tazwik:
oc kernal

I install the 1.0 over clock kenal after the lightning from 4.8. After installing it won't boot. Its stuck on Acer screen. What should I do?
[Acer Iconia A500] ezterry:
This kernel is only for the unlocked ICS boot loader on the Acer a500.. and only intended for ICS rooms using the newer boot loaders.
[Acer Iconia A500] tazwik:
unlock bootloader

How can I unlock boot loader? Any links?
[Acer Iconia A500] Skrilax_CZ:
He means patched BL: http://xdaforums.com/showthread.php?t=1619913
[Acer Iconia A500] lexiperplexi91:
Is it possible to compile these drivers into the kernel or compile them into a flashable zip for this kernel?

http://xdaforums.com/showthread.php?t=1274656
[Acer Iconia A500] ezterry:
Here is an attempt.. I can't really test however (lacking such usb 2 ethernet devices):

net_usb_packA-ezT20-v1.0.0_S.zip

MD5: 9f998b3746aace588c93011c492b453c

Its just a net/usb ethernet drivers I could find in the kernel + a init.d script to load them. And the usb_ethernet script from the link you provided.

If there is any issue with the module you need not loading (but its correctly installed) use insmod to load it.

ex: "insmod /systeb/lib/modules/net_usb/asix.ko"

As stated by kazea182

anyone who tests this let us know what device you tested it with and any issues.

These are various NET/USB driver modules included in the 2.6.39.y source (so no specialty drivers.. but I think the main ones from the earlier pack are now in mainline) I only mention this as there was more modules in the original kit.

Source for the modules is the same as ezT20-v1.0.0, a slightly modified config was used.. see the mod.patch file in the update.zip (not installed to the rom) for additional build details.
[Acer Iconia A500] autom8r:
Shoot, I flashed this Kernel over Lightspeed ICS 4.8, like a moron. Now, I am stuck at the first Acer screen. Is there anyway to flash the stock Kernel from Lightspeed ICS 4.8? I tried flashing the ROM overtop, however, I'm still stuck at the first Acer screen.
[Acer Iconia A500] ezterry:
Restore your backup?

Wipe and reinstall?

Try installing the patched unlocked bootloader and see if things work again?

Read the "overclock" section of the Lightspeed ICS OP post? I've just also re-iterated the requirement in the OP... since the previous time this was asked was 3 days and 6 posts before yours..
[Acer Iconia A500] lexiperplexi91:
The startup script that loads the modules doesn't seem to be working, but in the /etc/xbin/usb_ethernet I added "insmod /systeb/lib/modules/net_usb/asix.ko" (The module I needed) and now when using usb_ethernet in the terminal I get an IP and everything works fine. I also added "ifconfig" at the end so it would display the IP address.

Thank you so much for your help.

P.S. I have a Linksys USB U200 Ethernet adapter.
[Acer Iconia A500] ezterry:
Maybe an issue with your rom or the rom is missing init.d support? (Most stock roms don't have init.d support but most pre rooted ones its been added in one way or the other)

Anyway if manually loading it allowed it to connect the module is correct.
[Acer Iconia A500] lexiperplexi91:
I'm using Flexreaper RF1, so idk. But thank you guys so much anyway! I've been trying to get off of he who must not be named ROM.
[Acer Iconia A500] Moscow Desire:
You mean...... THOR Tegra Owners???

It's ok Mate, you can mention his name. Some of us, actually like him. :) On a personal level.

But I like how everybody says "He, who must not be named...." Sort of Biblical don't you think? Like some sort of "God" status.

Ok, I polluted the thread a little... MD is gone. :cool:

MD
[Acer Iconia A500] mknewman:
I tried this kernel the other night. Got V8 boot loader going, using Th*r's 1.7.3 Recovery, and the stock ICS with root. Loaded the kernel and SetCPU and all seemed well, seemed stable at 1.5ghz and I used it for about an hour. Then I went to sleep with a grin on my face.

When I got up the next morning the first thing I noticed was the tablet was very warm. The power button did nothing so I did a hard reset, and after a couple of trys it came back up. I went ahead and did a full restore as I have not had any issues with the rooted stock ROM.

If there is anything I can do to help, or test, please let me know. I've done lots of Beta testing.

Marc
[Acer Iconia A500] elborak:
Did you have any SetCPU profiles active? Any unusual settings (undervolt, etc.)?
[Acer Iconia A500] mknewman:
No profiles but I was running the min/max speeds. 128-1502 from memory.
[Acer Iconia A500] dabl8:
I followed the instructions since I didn't maven2 or anything. Needed to fix a few typos but v0.99 compiled in about 30 mins on my n450 netbook. The resulting zip is a bit smaller than in the OP but it seems to function OK. I get screen blackouts but the screen wakes with a touch. After about 2 weeks Gmail went black on my v0.99, so I flashed the pre-built v1 and it works but I still get blackouts. The tablet is still laggy compared to my Nexus S, hopefully project butter will help
[Acer Iconia A500] krweby:
Thanks ezterry this fixed issues I was having with Gmail and maps freaking out. I'm on stock rooted deodexed (don't see any issues so far) ics. I was getting ready to redo my setup from scratch. Thanks again.
[Acer Iconia A500] dabl8:
Well, I did the wipe and waited (which I never bothered with before) and I can't see any improvements and blackouts remain. I forgot to mention I usee Flexreaper R14, but I will switch to CM when it releases. The lag I am talking about is never drastic, it is just light stuttering. Here is the dmesg for what its worth http://pastebin.ca/2167028
[Acer Iconia A500] ezterry:
You might try upgrading to the newer version of flexreaper that supports the newer kernel..
[Acer Iconia A500] randomblame:
Why did you choose to use BFQ? It seems to me that it would just add overhead and latency over noop. I ask because I am going over options for the cm9 kernel. Noop seems like the best bet to me - would love to be corrected
[Acer Iconia A500] ezterry:
noop gives me horrible IO time in testing with multiple reads writes; again it makes little difference when only one task is going on.. but if your media is scanning in the background.. and you foreground needs to read a small config file you will be locked out for longer with noop.

The "overhead" is fairly minimal in comparison as its just tracking what processes are reading/writting in a memory structure. (Forget the exact structure in use I just fetch the code from upstream and re-tune its configuration some as we don't want some of the rotational overhead)

Some other schedulars out there (not in this kernel):

CFQ - I find BFQ better at letting small tasks in then CFQ, I'd stick with noop before recommending this.

Deadline - in theory may be useful .. but it wasn't stable for me.. also statistics don't agree at its usefulness

SIO - Some people think SIO is good.. but it seems to me nearly the same as noop.. (besides a "simple" overhead)

The differences is noop gets requests:

1) read 50 blocks @ location a for process a

2) read 2 blocks @ location b for process b

3) read 10 blocks @ location c for process c

4) read 2 blocks @ location b+3 for process b

noop must run them in that order so everyone is waiting for the 50block read

bfq will interupt the 50 block read to allow the other two processes to get the data requests, and it may even merge the two process 'b' reads since it has the cost of a "5" block read (and really only a 4 block read, since we don't have a rotational disk thus no seek time)

---

anyway if you want to do testing I get the BFQ code from the current maintainers and it included the 3 official patches:

https://github.com/ezterry/AcerTabKernel/commit/07a8c20ebbbe566bad6564411682a8aaedbad1d9

https://github.com/ezterry/AcerTabKernel/commit/4b7b475e029dcf6372ee1d62ce2b82a32e5c70af

https://github.com/ezterry/AcerTabKernel/commit/2d7d4cb98e67d614d9e8620a8deb9df52374fd89

And one re-tuning patch

https://github.com/ezterry/AcerTabKernel/commit/438307d543452b93ba755655f925c3437d6e5be6

(The re-tuning I'm sure can have additional adjustments)

I understand the lure of noop.. I just have found both here and on the HTC dream reality did not match the theory of the scheduler. Actually started using it since Pershoot used it.. went for a while on the HTC Dream to CFQ + autogroup.. another theory that didn't live up to reality and switched back.

I do leave noop in this kernel.. so anyone wanting to experiment can switch between noop and BFQ via setCPU .. unfortunately the better benchmarks is system responsiveness not actual benchmarks.