Linux kann das Android-Gerät nicht im USB-MSC-Modus mounten

Ich möchte mein Sony Xperia ST21i (Android 4.0.4) unter Linux (Debian) per USB mounten. Allerdings bekomme ich diesen Fehler:

# mount /dev/sdb /mnt
mount: no medium found on /dev/sdb

Was ich bisher gemacht habe:

Auf der Telefonseite: Einstellungen > Xperia > Konnektivität > USB-Verbindungsmodus: Stellen Sie den Massenspeichermodus (MSC) anstelle des standardmäßigen Medienübertragungsmodus (MTP) ein.

Auf der PC-Seite: dmesg ergibt

[...] usb 2-1.3: USB disconnect, device number 12
[...] usb 2-1.3: new high-speed USB device number 13 using ehci-pci
[...] usb 2-1.3: New USB device found, idVendor=0fce, idProduct=e170
[...] usb 2-1.3: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[...] usb 2-1.3: Product: Android
[...] usb 2-1.3: Manufacturer: Android
[...] usb 2-1.3: SerialNumber: **********
[...] scsi14 : usb-storage 2-1.3:1.0
[...] scsi 14:0:0:0: Direct-Access     SONY     Mass storage     0000 PQ: 0 ANSI: 2
[...] sd 14:0:0:0: Attached scsi generic sg2 type 0
[...] sd 14:0:0:0: [sdb] Attached SCSI removable disk

Zum Vergleich: Beim Einhängen eines billigen Speichersticks gibt dmesg nach

[...] usb 2-1.3: USB disconnect, device number 13
[...] usb 2-1.6: new high-speed USB device number 14 using ehci-pci
[...] usb 2-1.6: New USB device found, idVendor=1307, idProduct=0165
[...] usb 2-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[...] usb 2-1.6: Product: USB Mass Storage Device
[...] usb 2-1.6: Manufacturer: P Technology
[...] usb 2-1.6: SerialNumber: 00000000000280
[...] scsi15 : usb-storage 2-1.6:1.0
[...] scsi 15:0:0:0: Direct-Access     UT165    USB Flash Disk   0.00 PQ: 0 ANSI: 2
[...] sd 15:0:0:0: Attached scsi generic sg2 type 0
[...] sd 15:0:0:0: [sdb] 3948544 512-byte logical blocks: (2.02 GB/1.88 GiB)
[...] sd 15:0:0:0: [sdb] Write Protect is off
[...] sd 15:0:0:0: [sdb] Mode Sense: 00 00 00 00
[...] sd 15:0:0:0: [sdb] Asking for cache data failed
[...] sd 15:0:0:0: [sdb] Assuming drive cache: write through
[...] sd 15:0:0:0: [sdb] Asking for cache data failed
[...] sd 15:0:0:0: [sdb] Assuming drive cache: write through
[...]  sdb:
[...] sd 15:0:0:0: [sdb] Asking for cache data failed
[...] sd 15:0:0:0: [sdb] Assuming drive cache: write through
[...] sd 15:0:0:0: [sdb] Attached SCSI removable disk

Einige Zeilen mehr - ist das von Bedeutung? Bedeutet dies, dass ich mein Telefon anders konfigurieren muss, bevor ich hoffen kann, es zu mounten?

Den Ratschlägen in einigen verwandten Threads folgend, habe ich eine udev-Regel erstellt,

# cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="0fce", MODE="0666"

aber das hatte keine Wirkung.

Das sieht eher nach einem Linux-Problem aus. Haben Sie unter Unix & Linux oder Super User nachgesehen ?
Das Anbringen eines USB-Speichersticks ist kein Problem. Beim Anschließen des Android-Geräts fehlen einige relevante Zeilen in der dmesg-Ausgabe. Daher neige ich dazu, dies als ein Android-Problem zu betrachten.

Antworten (4)

Dies passiert häufig, wenn Sie versuchen, eine Festplatte zu mounten, obwohl Sie eine Partition auf dieser Festplatte mounten sollten. Verwenden Sie ls /dev/sdb*, um zu sehen, ob Partitionen (z. B. /dev/sdb1) auf der Festplatte vorhanden sind, und mounten Sie diese dann, anstatt zu versuchen, die gesamte Festplatte zu mounten.

ls /dev/sdb*ergibt nur /dev/sdb, also ist das leider nicht die Lösung
Ich stimme dieser Antwort zu. Ich hatte das gleiche Problem. 'lsusb' zeigte Telefon. 'ls /dev/sdb*' zeigte sdb und sdb1. Telefon ist auf USB-Massenspeicher eingestellt - auch Android-Debugging aktiviert. Aber es wurde nicht automatisch gemountet. Das Erstellen des Einhängepunkts ‚sudo mkdir /media/sonyxperia‘ und des Mounts ‚sudo mount /dev/sdb1 /media/sonyxperia‘ hat funktioniert.

Alles, was mir auf der Android-Seite (Aktivierung von UMS) eingefallen ist, haben Sie bereits getan. Aber Android-Geräte stellen möglicherweise nicht ihren gesamten Speicher über UMS bereit. Normalerweise können Sie auf diese Weise nur auf die externen und internen SD-Karten zugreifen .

Für alles andere sollten Sie sich adbfs (siehe auch XDA ) und mc-exfs-adb (das ich leicht modifiziert habe, um besser auf meinem Linux-System zu funktionieren; diese Version finden Sie hier ) ansehen. Beide Varianten setzen voraus, dass Sie mindestens eine minimale ADB-Installation auf Ihrem Computer haben (siehe: Gibt es eine minimale ADB-Installation? ).

Ich habe beides ausprobiert und bevorzuge adbfs-rootless. Klappt wunderbar. Wenn Ihr Gerät gerootet ist, können Sie dies mit adbd insecure von Chainfire kombinieren, um vollen Zugriff auf das gesamte Dateisystem zu erhalten.

Diese Frage wurde von @derobert unter https://unix.stackexchange.com/q/90069/46841 beantwortet : Der MSC-Modus funktioniert nur für den Zugriff auf eine Speicherkarte, die ich nicht habe; Für den Zugriff auf das telefoneigene Dateisystem benötige ich einen anderen Zugriffsmodus.

Stimme Joachim zu...

Um auf den internen Speicher des Telefons zuzugreifen, müssen Sie libmtp und mtpfs für Ihre Linux-Distribution installieren. So etwas wie :

sudo mtpfs -o allow_other /mnt

... sollte helfen.

Gute Diskussion hier: http://forum.xda-developers.com/showthread.php?t=1720464