[KERNEL][ROOT][3G] Workaround für Android OS Bug/baseband_xmm_power wakelock

V

vorcers

Neues Mitglied
25
Hallo Android-Hilfe Community,

ich habe im Forum gesehen, dass einige von euch mit ihrem Nexus 7 2012 3G immer noch Probleme mit den Android OS / baseband_xmm_power wakelock zu kämpfen haben. Ich habe vor einiger Zeit eine für mich 100%tige Lösung gefunden und würde diese gerne mit euch teilen.

Die Lösung ist ein Kernel-Patch, welcher den Baseband-wakelock komplett deaktivieren kann. Mein Patch basiert auf der Arbeit von jfmcbrayer und Sgt. Meow. auf xda-developers.

Ich verwende den Workaround schon seit einigen Wochen, mit Android 4.4.4 und 5.0.2. Ich habe euch den Kernel-Patch und einige Akku-Screenshots meines Tablets hier abgelegt.

"Known Bugs":

Für diejenigen, welche auf den Mobilfunk angewiesen sind, muss ich leider mitteilen, dass das ganze nicht ohne Nebenwirkungen ist. Der Nutzer Voll_pfosten hat etwas getestet (zu lesen in den Posts ab hier) und ist zu dem Ergebnis gekommen, dass durch die Anwendung des Workarounds die Mobilfunkverbindung instabiler ist. Wenn man den Wakelock zum Teil zulässt, ist die Verbindung besser, allerdings ist dann auch der Akkuverbauch wieder höher.

Zum Kernel / Downloads:

Ich entwickle den Kernel selbst schon seit 2013 auf xda-developers und habe erst seit kurzen den Wakelock-Patch aufgenommen. Er beinhaltet neben den Wakelock Fix auch einen möglichen Fix für die leeren Verzeichnisse nach dem Mounten seit Android 4.2. Wenn euch das auch interessieren sollte, schaut euch bitte den Thread auf xda-developers an. Außerdem enthält er cifs, nfs.

Genug geschrieben, hier kommen die Downloads:

Cyanogenmod 12.1

Nur für CM 12.1 des Nexus 7 2012 3G / Tilapia.
Das Package von CM12.1 ist ein Anykernel, d.h. beim Flash von neuen Versionen von CM12.1 sollte es keine Probleme mehr geben. Nur getestet mit TWRP.

Stock Android

Nur für das Stock-Android des Nexus 7 2012 3G / Tilapia:


Zusätzlich benötigtes

Außerdem benötigt ihr noch ein init.d file, welches den Workaround beim Booten aktiviert: Download (Deaktiviert den Wakelock komplett) oder eine andere Version, welche den Wakelock für maximal eine Sekunde aktiviert lässt: Download (funktioniert nach Berichten eines Users auch besser mit den Mobilen Daten)

Bitte flasht den Kernel und das init.d-File mit TWRP oder CWM. Ein Rooten des eigentlichen Android-Systems ist nicht nötig. Lediglich ein Custom-Recovery.

Konfiguration des Workarounds (nur für die Hardcore-User):
Intern führt das das init.d File nur folgenden Befehl aus:

Code:
echo 0 > /sys/module/baseband_xmm_power/parameters/bb_timeout
  • < 0 - Workaround deaktivieren, dann verhält sich der Kernel so, als wäre der Workaround nicht gesetzt. Standardmäßig ist im Kernel auch -1 aktiviert.
  • = 0 - Deaktivieren des baseband_xmm_power wakelock
  • > 0 - Wie lange der wakelock aktiv bleiben darf, immer wenn der wakelock angefordert wird. Das ganze in Zehntel Sekunden, d.h. Wert 5 = 500 ms, Wert 10 = 1 Sekunden, Wert 20 = 2 Sekunden....

Ein Repository auch mit meinen alten Kerneln und allen anderen Patchfiles findet ihr hier. Beachtet aber bitte, dass erst die Kernel ab v16 und der 4.4.4-Kernel, welchen ich oben gepostet habe, den Workaround enthalten.

Ich hoffe ich kann damit jemanden Helfen, der auch Probleme mit diesen blöden Wakelock-Bug hat. Falls jemand einen Kernel mit diesen Workaround für Android 4.3 oder 4.2, oder gar 4.1 braucht, gebt bitte beschied.


Viele Grüße

Vorcers
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: mausbock, joko46, itchyro und 4 andere
Werde demnächst mein N7 3G wieder auf Tilapia-ROM zurück flashen (hab Grouper in der Hoffnung, daß es besser läuft) und den Patch unter Lollipop CM12 testen
 
Das grouper Image zu verwenden hat keinen Wert. Das hatte ich damals auch versucht. Das hat mir nichts gebracht.

Ich habe vergessen, zu schreiben, dass der Kernel nur für Stock Android ist. Bzw. du müsstest meinen Kernel und die Ramdisk von Cyanogenmod verwenden. Ansonsten kann es sein, dass CM nicht mehr bootet.

Ich werde die Tage noch ein Anykernel Package bereitstellen.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Voll_pfosten
Dann pass doch bitte deine Beschreibung oben an. Ich wollte den Patch gerade einspielen (CM12) und hätte dann ein "böses Erwachen" gehabt
 
