[Galaxy S Plus I9001 Android Development] skywalker01:
OK, I'm back again and now read thru all the thread and also thru the broodROM thread since RC4 uses SkyHigh V1.4 as default kernel.

For obvious reasons I can't reply to all single posts, but many questions were already answered by other users - thanks for that especially to chasemyass, I nearly agree 100% with all of your statements :D

So the most important issue with SkyHigh V1.4 seems to be the sd card issue. Actually I already feared that and therefore put from the very beginning that short remark in post#1 that the reason is NOT SkyHigh.

This seems to be misunderstood by many people and I will explain this more detailled now.

First I have to admit that the sd card corruption is a much more severe failure than I would have expected. But on the other hand this is actually no fault in the kernel but just another performance feature that is not compatible with every phone/sd card. So it's the same reason why OC and UV kernels don't run on every phone: you have to understand that all devices are not 100% the same. There are always very slight differences in all the tiny hardware components inside your phone which could result in more or less big differences when tweaking beyond the recommended limits.

But tweaking beyond the recommended limits is actually what every performance tweaked kernel does and you have read the disclaimer and the feature list, haven't you ? So you can't say you hadn't been warned.

Now let me explain why this has happened (on some devices). For that I will give you a short quote from another website first where the basics of overclocking are explained: "Also, not all processors are the same. For example, most i5-2500k's can overclock up to 4.5GHz or higher but I've heard of some units which are having difficulty in reaching even 4.0-4.2 GHz, though this is quite a rarity. They [the manufacturers] find a clock wherein all of their processors are stable and this is where they sell them at. This ensures that the processors will run at a level that will not cause a significant reduction in their longevity."

Note the first sentence "not all processors are the same" and the word "rarity" which means only a few specimens will fail and the majority will just work fine beyond the limits if you keep them somewhat reasonable. But finding good values for such a "reasonable" higher limit is quite an art which will consume much time and effort. I think I have already found these values for the cpu frequencies and voltages so I recommend you change nothing there. But the sd card tweaks are very new and have the potential to receive some fine tuning.

You have to think now further and transfer the overclocking facts to the hardware of our phone: Qualcomm says the scorpion cpu on our msm8255t based board can be operated safely at 1,5 GHz. But Samsung only sets it to 1,4 GHz. Why is that ? Because it is safer: the cpu will use a little less power and stays a little bit cooler ultimately resulting in an overall more stable operation.

And this is also basically what stock kernels (and ROMs) do: the working parameters are set to very conservative and secure values that will actually work on any device of the series no matter how bad the electronic tolerances of the individual components are.

But this also means a lot of the potential of the hardware remains unused just to make sure it will work on every single device.

Now you have to understand that these basic rules don't only apply to the cpu but also to all other components. And overclocking or underclocking frequencies are by far not the only values than can be tweaked beyond the recommended limits of the manufacturers. Undervolting and overvolting is also just one other method. Actually there are a lot of software values that don't have direct impact on the hardware but can lead to severe software failures like memory and media corruption.

For instance I used 4 different software techniques to speed up the sd card performance. While this works well on most of the devices it obviously fails on some which can't handle values beyond certain limits. But these limits are individual for any single phone so it is impossible to make the tweaks work on all devices. The reason is simple, by making the kernel compatible with all phones you will just end up with the parameters and values of a stock kernel wasting again all the extra potential of the hardware of most devices.

So the bad and sad news is that unfortunately not all users can use the benefits of tweaked kernels/software because their individual device can't handle the values which reach beyond the limits of their hardware.

So the reason for the sd card failures is not the kernel but the individual hardware on which it fails. Of course the kernel is the trigger which lets the affected hardware fail but that is something different.

In one sentence: it's not a bug, it's a feature !

But what I can do and will try at the weekend is to release a version with less aggressive sd card tweaks which is hopefully compatible with more devices.

But I won't revert too much because this would spoil the performance of the majority of the devices on which the current tweaks are working fine including my own phone.

And I hope that everybody understands that making a custom tailored kernel for every single i9001 is completely out of the question.

So to sum it up I can only give two advices right now:

1. try the new kernel version with a little bit reduced "sd card boost" when it's ready and published

2. if that also doesn't work for you just try another kernel that fits you well; for your convenience I will also add the last SkyHigh V1.3 to the first post later which seems to have no sd card issues (since it has only 1 of the 4 mentioned sd card tweaks of V1.4)