[Galaxy S I9000 Android Development] zacharias.maladroit:
4th backup post (results)

Results & FAQ/Documentation

Results:

(04/27/2011) Results for platypus-kernel_20110427_18_quorra_r1:

- broken auto-rotation & sensors for some [insert ROM (CM7 ? MIUI ?)]

- stable

(05/03/2011) Results for CM7_SGS_platypus-kernel_20110503_17_quorra-r4_exp

- high battery drain, either due to kernel config or optimization flags, fixed with >= quorra r5 (2nd update)

FAQ / Documentation

@bootloop / boot post victims ^^

Hi guys,

could you please try to replace the existing kernel on your MIUI or CM7 nightly CWM-Package with my kernel, modules and its scripts ?

then install that updated package (with the new kernel, modules and scripts)

after that all should work

the bootloops seem to be an issue with bml_over_mtd (broken sectors on the SSD on your phone)

I'll investigate this and see if anything needs to be rewritten and/or updated in that regard

Thanks !

Overclocking / Undervolting:

Q: I'm new in OC/OV operations so please could you explain to me how to set it in the best way?

A: start with -50 mV (delta from default value) other values probably are too low

my testing includes:

- Angry Birds Rio (several missions)

- Gun Bros (for some time)

- mp3 playback, (flac playback - optional)

- surfing the web via browser, opening up bit.ly links from cmsgsteam twitter feed

- watching youtube video

- watching video via rockplayer lite or mobo video player

- running benchmarks (Smartbench 2011, quadrant standard, an3dbenchXL, anTutuBench)

- Labyrinth Lite (for gravity sensor), auto-rotation (also for sensor)

when 1 GHz (1,2 or 1,3) is OK - go lower with undervolt value (e.g. -75 mV)

after it gets un-stable - go back to last known stable value

then you can limit max frequency to lower one, e.g. 800 MHz

and repeat testing for that frequency

for more info:

checkout shaolin95's Mini Overclocking Guide:

Link: http://xdaforums.com/showthread.php?p=12910471#post12910471

LED Support FAQ

Q: Do LED notification require an app, such as BLN, etc ?

A: No. It uses Android's and Cyanogen settings, other apps are not required, although some that are designed for regular LEDs may work.

Q: How to I turn off LED notifications, scheduled or/and complete turn off?

A: Use Cyanogen's Quiet Hours feature (settings>cyanogen>sound>quiet hours) and check "Dim the LEDs during quiet hours" (in reality it will turn them off on the SGS). If you schedule a complete day, then LED notifications will be off all the time.

Q: How do I setup per app, find other LED settings etc?

A: Settings>cyanogen>interface>LED notifications

Q: What to do with LED color settings?

A: We have only one color, so that doesn't work. Use Green as default setting. Some non-bright colors turn off notification, as it's the equivalent as diming LEDs (note that on real LEDs if you dim them too much they look like off too anyway, the difference is that it's gradual. On the SGS the LEDs can be only on or off, not gradual)

Q: How can I troubleshot my system, I can use ADB but...

A: adb logcat | grep lights (on linux) will show you Android requests to turn LED on or off. "status" tells you what we decide will be interpreted as "turn LED on" (1= on, 0 = off)

adb shell cat /proc/kmsg for live view (or adb shell dmesg if you're using adb after the issues occurs - careful the backlog is limited in size so don't be too slow)

notify_led_on and notify_led_off are requests to the kernel to turn LED on or off.

touch key write/read errors (cypress) are non-fatal failures to ask the touch key to do something (eg lit up the LED), when the hardware goes crazy or there's a logical error in the code (can be both)

touch key recovery routine or "stopped responding" are either hardware errors, either a logical error where the driver would try to write something the touchkey doesnt understand. in some occasion lock&unlock fix those as a work around, of course a permanent fix is required

Voodoo Color settings:

Q: I don't have that nice ice-ish white color on my screen anymore - you suck !

Q: my screen looks like someone pissed on the screen - you suck !

(sorry for the language ^^)

A: I love you too ^^

download Voodoo Control or Voodoo Control Plus

Screen RGB multipliers:

- Red: 321*

- Green: 321*

- Blue: 429*

Screen v1 gamma hack:

- use Alt. settings

- or if you prefer others - use: "Reset to 2.3.3 defaults", "Punchy settings" (punchy could lead to a great screen while locking the screen and having "screen off" animation disabled)

other recommended settings:

SGS CM7 nightlies wiki

http://sgscm7nightlies.pbworks.com/w/page/41483487/FrontPage

Android OS bug, :

(thanks to ceriko ! and his awesome guide for DarkyROM 10.1)

If your battery drains very fast and your battery stats mentions Android OS above 10%, often between 40 and 60%, sometimes more, this is the best to do as far as I know:

- Remove the 2/3 system files as per the beginning part of this guideguide about batterie issues.

- Install WatchDog and open (I set it to "moderate", then I close it, that's all), this app will warn you whenever an app or a process miss-behaves by draining the battery excessively. It will not fix it but just flag it and you will see a notification.

- Reboot usually stops the drain for a while until it naturally comes back, so reboot whenever you see Android OS above 10% and rising or after you see WatchDog mentioning "Suspend" process using too much battery (the suspend process hanging is the Android OS bug).

- Some apps trigger it, most common are Gameloft games (blame Samsung, not the games/apps). No need to use apps or games for this drain to happen, it also happens straight after boot once phone has been fully charged.

This bug can not be fixed by anyone but Samsung. Some never see it, some will experience it everyday no matters what they do... It's just annoying and unfair but that's the same on all Gingerbread releases by Samsung (JVK, JVB, JVO, JVH). Apparently even the SGS2 has this...

screenstate scaling

aka

my governor won't change after screen locked:

So what is this all about ?

it's an init script that is put in to /system/etc/init.d

and switches between the configured governors in the script

depending on whether the screen is on (AWAKE_GOVERNOR) or off (SLEEP_GOVERNOR)

in most cases your phone is off - in that case it would be good to use a governor which doesn't fire up the cpu frequency too fast since you don't need it (no GUI, smooth scrolling, etc. needed while the screen is off - lol),

so conservative governor is set

when using the phone (screen on) it really depends on what you want to do: e.g.

latency & smoothness is crucial

: try smartass2, smartass, ondemand;

you're mainly browsing & reading stuff

: try ondemandb, conservative (the screen is already burning enough battery so you don't need another component burning yet more)

only use one governor at a time

e.g.

AWAKE_GOVERNOR

# AWAKE_GOVERNOR

# AWAKE_GOVERNOR

SLEEP_GOVERNOR

# SLEEP_GOVERNOR

# SLEEP_GOVERNOR

that means lines with "#" are commented out and not used by the script

e.g.

# AWAKE_GOVERNOR

AWAKE_GOVERNOR

# AWAKE_GOVERNOR

SLEEP_GOVERNOR

# SLEEP_GOVERNOR

# SLEEP_GOVERNOR

also would work (intentionally not filled in any governors)