l2_hsic-Fix für P4 (GT-P7500, GT-P7501) mit CM10.1

G

grzwolf

Ambitioniertes Mitglied
33
=======================================================================
Thema erledigt, siehe:
https://www.android-hilfe.de/forum/...-gt-p7501-mit-cm10-1.421069.html#post-5944691
=======================================================================

Problemstellung
Ein l2_hsic Amoklauf (GT-P7500, GT-P7501) ist EIN möglicher Grund für abnormale Entladung des Akkus.
Die bekannten Abhilfen (HC, Stiffmeister, WiFi-ROM) vereinbaren sich nicht mit meinen Wünschen:
- CM10.1 nightlies
- 3G Nutzung
- keine l2_hsic Nerverei


l2_hsic Ursache
Ist nach wie vor unklar, daran arbeite ich noch.
Anhand von kmsg Files ergibt sich zwar ein konsistentes Muster, wonach die Funktion if_usb_suspend(..) aus modem_link_device_hsic.c im Amokfall den Aufruf von wake_lock_timeout(..) in wakelock.c unterläßt.
Das unterlassene Aufrufen von wake_lock_timeout ist offenbar die Folge einer nicht löschbaren USB-Verbindung.
Es ist jedenfalls ein einzelner, nicht ablaufender wakelock der den Ärger verursacht.
In modem_link_device_hsic.c verliert sich dann aber für mich die Spur.


Fix zur Problembehebung
Da für mich das Übel an der Ursache nicht faßbar ist, wird dessen Auswirkung angegangen.
Basis ist der aktuelle pershoot P4 CM10.1 Kernel.

An einigen Stellen im Quellcode, ist die Amok-Laufzeit prevent_suspend_time eines l2_hsic wakelocks bekannt. An solch einer Stelle wird eine Überwachung für die wakelock individuelle Laufzeit >10s (empirischer Wert) eingebaut. Tritt dann besagter Amoklauf ein, wird der momentan aktive wakelock durch Aufruf von wake_lock_timeout (ausprobiert) beendet.
Nach erfolgter "Heilung" wird die Überwachung zurückgesetzt und ist damit wieder aktiv.

Als eine zweite Massnahme wird nach einer l2_hsic Gesamtlaufzeit (prevent_suspend_time) >1h dasTab abgeschaltet.

Alle diese Zustände werden geloggt, um weitere Erkenntnisse zu sammeln:
--> /proc/grzwolf zeigt aktuellen Status
--> /proc/kmsg ist um einige Meldungen erweitert worden

Derzeitiger Stand des Kernelmod ist: "2013.04.10-19.44".
Es wird noch Änderungen geben und sei es das Bereinigen des Codes.


Verifizierung
Der beschriebene Kernelmod ist auf meinem Tab seit Monaten installiert, kein einziger l2_hsic Amoklauf hat seither den DeepSleep gestört.
Ich habe zudem keine Nebenwirkungen feststellen können.
Seit mehreren Wochen ist der KernelMod verfügbar (ursprünglich im Thread "Erbitte Hilfe beim Identifizieren des Akkuproblems / 10.1n mit stock 4.0.4"), auch hier gab es nur positives Feedback.
Mittlerweile ist der Kernelmod integriert in:
BeeGee(Ganbarou), AAccount(A1 Kernel), kasper_h(Team Infamous/AOKP) und twa_priv(CM10.1/SGT7)


Voraussetzungen zur Installation
- wer kein l2_hsic Problem hat, braucht nicht weitermachen
- wer mitmacht, weiß worauf er sich einläßt
- es gibt keine Garantie
- nach dem Flashen einer Nightly, muß der Kernelmod erneut geflasht werden
- Kernelmod geht nur für P4 (GT-P7500, GT-P7501)
- CM10.1 ist auf P4 installiert gemäß:
[ROM][P75xx][JB][4.2.2] CyanogenMod 10.1 Nightly Discussions - xda-developers
oder
[ROM][JB][CM10.1] Android 4.2.2 - CyanogenMod 10.1 (Nightlies + Exp) [GT-P75XX/7100]


Kernelmod Installation
- Voraussetzungen s.o. erfüllen
- in CWM ein Nandroid backup einer laufenden Installation anfertigen
- 'P4 Kernel' (siehe Downloads unten) auf Tab kopieren
- 'P4 Kernel' in CWM flashen und Funktion des Tab prüfen
- wenn nicht ok, per CWM ein Nandroid restore ausführen


