Zum Inhalt springen

MTP

Aus wiki.archlinux.de

Das Media Transfer Protocol ist ein Dateiübertragungsprotokoll das primär dazu verwendet wird, um lokal Dateien zwischen MTP-fähigen Endgeräten (Mediaplayer, Smartphone, etc.) und dem Computer zu übertragen.

Installation

Das Programm ist als libmtp in extra verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S libmtp

Um angeschlosene Geräte zu finden, wird mpt-detect verwendet. Zum verbinden eines Geräts benutzt man dann mpt-connect. Es gibt diverse weitere Befehle mit dem Präfix mtp-, um ein verbundenes Gerät direkt zu verwalten.

Benutzung in Mediaplayern

Ein MTP-Gerät kann auch auch in Mediaplayern wie Amarok benutzt werden. Dafür muss folgende Datei editiert werden "/etc/udev/rules.d/51-android.rules" (Beispiel Gerät ist ein Samsung Galaxy Nexus).

Sollte sie nicht vorhanden sein muss android-udev installiert werden.

Um die Vendor und ProduktID heraus zu finden:

$ lsusb

Es sollte eine Zeile ähnlich wie folgt aussehend zu finden sein:

Bus 003 Device 011: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-P7500 [Galaxy Tab 10.1]

In diesem Fall wäre der Eintrag folgender:

SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0666"

Danach die udev Regeln neu laden:

# udevadm control --reload

Hinweis: Nach dem installieren von MTP könnte ein Neustart nötig sein, damit das Gerät richtig erkannt wird

mtpfs

MTPFS ist ein Dateisystem, das erlaubt Dateien auf das Gerät zu schreiben und davon zu lesen. Es wird wie ein externes Gerät eingehängt. Es ist im Extra-Repositorium verfügbar. Zuerst muss /etc/fuse.conf geändert werden, und folgende Zeile einkommentiert werden:

user_allow_other

Zum Mounten des Gerätes:

# mtpfs -o allow_other /media/DEINMOUNTPUNKT

Zum Unmounten des Gerätes:

$ umount /media/DEINMOUNTPUNKT

Zum leichteren ausführen dieser Befehle können sie z.B. in die bashrc eingefügt werden:

alias android-connect="mtpfs -o allow_other /media/DEINMOUNTPUNKT"
alias android-disconnect="sudo umount /media/DEINMOUNTPUNKT"

go-mtpfs

Falls die obere Methode keine Erfolge zeigt, sollte go-mtpfs-git aus dem AUR ausprobiert werden. Folgende Prozedur wurde mit einem Samsung Galaxy Nexus getestet.

Wie in dem oberen Abschnitt wird android-udev installiert, welches /etc/udev/rules.d/51-android.rules zum editieren bereit stellt. Dies muss wieder auf Vendor und ProductID angepasst werden. Zum Ende der Zeile wird mit einem Komma getrennt OWNER="username" angehängt.

Der User muss zur fuse-Gruppe hinzugefügt werden

gpasswd -a username fuse

Falls die Gruppe fuse noch nicht existiert wird sie erzeugt:

groupadd fuse

Der User sollte einmal ab- und wiede rangemeldet werden um die Änderungen zu übernehmen.

Um den Mount-Punkt Android zu erstellen und das MTP-Gerät dort zu mounten:

mkdir Android
go-mtpfs Android

Zum Unmounten des Gerätes:

fusermount -u Android

Auch die Befehle können z.B. in der .bashrc hinterlegt werden um das mounten und aushängen zu erleichtern.