FSTRIM / Lebenszeit des internen Speichers

  • 84 Antworten
  • Letztes Antwortdatum
H

homofaber

Fortgeschrittenes Mitglied
233
Zwischen der Firmware 2.3.0 und 2.5.0 gab es eine (meines Erachtens) folgenschwere Änderung im Kernel, und zwar im Treiber für das Crypto-Handling:

dm-req-crypt: Remove discard support as it keep reporting errors · bq/aquaris-X-Pro@93dae1a

Dies hat zur Folge, dass für (ausgerechnet) die /data-Partition der fstrim-command nicht mehr funktioniert. Da dies die Partition ist, auf der permanent geschrieben wird, dürfte das die Lebenszeit des Flash-Speichers signifikant verkürzen.
Die Änderung wurde seitens codeauroa.org gemacht und so von BQ übernommen. Der Hintergrund für diese Änderung erschließt sich mir nicht ganz, aber es gab wohl in irgendwelchen speziellen Einzelfällen Probleme und da hat dann ein Irrer den Holzhammer eingesetzt.
Der Kommentar bei der Änderung "/* TODO: Discard support */" bedeutet in diesem Fall wohl ziemlich sicher übersetzt: "Won't fix". Denn da hat sich seit langem nichts getan.

Wem fstrim nichts sagt: Mit dem fstrim-Command wird, grob gesagt, in regelmäßigen Abständen die Belegung des Flash-Speichers reorganisiert, um die einzelnen Speicherzellen möglichst gleichmäßig zu belasten, da diese technisch bedingt nur eine jeweils maximale Anzahl an Schreibvorgängen verkraften, bis sie tot sind. Mehr kann hier nachgelesen werden.

Obige Änderung sorgt nun seit FW 2.3.0 dafür, dass die Speicherzellen, welche belegt sind, nicht mehr beschrieben werden, solange sie Daten halten, andere freie dafür um so mehr. Und da permanent temporäre Dateien angelegt und wieder gelöscht werden, dürfte dies die Lebenszeit stark verkürzen, je nach Nutzung des Telefons (Anzahl der Apps, Häufigkeit des Fotografierens oder gar Video-Aufnahmen).

Für BQ ist dies nicht weiter tragisch, da die ersten Geräte ja nun aus der Garantie rausfallen und die übrigen es größtenteils bis zum Ende der Garantie überleben werden. Außerdem hilft für einige Zeit dann ja auch das berühmte Allheilmittel Factory-Reset, da dabei die Datenpartion gelöscht und neu angelegt wird.

Ich habe mir derweil damit beholfen, diesen Commit im Kernel rückgängig zu machen und einen selbst compilierten zu benutzen.

Bei der Gelegenheit:
@Quallenauge Eventuell solltet ihr in Lineage ebenfalls einen Revert dieses Commit in Erwägung ziehen. Habe leider gerade keine Zeit für Gerrit.
 
  • Danke
Reaktionen: Hotze, XShocker22, Germelein und 3 andere
Könnte das der Grund für das "Your Device is corrupt..." Problem sein?

Hört sich ziemlich danach an.
 
@wolder
Dachte ich auch schon dran, aber vermutlich eher nicht, da meines Wissens die Data-Partition nicht bei dem Integritäts-Check / dm-verity involviert ist.

Aber die Berichte von einigen hier im Forum bezüglich der Hänger im laufenden Betrieb könnten vielleicht damit in Verbindung stehen. Vor Jahren, als das automatische fstrim im Hintergrund bei Android zum Teil kaputt war, hatte es wohl vielen Geholfen, durch manuelles Anstoßen von fstrim die Geräte wieder zum flüssigen Laufen zu bringen, nachdem sie langsam wurden und Hänger hatten.
[doublepost=1559064220,1559062439][/doublepost]@BQSupport