Danke
- pershoot (Kernel)
- MapleSyrup (Kernel build)
- nakedninja42 & hanspampel (CM10.1 Installation)


Downloads
- CWM flashbares Kernel-ZIP Stand: 2013.04.10-19.44
- MD5 Datei des Kernel-ZIP
- source code
- readme zum source code
 

Anhänge

  • p4_kernel_2013.04.10-19.44.zip
    6,1 MB · Aufrufe: 259
  • 0da43b6b599e8cd49a2df2e8a88e2b07.md5.txt
    65 Bytes · Aufrufe: 251
  • p4_kernel_2013.04.10-19.44_source-code.zip
    17,1 KB · Aufrufe: 187
  • p4_kernel_2013.04.10-19.44_source-code__readme.txt
    3 KB · Aufrufe: 281
Zuletzt bearbeitet:
  • Danke
Reaktionen: Klorolle, TroPir, sgs9000A und eine weitere Person
Du bist zu spät und im falschen Forum. "Root" wäre besser gewesen.:) Zu spät deswegen, weils alle Devs schon implementiert haben. Habs eben im XDA entdeckt.:flapper:
 
hanspampel schrieb:
Du bist zu spät und im falschen Forum. "Root" wäre besser gewesen.:) Zu spät deswegen, weils alle Devs schon implementiert haben. Habs eben im XDA entdeckt.:flapper:

Also alle 4 forks außerhalb CM?

Warum denn Root?

Zu Spät
Du hättest das halt machen sollen.
Das hat ja eine Dynamik angenommen ..., bin doch noch am Experimentieren. Egal, die Devs sollen einen Anlauf haben, wenn ich Überarbeitungen fertig habe.
 
Naja meinte ja nur das es besser im Root Bereich aufgehoben wäre. Entweder meldeste es nem MOD oder wartest bis es einer verschiebt. Das könnte aber dauern.:D

Was ich so mitbekommen habe, hat BeeGee(Ganbarou), AAccount(A1 Kernel), kasper_h(Team Infamous/AOKP) und twa_priv(CM10.1/SGT7) es in ihrem Sourcecode übernommen. Also eigentlich jeder der fürs GTab was macht. Wobei BeeGee der ausschlaggebende Punkt war. Alle bauen auf BeeGees Github auf.

Trotzdem weise Entscheidung von dir mit dem Thread. Soll deine Arbeit ja nicht schmälern.:winki:
 
Da ist er wieder (Ganbarou-Rom)!

Nach langer Zeit tritt der l2_hsic wieder auf. Keine Ahnung warum!
 

Anhänge

  • Screenshot_2013-05-20-17-28-37.png
    Screenshot_2013-05-20-17-28-37.png
    174 KB · Aufrufe: 641
  • Screenshot_2013-05-20-17-28-59.png
    Screenshot_2013-05-20-17-28-59.png
    185,7 KB · Aufrufe: 866
slash62 schrieb:
Da ist er wieder (Ganbarou-Rom)!

Nach langer Zeit tritt der l2_hsic wieder auf. Keine Ahnung warum!

Du hast sicher kein kmsg mitlaufen lassen? Das wäre jetzt hilfreich.

Andererseits, 40min l2_hsic sind keine Katastrophe, so die 40min kleckerweise während der 7h Nutzung entstanden sind und nicht an einem Stück.
Mach mal in cpu-spy ein Timer-Reset und lass das Tab danach 1h im Standby. Dann mach nochmal einen Screenshot. Dann sehen wir, ob l2_hsic tatsächlich verklemmt ist.

Beschreib mal bitte zudem die Begleitumstände der letzten 7h Nutzung.
 
Zuletzt bearbeitet:
Nehme alles zurück und behaupte das Gegenteil!

Habe den Kernel überprüft und festgestellt, dass es nicht der mit dem bug-fix ist. Bin mir aber sicher, das nach dem flashen dr richtige Kernel aufgespielt war. Werde mal beegee fragen.
 
Abschluß l2_hsic Amok GT-P7500 und GT-P7501

