Etiquetas

miércoles, 1 de enero de 2014

go-mtp para conectar smartphone android a Linux usando mtp

En los actuales smartphones basados en Android fue triste la decisión de abandonar el soporte como "almacenamiento masivo" para transferencia de archivos entre un pc y el móvil para reemplazarlo por mtp (Media Transfer Protocol), desarrollado originariamente por Microsoft.


Me llevó varias horas de trabajo. Compilar libmtp a la versión 1.1.6. Para hacerlo fácil, en Debian puede seguirse el procedimiento descripto en esta entrada de equiscentrico: http://www.equiscentrico.com.ar/2011/06/como-crear-paquetes-deb-partir-de.html sólo bastará reemplazar el nombre del paquete de ejemplo (era midori en aquel caso) por libmtp.

Después probé varias alternativas: kio-mtp, mtpfs... ambos compilados a sus versiones más recientes en los repositorios de fuentes de Sid. En un Samsung S2 el funcionamiento era estable, pero en un Samsung Trend (supongo que debe tener un Android algo más nuevo (?) no había caso.

go-mtp fue el camino

Conviene asegurarse que nuestro usuario pertenezca a los grupos "plugdev" y "fuse":

$ groups
retux dialout cdrom audio video plugdev fuse wireshark

Instalar go-mtp

En el gitHub del proyecto se puede bajar el paquete https://github.com/hanwen/go-mtpfs y como indica la documentación, la compilación del programa es sencilla:

1) Instalación de go-mtp:

# apt-get install golang-go
# apt-get install libusb-1.0-0-dev

$ mkdir /tmp/go
$ export GOPATH=/tmp/go
$ go get github.com/hanwen/go-mtpfs

En el directorio /tmp/go/bin/go-mtpfs tendremos el binario.

Podemos copiarlo a un directorio permanente:

# cp /tmp/go/bin/go-mtpfs /usr/local/bin



2) Usando go-mtp

2.1) Creamos un directorio como punto de montaje

# mkdir /media/samsung
# chown retux /media/samsung

Obviamente, reemplazando "retux" por el nombre de usuario que corresponda.

La magia de go-mtp (conectando el teléfono al usb previamente, claro):

$ go-mtp /media/samsung &
2014/01/01 15:35:00 starting FUSE.

Véase el mensage que indica el inicio de FUSE. Si aparece, ya tendremos accesible el sistema de archivos del teléfono vía mtp:

$ ls /media/samsung/Phone/
Alarms data-app gameloft GoLocker_in GOWeatherEX Music Podcasts TalkingFriends
Android DCIM GOLauncherEX GoStore media Notifications Pou WhatsApp
AppGame Download golocker GoTheme Movies Pictures Ringtones

Una vez que lo hayamos usado, solo basta desmontarlo:

$ fusermount -u /media/samsung
Continuar »