Bitte dies dringend für das nächste Update an die Entwickler weiterleiten. Das muss korrigiert werden. Alles andere ist geplante Obsoleszenz.
Und noch den Tipp weitergeben: Nach dem Mergen von Kernel-Commits die Änderungen überfliegen und bewerten (so viele sind das meist nicht).
 
  • Danke
Reaktionen: Daniel1982, melnik, dacryptor und 3 andere
Wenn das in Lineage gefixt ist, würde ich SOFORT auf LOS wechseln. Egal, ob mein Phone noch Restgarantie hat.
Dann bekomme ich auch monatlich Sicherheitsupdates...

@BQSupport
Ich bitte um Rückmeldung hier in diesem Thread, ob bei BQ das Problem bekannt ist und wieviele Monate die User voraussichtlich auf eine Lösung warten müssen.
By the way: Wie sieht es bezügl. des zugesagten (!) Upgrade auf Android Pie aus?
 
Hallo zusammen,

leider war es uns hier noch nicht bekannt. Wir fragen aber bei den Technikern nach und melden uns
[doublepost=1559135900,1559135827][/doublepost]Zum Update für das Aquaris X/X Pro haben wir noch keine Rückmeldung, wie lange es noch dauert. Sobald der offizielle Termin steht, teilen wir die Info direkt mit euch hier und bei Facebook
 
leider war es uns hier noch nicht bekannt. Wir fragen aber bei den Technikern nach und melden uns

@BQSupport: Gibts hier schon etwas neues. Wird der commit beim nächsten Update reverted?
 
Falls es jemanden interessiert: LineageOS ist aktuell vom gleichen Fehler betroffen (da wir dieselben Änderungen in unseren Kernel mergen). Dieser wird auf unserer Seite aber demnächst behoben: https://review.lineageos.org/c/LineageOS/android_kernel_bq_msm8953/+/250516
[doublepost=1561533479,1561533442][/doublepost]Herzlichen Dank @homofaber fürs Reporten, das wäre uns ansonsten nicht aufgefallen.
 
  • Danke
Reaktionen: Daniel1982, olih, Quallenauge und 2 andere
homofaber schrieb:
Ich habe mir derweil damit beholfen, diesen Commit im Kernel rückgängig zu machen und einen selbst compilierten zu benutzen.

Das habe ich nach deinem Hinweise auch versucht, allerdings funktioniert das WLAN danach nicht mehr: es ist im Menü immer ausgeschaltet und lässt sich nicht einschalten. Ich hatte dieses Symptom schon mal wenn Kernel und System-Image von verschiedenen Firmware-Versionen gemischt werden, allerdings ist in diesem Falle beides Version 2.7.1.

Was ich getan habe: den Aquaris-X-Kernel von github heruntergeladen, nach dieser Anleitung bq/aquaris-X kompiliert, wobei ich von gcc den älteren release e54105c9f893a376232e0fc539c0e7c01c829b1e ausgecheckt habe weil der aktuelle aufgrund von deprecation-Warnungen nicht funktionierte. Anschließend mit abootimg (aus den ubuntu-repositories) die boot.img von bq mit dem selbstkompilierten Image.gz-dtb geupdatet und das ganze via TWRP geflasht.

Mir ist dann aufgefallen dass der selbstkompilierte Kernel kleiner ist als der aus der originalen boot.img, der Grund dafür ist: diese Datei besteht aus einem mit gzip gepackten Kernel sowie etlichen dtb-Dateien die mit cat aneinandergehängt wurden. In der selbstkompilierten Datei fehlte eine der dtb-Dateien sodass ich diese aus der originalen boot.img extrahiert und an meine eigene Kernel-Datei angehängt habe, das hat allerdings leider auch nichts gebracht. Ich habe noch versucht via fastboot anstelle von TWRP zu flashen, das ändert aber auch nichts am Problem.

@homofaber
Was mache ich falsch, bzw. was hast du anders gemacht, dass es bei dir funktioniert (wovon ich mal ausgehe)?
 
