[Galaxy Tab 10.1 Android Development] grzwolf:
===============================================================

Issue closed, read:

http://xdaforums.com/showpost.php?p=42638124&postcount=17

===============================================================

l2_hsic issue

l2_hsic running amok (GT-P7500, GT-P7501) is ONE considerable reason for abnormal battery drain.

The so far known counter measures (HC, Stiffmeister + its xda derivate, WiFi-ROM) do not comply to my requests:

- CM10.1 nightlies

- 3G usage

- no l2_hsic hassle

l2_hsic root cause

Analysis of kmsg files provide a consistent pattern. Function if_usb_suspend(..) from modem_link_device_hsic.c does not call wake_lock_timeout(..) in wakelock.c in case of l2_hsic is running amok.

The missed call to wake_lock_timeout is obviously caused by a non cancellable USB-connection.

It is a single non expiring wakelock, what makes trouble.

Inside of modem_link_device_hsic.c I lost track on further explanations.

Candidate to fix the issue

Since I cannot correct the root cause, I tried to fix its consequence.

Basis is the current pershoot P4 CM10.1 kernel.

There are a few spots in its source code, where one could obtain the so called prevent_suspend_time of a l2_hsic wakelock.

A monitor is installed in such place. It triggers, when a l2_hsic wakelock’s individual prevent_suspend_time exceeds >10s (empirical value).

In this case the function wake_lock_timeout is called, which ignites the wakelock’s expiration.

Next the trigger is reset and the monitoring becomes active again.

As a second and measure of last resort the tab is shutdown, once l2_hsic’s total prevent_suspend_time exceeds >1h (never happened so far).

All these events are logged:

--> /proc/grzwolf shows current status

--> /proc/kmsg is extended by a couple of messages

Verification

The described modified kernel was installed on my Tab months ago.

Since then DS works perfect to me.

Furthermore I did not experience any side effects.

This kernel-mod had been announced at

http://www.android-hilfe.de/samsung...s-10-1n-mit-stock-4-0-4-a-69.html#post5550736

Meanwhile the kernelmod is integrated:

BeeGee(Ganbarou), AAccount(A1 Kernel), kasper_h(Team Infamous/AOKP) and twa_priv(CM10.1/SGT7)

Preconditions for installation

- the kernelmod applies only for P4 devices (GT-P7500, GT-P7501)

- no need to contiue, if you don’t have a l2_hsic issue

- if you continue, you should know what you are doing

- I don’t take any warranty

- after flashing a Nightly ROM, the kernelmod needs to be installed again

- CM10.1 is installed on P4 according to the OP of thread http://xdaforums.com/showpost.php?p=36077123&postcount=1

Kernelmod installation

- comply to the preconditions above

- within CWM make a Nandroid backup of a running isntallation

- copy 'P4 kernel' (see downloads below) to your Tab

- install 'P4 kernel modified' within CWM and check functionality after booting up

- if not ok, restore in CWM your Nandroid backup

Credits

- pershoot (Kernel)

- MapleSyrup (Kernel build)

- nakedninja42 (CM10.1 Installation)

Changelog

Rev. 2013.04.10-19.44

first release

Downloads

- CWM flashable kernel zip, Rev. 2013.04.10-19.44

- md5 sum of kernel zip

- source code

- readme source code