[[Vorlage(Getestet, trusty)]] [[Vorlage(Ausbaufähig,"Die Möglichkeiten der mtp-tools können noch detaillierter beschrieben werden. Außerdem könnte beschrieben werden, welche [:AudioPlayer:] direkt via MTP auf Smartphones/Tablets zugreifen können.")]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:sudo: Root-Rechte] }}} [[Inhaltsverzeichnis()]] [wikipedia:Media_Transfer_Protocol:MTP] (engl. Media Transfer Protocol) ist ein Protokoll, dass u.a. zur Datenübertragung zwischen einem Smartphone/Tablet und dem eigenen Rechner genutzt werden kann. Bei neueren Android-Systemen (4.1+) ist es die einzige Möglichkeit des Datenaustauschs mit dem internen Speicher - wenn man es via USB-Kabel verbindet. Ein Vorteil gegenüber der Nutzung des Geräts im früher üblichen Massenspeicher-Modus ist, dass Rechner und Gerät gleichzeitig auf die Dateien zugreifen können. Unter Ubuntu ist teilweise noch etwas Handarbeit nötig, um eine Verbindung einzurichten. Manche Smartphones und Tablets lassen sich auch wie ein normaler USB-Massenspeicher einbinden (bei Android bis 4.0). Die Möglichkeit hierzu ist üblicherweise in den entsprechenden Einstellungsmenüs des Geräts zu finden. In diesen Fällen wird MTP nicht benötigt. Bei manchen Geräten kann dann allerdings nur auf nachgerüstete Speicherkarten (microSD), aber nicht auf den internen Speicher zugegriffen werden. = Installation = Die meisten Geräten sollten mithilfe des folgenden Paketes aus den offiziellen Paketquellen automatisch erkannt werden [1]: {{{#!vorlage Paketinstallation mtpfs, universe }}} Um die Änderung anzuwenden, muss das Gerät erneut mit dem Rechner verbunden werden. {{{#!vorlage Hinweis Im Smartphone muss natürlich der MTP-Modus aktiviert sein, um eine Verbindung über dieses Protokoll aufzubauen. }}} == mtp-tools == mtp-tools bietet eine Sammlung von Kommandozeilenbefehlen, mit denen Geräte erkannt, Informationen über die Verbindung gesammelt und die MTP-Verbindung genutzt werden kann. Installiert wird es ebenfalls aus den offiziellen Paketquellen: {{{#!vorlage Paketinstallation mtp-tools, universe }}} = Problembehebung = == udev-Regel == Sollte das Gerät trotzdem noch nicht erkannt werden, kann man eine zusätzliche [:udev:udev-Regel] anlegen. Nachdem das Gerät angeschlossen wurde, gibt man im Terminal [2] folgenden Befehl ein, um die nötigen Informationen zu sammeln: {{{#!vorlage Befehl sudo mtp-detect }}} Die Ausgabe sollte in etwa so beginnen: {{{ Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6 Listing raw device(s) Device 0 ([mark]VID=1234 and PID=5678[/mark]) is UNKNOWN. Please report this VID/PID and the device model to the libmtp development team }}} Wichtig sind hierbei Vendor ID (VID) und Product ID (PID). Nun öffnet man mit Root-Rechten [3] die Datei '''/etc/udev/rules.d/69-libmtp.rules'''. Sollte die Datei noch nicht existieren, kopiert man sie sich einfach von '''/lib/udev/rules.d/69-libmtp.rules'''. Man fügt folgende Zeile mit angepasster VID und PID ein: {{{ ATTR{idVendor}=="[mark]1234[/mark]", ATTR{idProduct}=="[mark]5678[/mark]", SYMLINK+="libmtp-%k", MODE="660", GROUP="disk", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1" }}} Nachdem man das Gerät getrennt und erneut angeschlossen wurde, sollte es nun erkannt werden. In Einzelfällen muss das udev-Systems neu geartet werden, damit die udev-Regeln neu geladen werden: {{{#!vorlage Befehl sudo reload udev }}} == Änderungsdatum wird beim Verschieben neu gesetzt == Beim Verschieben von Dateien vom Smartphone mittels z.B. [:Nautilus:] wird das Änderungsdatum der Dateien auf den aktuellen Zeitstempel gesetzt. Dies kann bei Bilddateien mittels Programmen wie z.B. [:gThumb:] behoben werden, indem ''"Werkzeuge/Datum ändern... → Letztes Änderungsdatum"'' auf ''"Zeitpunkt der Aufnahme"'' gestellt wird. == In Nautilus werden keine Inhalte angezeigt == Nach dem Einhängen eines [wikipedia:Fairphone#Ger.C3.A4te:Fairphone 1] wurde in Nautilus nur ein leerer Ordner angezeigt. Abhilfe schaffte: Aushängen, den Bildschirm des Smartphones entsperren, neu Einhängen. == Nutzung mit Xfce/LXDE == Mit den Dateimanagern [:Thunar:]und [:PCManFM:] funktioniert der Zugriff auf ein angeschlossenes Gerät über `mtp://[usb:00X,00Y]/`, wobei `X` und `Y` für den jeweiligen Anschluss steht. Bei der Ermittlung der benötigten Werte für X und Y hilft der Befehl [:lsusb:] weiter. Beispielausgabe: {{{ Bus 001 Device 004: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-I9300 Phone [Galaxy S III], GT-P7500 [Galaxy Tab 10.1] Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub }}} Die gesuchten Werte lauten also X=1 und Y=4. == Kopieren von MTP- zu MTP-Gerät schlägt fehl == Das direkte Kopieren von Dateien von einem auf ein anderes MTP-Gerät schlägt in der Regel mit einer Fehlermeldung wie >"Fehler beim Kopieren von..." fehl, da dieses nicht unterstützt wird. Von daher muss man als Zwischenschritt die Dateien vom Quellgerät auf einen internen lokalen Datenträger kopieren und von dort dann wieder auf das Zielgerät. == Ubuntu 12.04 == Bei Ubuntu 12.04 muss [:gvfs-mount:] aus einer Fremdquelle aktualisiert werden (Quellen: [http://linuxundich.de/gnu-linux/gvfs-update-ermoglicht-unter-ubuntulinux-endlich-den-bequemen-zugriff-auf-android-gerate-via-mtp/ Linuxundich.de] {de} und [http://intr.overt.org/blog/ intr.overt.org] {en}). [[Vorlage(PPA, langdalepl/gvfs-mtp)]] Danach wird das Paket aus der Fremdquelle aktualisiert: {{{#!vorlage Befehl sudo apt-get dist-upgrade }}} = jmtpfs = [[Bild(android_cannot_mount.png, 400, align=right)]] Bei einigen Handys wie etwa das "Samsung Galaxy S3" wird zwar das Gerät durch '''mtpfs''' erkannt, man bekommt jedoch keinen Zugang. '''jmtpfs''' ist ein auf [:FUSE:] und libmtp basierendes Dateisystem für den Zugang zu den MTP-Geräten. Es war explizit für den Dateien-Austausch zwischen Linux (und Mac OS X) Systemen und neuen Android-Geräten entwickelt, die das MTP unterstützen aber nicht mehr USB Mass Storage. == Installation == {{{#!vorlage Paketinstallation jmtpfs, universe }}} == Benutzung == - Das Gerät mit dem Rechner verbinden und den Bildschirm entsperren.\\ - Wenn das Paket '''mtpfs''' installiert ist und das Gerät automatisch erkannt wird, muss das MTP-Dateisystem ausgehängt werden (im Dateimanager: rechter Mausklick - "Dateisystem aushängen").\\ - Einen Mount-Punkt im Home-Verzeichnis anlegen {{{#!vorlage Befehl mkdir ~/android }}} - Das Android-Gerät anhängen {{{#!vorlage Befehl jmtpfs ~/android }}} Es wird das erste verfügbare MTP-Gerät angehängt. Der Befehl {{{#!vorlage Befehl fusermount -u ~/android }}} hängt das Verzeichnis aus, in dem MTP-Android-Gerät eingebunden ist. Man soll darauf achten, dass vorher alle Dateioperationen erfolgreich beendet wurden, sonst droht ein Datenverlust. = Links = * [wikipedia:Media_Transfer_Protocol:MTP] * [archwiki:MTP:] {en} - Arch-Wiki * [http://www.webupd8.org/2013/01/upgrade-to-gvfs-with-mtp-support-in.html Upgrade To Gvfs With MTP Support In Ubuntu 12.10 Or 12.04 To Easily Connect Android 4.0+ Devices] {en} - Blogbeitrag, 01/2013 * [http://linuxundich.de/gnu-linux/gerate-mit-android-3-0-oder-4-0-via-mtp-in-ubuntu-linux-einbinden/ Geräte mit Android 3.0 oder 4.0 via MTP in Ubuntu Linux einbinden] {de} - Blogeintrag, 12/2011 * [:Ubuntu_Touch/Terminal#Kein-Geraet-gefunden:MTP mit Ubuntu Touch] - Ubuntu Phone für MTP einrichten (bei Ubuntu 12.04 nötig) #tag: Hardware, System, Multimedia, Android, Ubuntu Phone, Ubuntu Touch