Das Leben kann so einfach sein.
Das l2_hsic Problem wurde von Samsung selbst gelöst, allerdingsr nur halbherzig umgesetzt.
Samsungs Umsetzung der Problemlösung erfolgte für das Modell P5 (GT-P7300) aber nicht für das P4 (GT-P7500/7501).

XDA Mitglied C-o-M lieferte den entscheidenden Hinweis, dass das P5 erfahrungsgemäß frei vom l2_hsic Problem ist.

C-o-M stellte zudem die Quellen mehrerer P5-Kernelvarianten zum Review zur Verfügung.
Der Quellcode vom Modem Interface des P5 weist einige nicht triviale Differenzen zu dem des P4 auf.

Seit Ende Mai habe ich in einem Testkernel die entsprechenden Dateien des P4 Modem Interface mit denen vom P5 ersetzt.
Dieser Kernel läuft auf meinem P4 ohne l2_hsic und andere Probleme.

Der von mir vorgestellte Hack des P4-Kernels ist nicht länger erforderlich.

Es ist davon auszugehen, dass pershoot die Änderungen in den Hauptzweig der CM10.1 Entwicklung übernimmt.
http://forum.xda-developers.com/showpost.php?p=42638124&postcount=17
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: TroPir
Hallo grzwolf,

würdest Du uns diesen modifizierten Kernel auch zur Verfügung stellen?

Viele Grüße
 

Anhänge

  • p4_kernel_2013.06.19-20.41.zip
    6,1 MB · Aufrufe: 246
  • 43cc4ad50c7967b96c3dc544784da5cd.md5.txt
    64 Bytes · Aufrufe: 268
Zuletzt bearbeitet:
Vielen Dank dafuer!
Ich bin bei meinem P7501 aus verschiedenen Gruenden auf Stock-ROM angewiesen - kann ich den Kernel auch ohne CM nutzen?
Oder hast Du eine andere Idee wie das P5-Modem-Interface mit Stock-ROM genutzt werden kann?
Vielen Dank!
 
Moin

Wenn du auf das Stock ROM angewiesen bist, kannste auch den Stock Kernel der China FW benutzen. Hab da mal ne flashbare Version nebst Modulen erstellt. Gibts hier und behebt zu 100% den Batterdrain und bringt den Deepsleep wieder.

https://www.android-hilfe.de/forum/...kernel-mit-deepsleep-fix-gt-p750x.429212.html

Wenn du nen Custom Kernel zum Übertakten willst, kannste auch diesen nutzen. "grzwolfs" ehemaliger Fix ist dort mit drin.

https://www.android-hilfe.de/forum/...1-p75xx-a1-kernel-v1-9-25-05-2013.290380.html

PS: Nein, seinen Kernel kannste nur unter CM10.1 verwenden.
 
Funktioniert bestens DS betreffend!
Leider funzt die "Telefon-App" nicht mehr!
Aber damit kann ich leben.
 
gogosch schrieb:
Funktioniert bestens DS betreffend!
Leider funzt die "Telefon-App" nicht mehr!
Aber damit kann ich leben.

Es gibt für P4 + CM10.1 zwei funktional verschiedene l2_hsic Lösungen:
- die vom OP ("oberflächlicher" Hack)
- die von Post #8 (saubere "tiefer gehende" Lösung)

Mit der ersten Variante müßte das Telefon gehen.
 
Hallo,

es gibt ja mittlerweile auch schon die Lollipop und auch MM-Variante für das P4. Bei beiden habe ich keinen DeepSleep mehr und das Tablet ist dauerhaft aktiv.
Ich besitze die 3G-Variante des Tablets 10.1 und habe ihm über das TWRP beigebracht, nur ein 10.1 WiFi zu sein. Als Rom ist derzeit das inoffizielle MM 6.0 [ROM][Unofficial][AOSP] Android 6.0.1 Marshmallow installiert.

Leider habe ich bislang keinen Kernel gefunden, der dieses ROM unterstützt. Hat jemand Ideen, oder den Antrieb einen entsprechenden Kernel zu bauen, der mit dieser Verion funktioniert?

Gruß,
Matze
 

Ähnliche Themen

Ciran
  • Ciran
Antworten
0
Aufrufe
1.481
Ciran
Ciran
M
Antworten
9
Aufrufe
2.509
bierma32
bierma32
Aisha
  • Aisha
Antworten
16
Aufrufe
6.044
Aisha
Aisha
Zurück
Oben Unten