@QED
Du musst separat das WLAN-Modul compileren und mit ins Image packen.

bq/wlan_module_qcom
 
@homofaber Danke für die Info. Aber...
homofaber schrieb:
Du musst separat das WLAN-Modul compileren und mit ins Image packen.
... wie mache ich das? Wenn ich das WLAN-Modul wie in der Readme auf github angegeben kompiliere, bekomme ich im wesentlichen eine wlan.ko ohne dass sich das Image in KERNEL_OUT verändert.
Was muss ich mit dieser Datei tun, bzw. wie bringe ich die wlan.ko in das Kernel-Image rein? Oder gehört die ins initrd.img?
 
@QED

Sorry, ich hatte Unsinn geschrieben.
Das WLAN-Modul liegt unter

/system/vendor/lib/modules/pronto/

Du kopierst es am besten dorthin, wenn du in einer TWRP-Shell bist.


Ich baue mir für Kernel+Modul ein ZIP-File zum flashen mit dem template von AnyKernel. Das macht es einfacher.
[doublepost=1562268619,1562268477][/doublepost]Ach, achte dabei auf die permissions und ggf. den Security context wegen selinux. Anzeigen mit
ls -lZ
 
Ist das in Firmware 2.7.2 behoben?

@BQSupport
@homofaber

Ist Lineage mittlerweile fehlerfrei?
 
Wenn man so einen elementaren Bug nicht fixt, kann man da dann "geplante Obsoleszenz" riechen?
 
Zuletzt bearbeitet von einem Moderator:
Bearbeitet von: nik - Grund: unnötiges Zitat entfernt
  • Danke
Reaktionen: moidept und melnik
Stellt sich die Frage, wird es in Pie (Android 9) enthalten sein?
Gibt es da schon Erkenntnisse aus der Betatester-Gruppe?
 
  • Danke
Reaktionen: moidept
Welche Betatestergruppe für pi? Ich bin mir sicher das ein Aquaris x pro kein Pi, Android 9 erhält
 
  • Danke
Reaktionen: moidept und Mounti
Das vermute ich auch.Ich werde mal heute meinen Verkäufer kontaktieren ob die das als Rückgabegrund anerkennen.,also das mit dem trim.
 
  • Danke
Reaktionen: moidept
melnik schrieb:
Welche Betatestergruppe für pi? Ich bin mir sicher das ein Aquaris x pro kein Pi, Android 9 erhält
Android 9 Pie: Diese Smartphones bekommen das Update [Liste] - connect
Was ist neu bei Android 9 Pie?
Hier sagt der Kommentar 2 (BQ)
logo-BQSIMBOLO-RGB-100x100.jpg

BQ DE vor2 months
Hallo Markus,

das Update für das Aquaris X/X Pro ist bereits in Bearbeitung. Wann die anderen Geräte folgen, können wir an dieser Stelle noch nicht sagen. Sobald wir Neuigkeiten hierzu haben, teilen wir die Info mit euch über die üblichen Kommunikationskanäle :).
 
Genauso wenig relevant wie alle bisherigen Ankündigungen zu Pie. Entweder gibt es einen Zeitplan, wie üblich bei jedem Projekt, dann kann man den Updatetermin auch veröffentlichen, oder es gibt keinen, dann steht Pie in den Sternen. Das ebenso keine Aussage zum FSTRIM erfolgt, zeigt doch, das den Aussagen nicht unbedingt Glauben zu schenken ist
 
So,nun geht es zurück nach 1,2 Jahren und der volle Preis wird erstattet.
 
  • Danke
Reaktionen: moidept, ThommyS und XShocker22

Ähnliche Themen

RadHeiner
Antworten
6
Aufrufe
1.552
RadHeiner
RadHeiner
A
  • Android-N00b
Antworten
7
Aufrufe
1.544
Android-N00b
A
Z
  • zorro007
Antworten
6
Aufrufe
768
zorro007
Z
Zurück
Oben Unten