Acceder a su teléfono Android desde su PC con jmtpfs (MTP)

[h]Acceder a su teléfono Android desde su PC con jmtpfs (Media Transfert Protocole)[/h]
https://media.giphy.com/media/l0HlKI8MnnuQhane0/giphy.gif
El Protocolo **MTP **se hizo para transferir ficheros entre los teléfonos (con Android o Windows) y nuestras computadoras con sistemas GNU-Linux (Debian 11 en este tema)
Gracias a jmptfs tenemos a una herramienta dedicada en linea de ordenes que permite montar particiones Android cómo si se trataba de un simple stick USB.
Vamos a ver juntos los pasos (muy sencillos) a seguir para acceder a su teléfono Android desde su PC linux.
[h]El Teléfono[/h]
Dos requisitos:
[list=1]
]Debemos tener a la pantalla del teléfono desbloqueada/]
]Debemos activar la transferencia de ficheros en lugar de recargar el dispositivo
settings > connected devices > USB >Transfer Files/
]
[/list]
Cuando hacemos **lsusb ** en consola debemos “ver” el teléfono:

kcdtv@gnuwa:~$ lsusb Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 010 Device 002: ID 413c:301a Dell Computer Corp. Dell MS116 Optical Mouse Bus 010 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 003: ID 22b8:2e76 Motorola PCS moto e5 Bus 003 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 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Pueden ver en octava linea a mi “Motorola PCS moto e5” correctamente detectado.
[h]Instalación jmtpfs[/h]
Es pan comido:

sudo apt install jmtpfs

Podemos ver que la herramienta tira de libmtp9 para el protocolo MTP

kcdtv@gnuwa:~$ apt show jmtpfs Package: jmtpfs Version: 0.5-3 Priority: optional Section: utils Maintainer: Apollon Oikonomopoulos <apoikos@debian.org> Installed-Size: 133 kB Depends: libc6 (>= 2.14), libfuse2 (>= 2.8), libgcc-s1 (>= 3.0), libmagic1 (>= 5.12), libmtp9 (>= 1.1.0), libstdc++6 (>= 5.2), fuse Homepage: https://github.com/JasonFerrara/jmtpfs Download-Size: 41,4 kB APT-Manual-Installed: yes APT-Sources: https://ftp.udc.es/debian bullseye/main amd64 Packages Description: FUSE based filesystem for accessing MTP devices jmtpfs is a FUSE and libmtp-based filesystem for accessing MTP (Media Transfer Protocol) devices. It was specifically designed for exchanging files between Linux (and Mac OS X) systems and newer Android devices that support MTP but not USB Mass Storage. . The goal is to create a well-behaved filesystem, allowing tools like find and rsync to work as expected. To enable certain Android apps to detect and use the transferred files, MTP file types are set automatically based on file contents using libmagic.
Una vez instalado podemos comprobar que nuestro teléfono está bien detectado con jmtpfs -l
Vuestro dispositivo tendría que aparecer como en este ejemplo

kcdtv@gnuwa:~$ jmtpfs -l Device 0 (VID=22b8 and PID=2e76) is a Motorola Moto G (ID1). Available devices (busLocation, devNum, productId, vendorId, product, vendor): 3, 3, 0x2e76, 0x22b8, Moto G (ID1), Motorola
[h]Montar la partición Android[/h]
Para ello debemos crear un punto de montaje (una carpeta vacia)
Por consistencia con el sistema de fichero Linux y por seguridad se aconseja hacer lo en algún sitio de nuestra partición /home.
En mi caso será en mi carpeta personal y se llamará “Teléfono”

mkdir  ~/Teléfono

Podemos ahora montar la partición Android invocando jmtpfs y indicando el punto de montaje

jmtpfs ~/Teléfono

El teléfono aparece en el gestor de archivos y podemos navegar en él y transferir ficheros de la forma la más cómoda que sea.
https://www.wifi-libre.com/img/members/3/jmtpfs_1.jpg
[h]Montar de forma más cómoda el dispositivo Android[/h]
Para no tener que ejecutar **jmtpfs **cada vez que enchufamos nuestro móvil, vamos a añadir una entrada en fstab y editar el fichero /etc/fuse.conf
Haciendo así, el teléfono aparecerá en el escritorio y en el gestor de archivos en cuanto lo enchufaremos a la computadora,
Y con un simple doble-clic en el dispositivo se montará la partición Android.
Des-anotamos para ello la linea de la opción user_allow_other del fichero /etc/fuse.conf

sudo sed -i '/user_allow_other/s/^#//g' /etc/fuse.conf

Ahora añadimos la linea en /etc/fstab para el montado de la partición con jmtpfs
Abrimos dicho fichero con nano pidiendo los derechos de administrador

sudo nano /etc/fstab

Y añadimos esta linea al final del fichero

jmtpfs /home/kcdtv/Teléfono fuse nodev,allow_other,rw,user,noauto,noatime,uid=1000,gid=1000    0    0