OK, auch kein Problem. Werde ich das unter Stock probieren... Root und Custom-Recovery sind schnell drauf
 
Anykernel hört sich gut an :)
 
Ich habe jetzt das den Post für das AnyKernel Image aktualisiert. Getestet habe ich es mit Android 5.0.2 und CM12. Leider funktioniert es nicht mit Stock Android 4.4.4. Der lädt dann für immer.

Ladet euch bitte zum aktivieren den Workarounds das aktualisierte init.d File (rev2) runter und Flasht es.

Eventuell sollten den Anykernel zunächst nur erfahrene User flashen und ihre Erfahrung posten. Das ist absolutes Neuland für mich, (fast) alle Funktionen die der Kernel hat in diesem Niveau am laufen zu halten. Sollte jemand auf dem Stock-Android bereits einen nicht-Anykernel geflasht haben, installiert bitte zunächst erst den Stock-Kernel. Ansonsten werden alle Skripte in /system/etc/init.d zwei mal ausgeführt.
 
So, hab nun neu aufgesetzt. Nur SU den Kernel und den Patch eingespielt. Belasse alles erst einmal auf Stock, keine weiteren Apps und schaue, wie es sich verhält. Ich werde dann mal hier berichten.
 
Hast du auch den "aktivierer" / das init.d-Datei geflasht?

Wenn du im Terminal

