CM11 - sdcard0 via CWM formatiert, Zugriff nicht mehr möglich

J

jan2ooo

Neues Mitglied
2
Aloa.

Nachdem ich mit dem OmniROM diverse Probleme hatte (Boot-Loop beim Laden eines ausgeschalteten Gerätes, Abbruch der mobilen Verbindung), habe ich heute auf CM11 gewechselt. Nach dem ersten Boot war auch alles topp, allerdings habe ich mich dann entschlossen den Müll auf meinen zwei SD Karten zu löschen (fest verbauter sdcard0 Speicher und die austauschbare sdcard1 Karte). Das habe ich via CWM gemacht.
Nun habe ich weder via PC-USB noch auf dem Telefon direkt Zugriff auf die sdcard0, als den fest verbauten Speicher :unsure:
Das führt z.B. dazu, dass die Kamera-App nicht mehr geht, also nach dem Start sofort wieder geschlossen wird. Das "Löschen" via Android hilft nicht. Der Wechsel zu einem ROM mit TWRP (NeoWave) hat auch keine Besserung gebracht, wenn ich den Speicher via TWRP löschen will, bekomme ich eine Fehlermeldung.
Kann ich den Speicher irgendwie wieder "reparieren"? Ich bin leider mit meinem Latain am Ende...
Es wäre dank der zusätzlichen SD Karte alles nicht so schlimm, um den Speicher bin ich nicht traurig, aber die Kamera-App startet wie geschrieben erst gar nicht. Das ist dann doch nicht so cool.

Hat jemand eine Idee, was ich noch machen kann?

Vielen Dank!
 
Und gefixt. Zurück zum Stock-ROM hat geholfen, einen anderen Weg scheint es wohl nicht zu geben.
Aber nun läuft es auch wieder mit CM11.
 
Schwer zu sagen worauf es zurückzuführen ist.

Formating SDCard0 ! | Sony Xperia T, TL, TX, V | XDA Forums

Ich bin mir nicht sicher ob die Formatierung fehlerhaft ist, oder die Zugriffsrechte nicht passen. Eine Formatierung (da es die interne, fest verbaute "sdcard0" war) ist nur via Telefon möglich, doch da haben alle getesteten Tools versagt.
 
Hast es mal direkt auf dem Gerät probiert? Je nachdem welches Dateisystem du möchtest sollte es via terminal beispielsweise mittels:

$ su
# /system/bin/make_ext4fs /dev/block/platform/msm_sdcc.1/by-name/SDCard

Hab's aber selbst nicht ausprobiert da ich meine Karte nicht formatieren will, daher keine Gewähr. Allerdings ist dieses Device bei mir eingegängt als

/mnt/int_storage

Aber so wie es aussieht gibt es in der Stock-ROM einen Link und zwar

/mnt/sdcard -> /storage/sdcard0

Es wäre evtl. hilfreich, wenn du deine Ausgabe von "mount" hier posten könntest. Vielleicht fehlt dir im Dateisystem auch nur ein Link. Poste bitte aus die Ausgabe der folgenden Befehle:

$ ls -l /mnt
$ ls -l /storage

Du kannst die Sachen beispielsweise mit folgender Terminal-App abschicken:

https://f-droid.org/repository/browse/?fdfilter=terminal&fdid=jackpal.androidterm
 
Ich habe jetzt auch CM11, und hätte ich mich bloß an diesen Thread erinnert. Ich hatte nun leider genau das gleiche Problem wie hier beschrieben. So wie es aussieht, möchte Android die interne SD-Karten-Partition (sdcard0) gerne als vfat formatiert haben. Das kann mit folgendem Befehl ermittelt werden:

Code:
mount|grep sdcard0

Hier der Auszug von einem funktionstüchtigen, mit Kitkat laufenden Gerät:

Code:
/dev/block/vold/179:3 /mnt/media_rw/sdcard0 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/fuse /storage/sdcard0 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0

Auf dem Xperia sieht die Sache dagegen so aus (CWM formatiert die Partition halt mit ext4):

Code:
/dev/block/vold/179:15 /mnt/media_rw/sdcard0 ext4 rw,dirsync,context=u:object_r:sdcard_external:s0,nosuid,nodev,noexec,noatime,data=ordered 0 0
/dev/fuse /storage/sdcard0 fuse rw,nosuid,nodev,relatime,user_id=2800,group_id=2800,default_permissions,allow_other 0 0

Der Trick besteht also darin, die SD-Karte "einfach" mit FAT zu formatieren. Da der Befehl mkfs.vfat in Busybox leider fehlerhaft ist (siehe dazu external sd - Format SD card after playing with fdisk (No card reader) - Android Enthusiasts Stack Exchange) kann man entweder wie dort beschrieben eine andere Binary reinkopieren, oder man benutzt einfach mkfs.exfat für die Formatierung (was eigentlich kein Fat32 sondern exfat erzeugt). Folgende drei Befehle (als root) haben bei mir geholfen:

ACHTUNG: bitte den Partitionsnamen (/dev/block/vold/179:15) im nachfolgenden Code nicht einfach blind eingeben, er muss mit der Ausgabe oben übereinstimmen sonst formatiert ihr womöglich eine andere Partition was zu einem Brick führen kann!

Code:
umount /storage/sdcard0
umount /mnt/media_rw/sdcard0
mkfs.exfat /dev/block/vold/179:15

Danach ist die Karte exfat formatiert. Wenn man sie nun mittels des Menüs löscht (Speicher -> Speicherkarte löschen) wird sie wieder sauber eingebunden und die Kamera startet einwandfrei. Ausgabe des mount-Befehls sieht jetzt wie folgt aus:

