[[Vorlage(Getestet, bionic)]] [[Vorlage(Ausbaufähig,"Die Möglichkeiten der mtp-tools können noch detaillierter beschrieben werden.")]] {{{#!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, das u.a. zur Datenübertragung zwischen einem Smartphone oder Tablet (und auch einigen Digitalkameras) und dem eigenen Rechner genutzt werden kann. Bei neueren Android-Systemen (4.1+) ist es eine Möglichkeit des Datenaustauschs mit dem internen Speicher - wenn man es via USB-Kabel verbindet. Vorteile gegenüber dem früher üblichen Massenspeicher-Modus sind, dass Rechner und Gerät gleichzeitig auf die Dateien zugreifen können und dass Dateisystem-Inkonstistenzen auf dem Mobilgerät nicht auftreten, auch wenn man das Gerät spontan vom Kabel abzieht. Unter Ubuntu ist mitunter aber noch etwas Handarbeit nötig, um eine MTP-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äte sollten mithilfe des folgenden Paketes aus den offiziellen Paketquellen automatisch erkannt werden [1]: {{{#!vorlage Paketinstallation mtpfs, universe, bis [:16.04:] }}} Um die Änderung anzuwenden, muss das Gerät erneut mit dem Rechner verbunden werden. {{{#!vorlage Hinweis Im Gerät 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 worden ist, gibt man im Terminal [2] folgenden Befehl (aus [:MTP#mtp-tools:mtp-tools]) ein, um die nötigen Informationen zu sammeln: {{{#!vorlage Befehl sudo mtp-detect }}} Die Ausgabe sollte ungefähr so beginnen: {{{ Listing raw device(s) Device 0 VID=1234 and PID=5678) 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 von '''/lib/udev/rules.d/69-libmtp.rules'''. Man fügt folgende Zeile mit angepasster VID und PID ein: {{{ ATTR{idVendor}=="1234", ATTR{idProduct}=="5678", SYMLINK+="libmtp-%k", MODE="660", GROUP="disk", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1" }}} Nachdem das Gerät getrennt und erneut angeschlossen worden ist, sollte es erkannt werden. In Einzelfällen muss das udev-System neu gestartet werden, damit die udev-Regeln neu geladen werden: {{{#!vorlage Befehl sudo reload udev }}} Für Maschinen mit dem systemd: {{{#!vorlage Befehl sudo systemctl restart 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. Es existiert ein Python-Skript [6], mit dem aus den exif-Informationen der Originaländerungszeitpunkt gesetzt werden kann. Dazu muss folgendes Paket installiert werden: {{{#!vorlage Paketinstallation python-exif }}} Eine gute Alternative ist [:JHead:]. == 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 schafft das Aushängen, den Bildschirm des Smartphones zu entsperren und dann neu einzuhä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. {{{#!vorlage Hinweis Mit dem Dateimanager `PCManFM` können Video-Dateien im *.mp4–Format mit [:VLC:] nicht wiedergegeben werden. VLC kann die Medienadresse 'mtp://[usb:00X,00Y] ...' nicht öffnen. Getestet mit einem Smartphone mit Android-Systemen (4.1+) via USB-Kabel. }}} == 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. = jmtpfs = [[Bild(android_cannot_mount.png, 400, align=right)]] Bei einigen Mobilgeräten, wie etwa dem "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 Dateiaustausch zwischen Linux- (und macOS-) 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: [[Vorlage(Tasten, rmt)]] Mausklick - ''"Dateisystem aushängen"''). * Einen Einhängepunkt (''"mount point"'') 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 eingehängt. Der Befehl {{{#!vorlage Befehl fusermount -u ~/android }}} hängt das Verzeichnis aus, in dem das MTP-Android-Gerät eingebunden ist. Man soll darauf achten, dass vorher alle Dateioperationen erfolgreich beendet wurden, sonst droht Datenverlust. Im Gegensatz zum "mass storage"-Modus braucht man jedoch kein inkonsistentes Dateiystem zu befürchten, da alle Zugriffe auf Datei- und nicht Sektor-Ebene durchgeführt werden. = AudioPlayer, die direkt via MTP auf Mobilgeräte zugreifen können= {{{#!vorlage Tabelle <-3 tablestyle="width: 61%;" rowclass="titel"> Player via USB +++ Name Derivat Netzmanager +++ [[Bild(lxmusic_logo.png, 32)]] [:AudioPlayer:] Lubuntu Thunar +++ [[Bild(rythmbox_logo.png, 32)]] [:Rhythmbox:] Ubuntu Nautilus }}} = 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) * [https://gist.github.com/gthieleb/0c9fc781f78a90815789399c27c52803 exif2date.py] {en} #tag: Hardware, System, Multimedia, Android, Ubuntu Phone, Ubuntu Touch