Dado que Ubuntu 13.04 , el acceso de almacenamiento a dispositivos externos a través de MTP se supone que funciona de inmediato a través de un módulo GVFS-MTP.
Si bien esta pregunta es sobre el Galaxy Nexus, también se admiten otros dispositivos Android, así como teléfonos con Windows y reproductores multimedia habilitados para MTP .
Para la resolución de problemas, consulte esta respuesta .
Tengo muchos problemas para que las transferencias de archivos funcionen a través de MTP con el Galaxy Nexus. Estoy usando Kubuntu 11.10 de 64 bits, y esto es lo que he hecho y los resultados que obtengo:
Se agregó una regla para el dispositivo
/etc/udev/rules.d/51-android.rules
. La regla es la siguiente y funciona paraadb
:SUBSYSTEMS=="usb", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6860", MODE="0666", OWNER="leob" #Galaxy Nexus
Reiniciado
udev
(y computadora solo para asegurarse).
Adb funciona, y todos los métodos para leer desde el dispositivo a través de MTP parecen funcionar (he intentado montar con mtpfs, gmtp y usar el paquete mtp-tools directamente). Sin embargo, cuando intento escribir en el dispositivo, nada de lo que he probado funciona.
Como ejemplo, ejecutar mtp-newfolder test_dir 0 0
da el siguiente resultado:
libmtp version: 1.1.0
Device 0 (VID=04e8 and PID=6860) is a Samsung GT-P7510/Galaxy Tab 10.1.
Folder creation failed.
ERROR: Could not close session!
Si ejecuto mtp-folders
después de un mtp-newfolder fallido sin volver a enchufar el dispositivo, obtengo el siguiente resultado:
Attempting to connect device(s)
Device 0 (VID=04e8 and PID=6860) is a Samsung GT-P7510/Galaxy Tab 10.1.
PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device
mtp-folders: Successfully connected
Friendly name: (NULL)
Error 1: Get Storage information failed.
Error 2: PTP Layer error 02fe: get_all_metadata_fast(): could not get proplist of all objects.
Error 2: (Look this up in ptp.h for an explanation.)
Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
Error 2: (Look this up in ptp.h for an explanation.)
LIBMTP_Get_Storage()
: Resource temporarily unavailable
OK.
Acompañado de lo siguiente en dmesg:
[ 1000.912082] usb 2-4: reset high speed USB device number 7 using ehci_hcd
[ 1001.045877] usb 2-4: usbfs: process 3166 (mtp-folders) did not claim interface 0 before use
¿Alguien tiene alguna idea sobre qué hacer?
EDITAR:
También probé el modo PTP. Nuevamente, la lectura funciona bien, pero no puedo escribir nada en el dispositivo.
Respuestas:
Desde Ubuntu 13.04, el acceso de almacenamiento a dispositivos externos a través de MTP funciona de forma inmediata a través de un módulo GVFS-MTP.
Pregunta relacionada: ¿Hay planes para mejorar el soporte de mtp en futuras versiones de Ubuntu?
Para la solución de problemas, vea esta respuesta .
Para mí, era un problema no tener los últimos
libmtp
archivos en mi sistema. Así que arreglé el problema e hice esta reseña para ayudar a otros .Resumen del enlace: Hubo un error en el
libmtp
paquete con versiones anteriores de Ubuntu. Este error ya fue corregido en la última fuente delibmtp
.fuente
¿Has probado la sugerencia de Bilal Akhtar en omgubuntu ?
Conectar su teléfono o tableta Android a Ubuntu con MTPFS
Preparar
Primero, instale las herramientas necesarias con
sudo apt-get install mtp-tools mtpfs
Conecte su Galaxy Nexus a su computadora. En su teléfono, abra el cajón de notificaciones y haga clic en "Tipo de conexión USB". Asegúrese de que MTP esté seleccionado.
Luego, ejecute estos comandos:
Obtendrá una salida como esta:
Ahora, ejecuta estos comandos:
Se abrirá una ventana de Gedit. Escriba este texto en él, todo en una sola línea :
Reemplace
VENDORID
con elidVendor
que había anotado anteriormente. Del mismo modo, reemplacePRODUCTID
con elidProduct
que había anotado. En mi caso, lo fueron04e8
y685c
respectivamente, pero podrían haber sido diferentes para ti.Guarde y cierre el archivo. Luego, desconecte su teléfono y ejecute estos comandos:
$USER
es una variable de shell predeterminada y debe ser el usuario que desea agregar (generalmente usted mismo). Ahora, ejecuta este comando:En la ventana de Gedit, elimine el
#
principio de la última línea (la que comienza con#user_allow_other
) de esta manera:¡Ya casi terminas! Ahora, reinicie su computadora y luego ejecute estos tres comandos:
Uso
Conecte su teléfono, asegúrese de que su teléfono esté usando MTP y ejecútelo
android-connect
.Voila! Ahora puede navegar por los contenidos de su teléfono Android usando Nautilus. Simplemente inicie el administrador de archivos y luego, en la barra lateral, haga clic en GalaxyNexus para explorar el contenido de su teléfono como lo haría con una memoria USB. También puede agregar, eliminar y modificar archivos como un sistema de archivos normal.
Para quitar el teléfono de forma segura, solo corre
android-disconnect
.Conclusión
De ahora en adelante, solo necesita correr
android-connect
para montar su teléfono y luegoandroid-disconnect
quitarlo de manera segura. Todo lo demás debe manejarse automáticamente. Intenté muchas formas de hacer que el montaje y el desmontaje sucedan automáticamente en la conexión por cable, pero esta fue la mejor solución que se me ocurrió.Estos dos comandos no requerirán permisos de root para ejecutarse. Todos los usuarios que son miembros del grupo de usuarios de fusibles deberían poder ejecutar estos comandos sin acceso de root.
¡Eso es! Has conectado con éxito tu teléfono Ice Cream Sandwich a tu computadora Ubuntu. El proceso puede ser largo para un novato, pero estoy seguro de que alguien vendrá y hará una GUI para todo esto para que todo suceda sin problemas. :)
fuente
mtpfs
, o simplemente admite solo 1 dispositivo conectado a la vez?Conexión de dispositivos a través de MTP con GVFS
Desde el acceso de almacenamiento Ubuntu 13.04 a dispositivos con capacidad MTP funciona de forma inmediata a través de un backend GVFS . Por favor, eche un vistazo a ¿Hay algún plan para mejorar el soporte de mtp en futuras versiones de Ubuntu? para instrucciones de instalación anteriores a 13.04.
Esta solución debería funcionar para todos los dispositivos Android que proporcionan la funcionalidad MTP y, probablemente, todos los dispositivos que no sean Android con funcionalidad MTP, como teléfonos con Windows y reproductores multimedia portátiles .
No te confundas
Ha habido cierta confusión, intentemos aclarar las cosas:
¡ No necesita hacer nada que pueda anular su garantía!
El desbloqueo solo se refiere a la pantalla de bloqueo del sistema operativo en esta respuesta.
No necesita configurar el acceso de desarrollador a su dispositivo como ADB, fastboot o algo similar a través de ciertas reglas de udev. (Puede encontrar instrucciones para Android en el capítulo Configuración del acceso USB a su correo o su correo .)
Que yo sepa, tampoco necesita FUSE ni configura las opciones relacionadas con FUSE.
Problemas de solución de problemas
No puedo poner archivos en el dispositivo.
Su dispositivo debe estar desbloqueado para acceder al almacenamiento del dispositivo con Ubuntu a través de MTP.
Recibo un mensaje de error de que el dispositivo no se puede montar.
Si recibe el siguiente mensaje de error, intente volver a conectar el dispositivo una vez .
Si el mensaje de error aparece nuevamente, abra una nueva ventana de nautilus desde el iniciador (preferiblemente haciendo clic en el icono del dispositivo) y probablemente cerrando la ventana de nautilus actual. Posiblemente relacionado: ¿Cómo crear reglas udev para deshabilitar uno de los dispositivos Android?
Compruebe si hay reglas de udev para su dispositivo
Abra una terminal y escriba
lsusb
. Encuentre su dispositivo en la salida y anote la ID (por ejemplo0fce:01b1
). La primera parte es la identificación del proveedor, la última parte es la identificación del producto.Abra el archivo de reglas de mtp udev correspondiente con
nano /lib/udev/rules.d/69-libmtp.rules
y busque su ID de producto (use Ctrl+ W). Si no puede encontrarlo, debe crear una entrada personalizada/etc/udev/rules.d/69-libmtp.rules
siguiendo el patrón a continuación y reiniciar .Debería considerar presentar un error contra el paquete libmtp (más precisamente libmtp-common ) para que su dispositivo se incluya en futuras versiones, si esto funcionó para usted.
Todavía no puedo conectarme
Su dispositivo no es compatible con el subyacente
libmtp
o puede experimentar el mismo problema que tengo con mi Lumia 620, siga la solución (pasos para reproducir) que publiqué en LP # 1247572: Nokia Lumia 620 (WP8) no se puede montar de manera confiable a través de gvfs-mtp en nautilus . (El dispositivo todavía no funciona sin problemas aquí, pero el uso demtp-detect
ayuda).Debe buscar el rastreador de errores libmtp para su dispositivo y seguir las instrucciones para nuevos dispositivos en la página del proyecto para abrir un informe de errores.
El rastreador de errores enumera mi dispositivo como compatible pero aún no funciona
En algunos casos, es posible que un informe de error relacionado con su dispositivo ya se haya archivado y resuelto en una versión de libmtp más reciente que la que incluye su distribución (por ejemplo: Motorola Moto G ). Si ese es el caso, tendrá que esperar a que se actualicen los repositorios oficiales o buscar un PPA actualizado.
Aquí puede encontrar una lista actualizada de todas las versiones de libmtp disponibles a través de los canales oficiales de software de Ubuntu y PPA privadas (asegúrese de expandir Otras versiones de 'libmtp' en archivos no confiables ). A partir del 13/02/2014, este PPA de Matthieu Baerts ofrece el último paquete libmtp disponible para Ubuntu.
Advertencia : este PPA contiene una variedad de paquetes diferentes y posiblemente inestables. Aconsejaría no agregarlo a su sistema. En su lugar, puede descargar los paquetes libmtp por separado e instalarlos manualmente en su sistema.
Familiarícese con los PPA y sus riesgos antes de continuar. Lea también el siguiente párrafo sobre cómo restaurar sus paquetes originales antes de continuar con los siguientes pasos:
Descarga los siguientes paquetes:
libmtp-common
,libmtp-runtime
,libmtp9
,mtp-tools
. Asegúrese de elegir la arquitectura correcta para su sistema (generalmente seráamd64
).Aquí están los enlaces del paquete a partir del 13/02/2014: libmtp-common , libmtp-runtime , libmtp9 , mtp-tools
Proceda a instalar manualmente los paquetes actualizados con dpkg (cambie
$HOME/Downloads
a su carpeta de descarga y asegúrese de que no haya otros archivos deb:Una vez que todo se haya instalado correctamente, reinicie su computadora, desbloquee su dispositivo Android, conéctelo a través de USB y debería aparecer en su administrador de archivos.
Esto funcionó bien para mí (@Glutanimate) con mi Motorola Moto G. Debido a que estaba ejecutando Ubuntu 12.04 LTS, primero tuve que instalar una versión actualizada de
gnome-gvfs
. Consulte las instrucciones de instalación anteriores a 13.04 en la parte superior para obtener más información.Para deshacer los cambios si algo sale mal o si el dispositivo aún no se reconoce, deberá instalar manualmente los paquetes originales. Dirígete a la descripción general de la fuente libmtp y encuentra tu versión de Ubuntu. Expanda la entrada en cuestión y proceda a descargar los paquetes, tal como lo hizo en el paso 2 anterior. Continúe con la instalación como se describe en el paso 3 y reinicie su sistema. Todo debería volver a la normalidad ahora.
fuente
/etc
depende completamente de usted. Como se explicó anteriormente, idealmente todas las reglas de udev deben proporcionarse ootb. De lo contrario, se debe presentar un error para incluir la regla que falta/lib/.../69-libmtp.rules
, para que todos estén contentos con la próxima versión./etc
depende de ti./lib/udev/rules.d/69-libmtp.rules
es lo que eligieron los encargados del mantenimiento del paquete y sugiero que se presente un error en ese paquete (he actualizado mi respuesta) para los usuarios que enfrentan este problema. Si todavía tiene un problema con eso, hable amablemente con los encargados del mantenimiento o publique su propia respuesta. Ahora me estoy retirando de esta conversación contigo sobre este tema.Todos los programas basados
libmtp
todavía parecen tener problemas con el Galaxy Nexus (a partir de libmtp 1.1.3). Programas basados en elgphoto2
trabajo para mí.Personalmente estoy usando
gphotofs
, disponible en un paquete del mismo nombre.Use
gphotofs ~/mymountpoint
para montar, luegofusermount -u ~/mymountpoint
desmonte cuando haya terminado.fuente
gphotofs
me deja con un solo directorio que está vacío.Instale lo siguiente y reinicie:
fuente
The following packages have unmet dependencies: gvfs-backends : Depends: gvfs (= 1.28.2-1ubuntu1~16.04.2) but 1:1.20.3-4salbabix27trusty is to be installed Depends: gvfs-daemons (= 1.28.2-1ubuntu1~16.04.2) Depends: gvfs-libs (= 1.28.2-1ubuntu1~16.04.2) but 1:1.20.3-4salbabix27trusty is to be installed Depends: gvfs-common (= 1.28.2-1ubuntu1~16.04.2) but 1:1.20.3-4salbabix27trusty is to be installed E: Unable to correct problems, you have held broken packages.
Como primer paso, instalaría
jmtpfs
(sudo apt-get install jmtpfs
en la terminal - Ctrl+ Alt+ T), luego crearía una carpeta conmkdir foldername
y luego montaría el dispositivojmtpfs foldername
, luego iría a nautilus (Archivos).Si su dispositivo no es compatible con la
libmtp
versión en ubuntu.libmtp
Debe descargar y crear una versión reciente (> 1.1.12), como en: ¿Cómo puedo instalar la última versión de libmtp?Debería poder ver las carpetas también
mtp-folders
en un terminal o con la interfaz gráficagmtp
.Los pasos anteriores podrían mostrar un error si los ejecuta sin
sudo
:Para evitar usar sudo, debe agregar su dispositivo al
/etc/udev/rules.d/51-android.rules
archivo como se indica arriba (consulte desgua) y volver a cargar las reglas o reiniciar.fuente
Solo una pequeña solución, conecte su teléfono basado en ICS con un buen ALMACENAMIENTO EN MASA http://forum.xda-developers.com/showthread.php?t=1556367
fuente