Code:
/dev/block/vold/179:15 /mnt/media_rw/sdcard0 fuseblk rw,dirsync,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
/dev/fuse /storage/sdcard0 fuse rw,nosuid,nodev,relatime,user_id=2800,group_id=2800,default_permissions,allow_other 0 0

Also fuseblk statt vfat - scheint aber trotzdem zu gehen (auch nach einem Neustart).

Geht also auch ohne den Umweg über Stock. :)
 
  • Danke
Reaktionen: jan2ooo
Es liegt anscheinend nicht an dem ext4 Filesystem, sondern an den falschen Berechtigungen bzw. ids der Partitionen. (Was ich leidlich nach 14h googlen und unzählige male hin und her flashen und testen merken durfte)

Selbst als ich es als vfat formatiert hatte (mit busybox von dem xda thread) konnte ich selbst nach einer sauberen Installation nicht darauf zugreifen, Kamera ging immer noch nicht, ich konnte nicht vom Rechner per USB sauber auf den Speicher zugreifen, Downloads in den Browsern gingen nicht usw.

Die Lösung von Defier ging glaube ich (als ich die mal getestet hatte), aber ich wollte das "richtige" Dateisystem habe und keine "Notlösung". Ich vermute inzwischen, dass die Lösung von Defier funktioniert, da er exFAT - Wikipedia, the free encyclopedia benutzt und da es von MS ist, sich der Kernel (oder was auch immer im Androidsystem) die Zugriffsrechte ignoriert und deshalb schreibend auf sdcard0 zugreifen kann.

Ich habe post 2 aus dem Thread Cm11, "sdcard Not Found" And Other Storage-Related Issues - Sony Xperia V Release - CyanogenMod Forum benutzt. Es scheint, dass es bei CM12 ein ähnliches Problem gibt und bei CM11 steckt wohl der gleiche Bug drin.

Code:
su

busybox chown 2800:2800 /mnt/media_rw/sdcard0

Das heist erstmal im Terminal (oder via adb shell) mit
Code:
su
Root-Rechte anfordern, diese bestätigen,
und dann
Code:
busybox chown 2800:2800 /mnt/media_rw/sdcard0
eingeben.

Wie in dem verlinkten Thread (Post 1) zu sehen, "streut" das Problem in sehr viel rein, daher denke ich, dass diese "saubere" Lösung am besten ist, da es das grundlegende Problem der Zugriffsrechte löst.

Ich konnte so alle Partitionen bis auf /boot (sonst wäre auch das Recovery futsch) in CWM formatieren, bevor ich CM11+GAPPS sauber neu geflasht habe. Nach dem ersten Boot und Ersteinrichtung (die beim allerersten Boot kommt bis man auf dem Homescreen ist) habe ich die Befehle weiter oben eingegeben, einmal einen Reboot gemacht, und das Problem war gelöst. Alles lief sauber und smooth :) Ich denke, alles in CWM formatieren (OHNE /boot) + saubere Neuinstallation + FIX der Zugriffsreche, ist denke ich mal die beste Lösung.

Was auch geht, so habe ich es nachher gemacht, erst ein nandroid backup machen, dann wie oben beschrieben bis auf /boot alles formatieren, und dann das backup auf das neu formatierte phone wieder einspielen. So muss man nicht alle Einstellungen etc. neu machen. Ohne Gewähr, aber bei mir hat es funktioniert.

Nachtrag: Siehe auch Himbeerrotes Linux: Raspberry Pi (Raspbmc): Dateisystem Benchmark (exFAT, NTFS, ext4, btrfs) scheint es zusätzlich noch so zu sein, dass ext4 auch schneller beim lesen und schreiben ist als exfat unter einem Linux-System. Ob es noch weitere Einflüsse gibt weiß ich nicht, aber nach all meinen Versuchen ist wie beschrieben (formatieren -> alles sauber neu machen -> und FIX) die beste Lösung um ein sauber konfiguriertes System zu haben.

Nachtrag 2: Wer von dem Stock-ROM kommt, noch nicht den Bootloader unlocked hat, und das erste mal ein Custom-ROM installieren will kann die Anleitung unter How to Install CyanogenMod on the Sony Xperia V ("tsubasa") – CyanogenMod benutzen. Ich habe mich erstmal für CM11 Snapshot M12 entschieden, um was stabiles zu haben. Des Weiteren habe ich den FIX unter CM12 noch nicht getestet. Da sollte aber der offizielle XDA Thread [ROM][V][L][5.0.2] CyanogenMod 12 official n… | Sony Xperia T, TL, TX, V | XDA Forums ein guter Anlaufpunkt sein.

Ich sehe gerade, wo ich den Nachtrag hier schreibe, dass in dem Thread unter
ATTENTION:
To be able to use your internal sdcard, you have to extract and run the following script (windows only) after your device has fully booted:

Das angebotene .zip die gleiche Lösung enthält wie ich hier manuell übers terminal vorgeschlagen habe :D Das heist, wer nicht mit dem terminal arbeiten will, nimmt einfach den "fix_storage_permissions.zip - 510.47 KB" aus dem XDA CM12 Thread und kann damit das Problem lösen ;) Noch einfacher geht es nun wirklich nicht mehr.

Anmerkungen und Anregungen sind gerne willkommen.

Ich hoffe das hier hilft noch dem einen oder anderen und erspart eine stundenlange Suche...
 
Zuletzt bearbeitet:

Ähnliche Themen

L
Antworten
15
Aufrufe
1.424
snoopy-1
snoopy-1
F
Antworten
3
Aufrufe
1.749
Aaskereija
Aaskereija
F
Antworten
3
Aufrufe
1.662
foren
F
Zurück
Oben Unten