Wie bringe ich meinen Linux-PC dazu, mein Android 4.2.2-Telefon mit MTP zu mounten?

Ich habe gerade ein neues TCL (S950) Idol x-Telefon gekauft und finde ein Problem, um es auf meinem System sichtbar zu machen.

Dieses Telefon verwendet Android 4.2.2 und ich denke, dies ist die Ursache des Problems: Mein vorheriges Telefon mit Android 4.1 wurde korrekt in Nautilus/Dolphin ( using mtpfs) angezeigt.

Jetzt habe ich versucht zu installieren mtp-tools, aber es hat sich nichts geändert.

lsusbgibt mir diese Liste (T & A Mobile Phones sollte mein Telefon sein)

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 1bbb:0168 T & A Mobile Phones 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1bcf:2b80 Sunplus Innovation Technology Inc. 
Bus 002 Device 003: ID 8086:0189 Intel Corp. 

dmesggibt mir diese Ausgabe:

[15780.855333] usb 3-2: new high-speed USB device number 2 using xhci_hcd
[15780.874336] usb 3-2: New USB device found, idVendor=1bbb, idProduct=0168
[15780.874348] usb 3-2: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[15780.874354] usb 3-2: Product: TCL S950
[15780.874359] usb 3-2: Manufacturer: TCT
[15780.874364] usb 3-2: SerialNumber: FESKMRSOYLW8RKSK

Irgendeine Idee, was hier falsch sein könnte?

UPDATE: Ich habe udev ( ) die folgenden Regeln hinzugefügt /etc/udev/rules.d/11-android.rules und jetzt funktioniert es zumindest adb shelleinwandfrei:

## TLC
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1bbb", ATTRS{idProduct}==”0167″, MODE="0777", OWNER="fra"

(Ändere den OWNERBenutzernamen mit deinem)

Ihr Gerät scheint gut erkannt zu werden. Ich habe nie mit MTP gespielt, aber vielleicht müssen Sie das Gerät dem System auf ähnliche Weise wie für adb bekannt machen ? Bitte konsultieren Sie zuerst Wie montiere ich einen Kindle Fire 10.2.6 auf meinem Linux-Computer? (obwohl es sich um einen Kindle handelt, sollte der MTP-Teil derselbe sein;)
mtpfsgibt mir tatsächlich diese Ausgabe:No raw devices found.
Ich habe auch github.com/hanwen/go-mtpfs ausprobiert , aber es ist auch beschwerlichno MTP devices found
Das mag offensichtlich klingen, aber haben Sie das USB-Debugging auf Ihrem Telefon aktiviert?

Antworten (4)

Ich habe ein Tutorial geschrieben, wie man MTP-Geräte unter Ubuntu erkennt . Wenn Sie mtptools bereits installiert und die udev-Regel hinzugefügt haben, müssen Sie noch einen statischen Einhängepunkt für Ihr Gerät erstellen und mtp mitteilen, dass es sich dort befindet. Stellen Sie sicher, dass Sie entweder Ihren Computer oder den udev-Dienst neu gestartet haben, seit Sie die udev-Regel hinzugefügt haben (sudo service udev restart), und dann

  1. sudo mkdir /media/MTPdevice (das Verzeichnis beliebig nennen)
  2. sudo chmod 775 /media/MTPdevice
  3. sudo mtpfs -o allow_other /media/MTPdevice

Schließen Sie Ihr Telefon an (stellen Sie sicher, dass es entsperrt ist, wenn Sie ein Pin- oder Wischmuster haben). Sie sollten dann sowohl die internen als auch die externen Karten sehen können. Beachten Sie, dass Sie Dateien nicht direkt von den Karten öffnen können, Sie müssen sie zuerst lokal kopieren.