jmtpfs + camino punto de montaje (poner le vuestro) + opciones.
https://www.wifi-libre.com/img/members/3/jmtpfs_3.jpg
Guardamos los cambios con <ctrl + O> y damos a para confirmar los cambios, <ctrl + X> para salir.
Notad que con estos cambios, en caso de que no queramos o pdemos usar el ratón, podremos a partir de ahora gestionar el montaje y desmontaje con** mount **y **umount ** (no hace falta mas hacerlo con jmtpfs)

Fuentes
[list=*]
]MTP @ wiki Debian/]
]Media Transfer Protocol @ Arch Wiki/]
]Mounting MTP Devices on Linux by Haidar Ali @ baeldung/]
[/list]

Gracias, otra cosa a probar :cool:

Una cosa
no encuentro por ningun lado lo de settings > connected devices > USB >Transfer Files
settings ya no tengo porque esta todo en españolo,
alguna pista de donde tengo que ir plis??

lo que me baje del git lo compile sin problemas pero no puedo probarlo :o :o :o :o :o

merxis

¿Una pista? Te doy incluso 4:

  • Settings se suele traducir por Ajustes,
  • Connected devices podría ser Dispositivos conectados
  • USB es lo mismo
  • Transfer Files algo cómo “Transferir archivos

Puedes probar hacer un listado, tendría que devolverte el dispositivo y un error.
Pero no podrás montar nada y transferir archivos hasta que habilites la transferencia de fichero mediante MTP en el telefóno.

claro que lo probe despues de compilar y va bien claro si compìla bien suele ir todo bien mejor que descargando uno hecho,

no me detecta nada típico le puse el movil por usb pero nada
me pone esto si lo hago con el -l

Available devices (busLocation, devNum, productId, vendorId, product, vendor):

sigo sin encontrar como configurarlo no encuentro nada de Dispositivos conectados ni parecido,
lo mas parecido almacenamiento en tarjeta,
seguiré probando

:smiley:
¿Qué versión de Android usas?
¿Has habilitado las opciones “para desarrolladores”? Puede ser necesarios con algunos modelos/versiones OS

es lo que yo pensaba ultimamente que lo mismo esa version no soporta MTP poruqe no veo opciones parecidas

la version es teoria es 2.3.6
luego tiene que si version de banda base y de kernel y numero de compilacion y alguna cosa mas

creo que no he habilitado lo de los desarroladores,
eso es el tema de rooutear el movil?

salu2

[quote]creo que no he habilitado lo de los desarroladores,
eso es el tema de rooutear el movil?[/quote]
Con la versión que tienes es probablemente necesario habilitar las opciones “para desarrolladores”
Para obtener las opciones “avanzadas” no hace falta rootear el teléfono.
Debes darle 7 veces seguidas al número de compilación.

[quote=kcdtv]
Debes darle 7 veces seguidas al número de compilación.[/quote]
pero con que le doy martillo hacha machete :stuck_out_tongue:
o le doy comida :stuck_out_tongue:

de momento lo dejo demasiado lio solo queria sacar unas fotos de unos sms y lo consegui de otra manera,

mersis

De res
No conozco tu versión de Android, es bastante antigua.
Para aclarar un poco la cosa, según lo que leo:

  • A partir de Android 4.0 y todas las versione superiores las opciones avanzadas se consiguen pulsando siete veces seguidas el número de compilación que sale en la información sobre el dispositivo.

[quote]1.- Como primer paso tenemos que acceder a los «Ajustes» o a las «Configuraciones» de nuestro teléfono. Después desplazarnos hasta la opción de «Acerca de teléfono«, «Acerca del dispositivo» o «Información del teléfono«
2.- Ya estando en la información del teléfono nos desplazamos hasta abajo y localizar la opción de «Número de compilación«. Esta también se puede encontrar en el apartado de «Información de software«.
3.- Ahora dar clic 7 veces sobre esa opción, ira apareciendo un contador con el número de clics que faltan para activar las opciones de desarrollador. Una vez terminado ese contador ya tendremos activa la opción de «Opciones de desarrollador«.
4.- Por último para acceder a las opciones del «modo desarrollador» vamos a regresar a los «Ajustes» y ahí en la penúltima opción veremos que aparece la opción de «Opciones de desarrollador«.
[/quote]
Cómo activar opciones de desarrollador Android @ tutoespacio

Ahora para MTP, no es necesario activarlas para tener transferencia MTP mediante USB desde algo de tiempo.
Se puede activar cada vez que enchufamos el teléfono a una computadora pulsando la notificación que sale (dice algo cómo “USB : cargando dispositivo” y te invita a “pulsar aquí” para ver más opciones.
Y siempre podemos ir en los **Ajustes > Dispositivos conectados > USB > Transferir archivos **

Para volver a tu versión, la 2.3.6, al parecer las opciones para desarrolladores están “a la vista” en algo como * Aplicaciones > Desarollo*

Where are the developer options in Android 2.3.x?
Lo que no tengo claro es si debes instalar una aplicación Android para tener MTP o si te viene por defecto y activado.
Tu sistema tiene más de diez años y es posible que necesites hacer otras cosas.

es que el movil es antiguo tambien todo ira mal

no te mates yo no me voy a matar con esto

si fuera aki t pillo aki t mato si pero demasiado jardin para nada

salu2