Code:
        [FONT=monospace][COLOR=#000000]cat /sys/module/baseband_xmm_power/parameters/bb_timeout[/COLOR][/FONT]
ausführst, musst du 0 bekommen. Wenn -1 kommt, ist er nicht aktiviert.

Alternativ kannst du auch als root

Code:
echo 0 >[FONT=monospace][COLOR=#000000]/sys/module/baseband_xmm_power/parameters/bb_timeout[/COLOR][/FONT]
machen, dann ist das aber nach einem Neustart wieder weg.
 
Zuletzt bearbeitet von einem Moderator:
Hab den "aktivierer" natürlich mitinstalliert. Die Ausgabe lautet "0".
Werde dann auch noch zusätzlich Mobilfunk testen. Habe ja ne 2. Karte. Aber erst morgen.
 
Zuletzt bearbeitet:
Kann den Carosa Kernel von XDA empfehlen, der hat auch den Patch integriert und bietet Übertaktungsmöglichkeiten. Habe seit der Nutzung keine Wakelocks mehr.
 
  • Danke
Reaktionen: fairdroid
So, hab nun die SIM-Karte eingesetzt um mal mit Mobilfunk das ganze auszutesten.
Sowie funktioniert das Mobilfunkmodul , aber die Verbindung scheint nicht stabil zu sein. Manchmal scheint es so, als ob die Datenverbindungen im Tiefschlaf ist. Ich bekomme öfter ein Timeout beim Playstore oder im Chrome werden die Seiten nicht geladen. Ein deaktivieren und erneutes aktivieren der Datenverbindung behebt das für eine Weile. Gerade jetzt funktioniert es scheinbar wieder, kann aber daran liegen, das eine Webseite oder App die Verbindung aufrecht erhält. Ich werde das mal weiter beobachten.
Zum Akkuverbrauch ohne Mobilfunk: sehr gut, kann ich nur sagen. Wie es mit der Karte aussieht werde ich dann noch nachreichen.
 

Anhänge

  • Screenshot_2015-03-02-06-58-30.png
    Screenshot_2015-03-02-06-58-30.png
    24,3 KB · Aufrufe: 497
Zuletzt bearbeitet:
  • Danke
Reaktionen: vorcers und Urs_1956
@Voll_pfosten

Danke für dein Feedback. Ich habe solche Seiteneffekte schon vermutet. Wenn du möchtest, flashe bitte mal mit dieses init.d: CWM_activate_baseband_xmm_power_wakelock_workaround_vorcers_rev2_default_10

Vielleicht funktioniert damit die Daten-Verbindung besser.

Das deaktiviert nicht den wakelock, sondern lässt ihn maximal 1 Sekunde lang aktiv - jeweils jedes mal, wenn der wakelock angefordert wird. Im Original blieb er bis in alle Ewigkeit atkiv...
 
  • Danke
Reaktionen: Voll_pfosten
Werde ich mal antesten, aber erst morgen Abend, da bin ich wieder auf der Arbeit und habe kein WLAN. Da lässt sich das am besten testen.
 
Wie mit scheint, hab ich nun ein benutzbares Tablet. Die Laufzeit passt wieder.
Im ersten Bild hatte ich den Flugmodus aktiviert. Verbrauch nahezu 0.
Im zweiten Bild hatte ich Flugmodus mit aktiviertem WLAN.
Im dritten dritten Bild hab ich Flugmodus deaktiviert und war zusätzlich im WLAN eingebucht.
Im vierten Bild hab ich WLAN deaktiviert und nur Mobilfunk aktiv. Hier war noch der Patch v1 eingespielt. Der Verbrauch war enorm.
Im letzten Bild gab ich den Patch v2 eingespielt und der Verbrauch ist gut. Außerdem funktioniert Mobilfunk wie es soll. Keine Aussetzter mehr.
Danke!!!! :thumbsup: :thumbsup:
Jetzt folgt der Langzeittest, aber ich bin guter Dinge, dass es läuft.

Nachtrag: Bisschen zu früh gefreut. Sowie ich das Tablet im Mobilfunk habe und nur im Standby, haut AndroidOS als Verbraucher kräftig zu und die Verbindung zum Internet ist auch nicht da, trotz des Patches in v2. Netz wird mir angezeigt, aber mit einem Ausrufezeichen in der Empfangsanzeige. Ich werde das Tablet jetzt erst einmal im folgenden Modus betreiben: Flugmodus mit aktiviertem WLAN und bei Bedarf schalte ich Mobilfunk ein. Außerdem lasse ich die v2 des Patches drauf. Wenn das gut läuft, kann ich mit dieser "Einschränkung" leben. Im Grund genommen Wollte ich das sowieso machen. ;)
 

Anhänge

  • Screenshot_2015-03-02-20-42-54.png
    Screenshot_2015-03-02-20-42-54.png
    8,5 KB · Aufrufe: 488
  • Screenshot_2015-03-03-09-06-12.png
    Screenshot_2015-03-03-09-06-12.png
    14,9 KB · Aufrufe: 479
  • Screenshot_2015-03-03-14-11-46.png
    Screenshot_2015-03-03-14-11-46.png
    14,6 KB · Aufrufe: 495
  • Screenshot_2015-03-03-16-25-03.png
    Screenshot_2015-03-03-16-25-03.png
    14,8 KB · Aufrufe: 464
  • Screenshot_2015-03-03-21-05-57.png
    Screenshot_2015-03-03-21-05-57.png
    20,8 KB · Aufrufe: 490
Zuletzt bearbeitet:
  • Danke
Reaktionen: vorcers, fairdroid und Urs_1956
Wie hoch sind denn bei Android OS die Anzahl der Aufwachzeiten und die Gesamte Aufwachzeit? (Ablesbar in Wakelockdetektor / BBS)

Es kann mit den fix (egal ob der erste = 0 oder zweite = 10) eigentlich nicht sein, dass das tablet so sehr zieht. Na ja, ich habe es auch nicht im Mobilfunkmodus betrieben. Ich habe echt eine Android OS Auslastung von 0 mit den ersten.
 
Leider musste ich das Tablet neu aufsetzen, da ich versucht habe, Xposed für Lollipop drauf zu installieren, endete im Bootloop. Ich hab jetzt CM12 drauf mit deinem Anykernel und dem Patch in v2 drauf. Ich werde das demnächst erneut testen und auch den Wakelockdetektor laufen lassen. Evtl lässt sich das reproduzieren. Werde dir dann auf alle Fälle berichten.
 
@Voll_pfosten teste mal den Carcosa Kernel von XDA, damit sind bei mir alle wakelockprobleme behoben.
 
So, nun habe ich auch den Test mit dem Anykernel und dem Patch v2. Mit Mobilfunk ist der Verbrauch natürlich etwas höher, auch AndroidOS taucht ab da wieder als Verbraucher auf, was sich aber nicht negativ auf die Laufzeit auswirkt. Habe das ganze nun in Verbindung mit der APP DS Battery Saver (Einstellung Tiefschlaf) laufen. Performance ist auch wieder super. Kurz, ich habe wieder ein Tablet mit dem ich zufrieden bin.
Im ersten Screenshot war Mobilfunk deaktiviert (Flugmodus) und WLAN aktiv.
Im zweiten Screenshot habe ich nur Mobilfunk aktiviert.
Der hohe Verbrauch im zweiten Screenshot liegt daran, dass ich mit dem Tablet ein wenig gezockt habe. Da ist die Display-on-Zeit von ca. 2h daran schuld. ;)
uploadfromtaptalk1425621955702.png
uploadfromtaptalk1425621975514.png
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: vorcers und fairdroid
Freut mich, dass dein Tablet jetzt funktioniert wie es soll. Das Android OS zieht ist klar, da der Wakelock nicht tot ist - nur fast tot. Er kann mit jeder Anforderung nur eine Sekunde aktiv sein.

Vor dieser dieser Lösung hatte ich übrigens immer ne Sim Karte aktiv. (ohne Flugzeugmodus) Damit war es erträglich. Aber wirklich benutzbar ist es erst jetzt. Seit über 3 Monaten hatte ich keinen Android OS Bug mehr. Obwohl ich sagen muss, dass der Standby Akku Verbrauch mit Android 5.0 höher als mit Android 4.4.4.
 
  • Danke
Reaktionen: fairdroid und Voll_pfosten

Ähnliche Themen

Anonym6x6
Antworten
5
Aufrufe
2.423
mausbock
M
M
Antworten
4
Aufrufe
4.746
mopple6
M
A
  • andre879
Antworten
0
Aufrufe
1.794
andre879
A
Zurück
Oben Unten