das funktioniert gut ... wie ich sehen kann, gibt es 2 Probleme: 1. das Gerät ist nicht int libmtfs list (ich habe einen Fehler gemeldet) 2. ich muss sudo verwenden. Allerdings kann ich das Gerät in Natilus/Dolphin immer noch nicht sehen und alles ist ziemlich nicht stabil
Ich bin mir nicht sicher, ob ich Ihrem Kommentar folge - warum ist die Verwendung von sudo ein Problem? Ohne sie können Sie keine Verwaltungsarbeiten an einem System erledigen.
mmm, vielleicht hast du recht, aber mit dem anderen telefon (sony experia j) stecke ich einfach das telefon ein und ich kann es auf nautilus/dolphin sehen (es ist auch mtp)
Sie suchen also nicht wirklich nach einer Antwort, Sie wollen sich nur darüber beschweren, dass es mit einem Ihrer Telefone nicht funktioniert???
Ich möchte nur so viele genaue Informationen wie möglich sammeln, damit andere Leute mit demselben Problem von einem guten Punkt aus beginnen können ... Ich "beschwere" mich nicht, ich frage mich, warum es nicht wie erwartet funktioniert. Ich vermute, dass dies damit zusammenhängt, dass das Gerät nicht in der libmtpfs-Liste steht (unter Windows funktioniert es sofort, also möchte ich wirklich, dass dies auch unter Linux passiert).

Wie von @Logos vorgeschlagen, funktioniert dies (achten Sie auf die Verwendung von sudo):

sudo mtpfs -o allow_other /media/MTPdevice

Auf mtpfsdiesem Telefon ist es jedoch sehr instabil, also habe ich es versucht go-mtpfsund herausgefunden, dass es besser funktioniert. go-mtpfsSie können mit den auf ihrer Website bereitgestellten Informationen installieren

Der Befehl zum Mounten des Telefons ist sehr ähnlich (ändern Sie den Bin-Pfad entsprechend Ihrem eigenen):

sudo /usr/lib/go/bin/go-mtpfs /media/MTPdevice/

Automount
Sobald Sie in der Lage sind, das Gerät mit dem obigen Befehl zu mounten, können Sie das Telefon automatisch mounten lassen: Sie müssen nur ein paar Regeln zu udev hinzufügen.

Sie benötigen diese Informationen:

  • ID_MODEL (meins ist TCL_S950 )
  • ID_MODEL_ID (meins ist 0167 )
  • Installationspfad von go-mtpfs ( meiner ist /usr/lib/go/bin/go-mtpfs )

Sie können diese Informationen finden, indem Sie diesen Befehl in einem Terminal udevadm monitor --environment --udevausführen und Ihr Telefon anschließen/trennen.

Jetzt können Sie eine udev-Regel erstellen/bearbeiten /etc/udev/rules.d/99-android.rulesund diese Zeilen hinzufügen (ändern Sie ID_MODEL und ID_MODEL_ID mit Ihren):

 # Mount  
ENV{ID_MODEL}=="TCL_S950", ENV{ID_MODEL_ID}=="0167", ACTION=="add", RUN+="/usr/bin/sudo -b  /usr/lib/go/bin/go-mtpfs -allow-other=true /media/MTPdevice"
# Umount 
ENV{ID_MODEL}=="TCL_S950", ENV{ID_MODEL_ID}=="0167", ACTION=="remove", RUN+="/bin/umount /media/MTPdevice"

An diesem Punkt sollte alles funktionieren, siehe diesen Thread für weitere Details: Quelle

Aus Neugier, was war das instabile Verhalten?
Komisch. Mein Computer (Linux Mint 15, MATE) wird ohne diese zusätzlichen Regeln automatisch gemountet und unmountet.

Angenommen, Sie verwenden eine auf Ubuntu 12.04 oder 12.10 basierende Distribution (v13 und höher unterstützen dies nativ) und diese gvfs-mtpist bereits installiert:

  1. Fügen Sie das Backport-Repository für die MTP-Unterstützung in GVFS hinzu:

    sudo add-apt-repository ppa:langdalepl/gvfs-mtp
    sudo apt-get update
    
  2. Aktualisieren Sie das System, Sie sollten viele gvfs-Pakete in der Liste sehen:

    sudo apt-get upgrade
    
  3. Neustart.

Quelle: http://blog.sukria.net/2013/03/09/support-for-nexus-4-in-ubuntu-12-10/

Tatsächlich ist es am einfachsten, /usr/lib/udev/rules.d/69-libmtp.rules zu ändern und Ihre Produkt-ID hinzuzufügen, da diese wahrscheinlich bereits Ihre Hersteller-ID enthält. Erstellen Sie also eine neue Zeile für Ihr Gerät mit Ihrer VID und PID, udev neu starten und es funktioniert!