Puedo conectar mi Galaxy Nexus a mi máquina Kubuntu usando el protocolo PTP , pero es muy lento. Leí esta entrevista sobre por qué Galaxy Nexus no es compatible con el almacenamiento masivo USB y fui a http://www.android.com/filetransfer/ según las instrucciones, pero no puedo ver cuál me permitirá conéctese al dispositivo usando una máquina Linux y MTP .
¿Alguien sabe cómo hacer que MTP, o cualquier otro protocolo, funcione?
Ampliaré la idea de Ryan Conrad:
adb
de android-tools es el camino.
Prefiero seguir esta guía para instalar Eclipse con android-sdk:
http://developer.android.com/sdk/installing.html
La instalación depende únicamente de JDK. Sin instalación de nuevos paquetes. Personalmente, realizo los mismos pasos (= extraigo dos carpetas en cualquier lugar y configuro Eclipse) de la misma manera en las distribuciones Ubuntu, Mint o Debian y todo funciona.
Después de completar esta guía clásica, tengo dos carpetas nuevas: eclipse y android-sdks . En la carpeta android-sdks ./platform-tools/adb está la ruta a la adb
herramienta, que se puede usar para push
(cargar) y pull
(obtener) archivos desde un dispositivo Android, sin mtpfs ni montajes adicionales.
Como adb
es un programa de línea de comandos, se puede automatizar en un santiamén. Además, tiene la vista Explorador de archivos de Eclipse , que proporciona una buena estructura de archivos de árbol gráfico y una interfaz básica de arrastrar y soltar (¡no olvide seleccionar primero su dispositivo en la vista Dispositivos !).
El gran inconveniente de este método es que solo la adb
herramienta ve el dispositivo y puede acceder a él. El resto de mi sistema, incluido Nautilus, por ejemplo, todavía no ve el dispositivo. Pero después de acostumbrarme a la estabilidad y robustez de adb
ese no es el problema para mí.
Puedes usar bluetooth .
Bluetooth FTP (perfil de transferencia de archivos) es compatible con Linux y existe la aplicación Bluetooth File Transfer que agrega esta funcionalidad a Android. Sin embargo, no es tan rápido (<200kb/s) dependiendo de sus versiones de bluetooth. –
Hay un módulo de fusibles llamado obexfs , aquí está mi Nexus S montado:
root@local:/tmp# obexfs -b f0:08:f1:xx:xx:xx -- /media/bla
root@local:/tmp# cd /media/bla
root@leo61326:/media/bla# ls -lh /media/bla/DCIM/
total 5,5K
drwxr-xr-x 1 root root 0 2012-05-25 16:09 100ANDRO
drwxr-xr-x 1 root root 0 2012-07-05 17:31 2012-06-09_Rafting
drwxr-xr-x 1 root root 0 2012-07-09 22:30 Camera
Algunos exploradores de archivos lo admiten a través de complementos directamente (nautilus/gnome/kde/...) Aquí hay algunas preguntas obex relacionadas con Ubuntu.
Puede usar adb y transferir usando los comandos adb pull/push.
No estoy seguro de qué distribución de Linux está usando, pero encontré esto que dice que MTP está empaquetado y disponible para ubuntu a través de un paquete llamado mtp-tools .
También tenga en cuenta que esto no es específico de Android 3.x/4.x, esto es cierto para cualquier dispositivo que ejecute 3.x/4.x que carezca de una tarjeta SD externa. Si el dispositivo tiene una ranura para tarjeta SD, podrá montar el dispositivo como en versiones anteriores de Android.
mpfs es un sistema de archivos basado en FUSE que puede montar el Nexus en su sistema.
mtpfs -o allow_other /media/MOUNTPOINT
Te lo monta. Para desmontar simplemente desmonte /media/MOUNTPOINT
Otra opción es WebDAV .
Configuración de un servidor WebDAV de Android
En mi Nexus 7 original, instalé WebDAV Server , lo abrí, hice clic en el botón de inicio e inmediatamente pude ver mi /storage/sdcard
carpeta en mi navegador web en la URL que muestra la aplicación, es decirhttp://192.168.x.y:8080
Tenga en cuenta que con WebDAV Server , también tiene la opción de seleccionar Raíz (/) o DCIM , así como SdCard como raíz de WebDAV .
Uso del servidor WebDAV a través de Nautilus
En Nautilus, seleccioné "Conectar al servidor..." en el menú Archivo, seleccioné "WebDAV (HTTP)", ingresé 192.168.x.y
como servidor y 8080
como puerto y hice clic en Conectar.
Navegar a través de la jerarquía de directorios es más lento que acceder a otros recursos compartidos de red, pero no imposible. Copiar un solo archivo de 42 MB a través de Nautilus tomó alrededor de 12 segundos, es decir, 3,6 MB/s.
Montaje de una unidad WebDAV desde la línea de comandos
Instalé davfs2 y monté mi recurso compartido /mnt
usando el comando:
sudo mount -t davfs http://192.168.x.y:8080 /mnt
Copiar el mismo archivo de 42 MB pero con una sincronización más precisa tomó 12,88 s o 3,24 MB/s.
$ time cp music.fsb /tmp
real 0m12.880s
user 0m0.002s
sys 0m0.143s
Advertencias
http
no es válida https
, por lo que no está encriptada. Solo use WebDAV en una red wifi segura y ciertamente no habilite el servidor WebDAV mientras se encuentra en un cibercafé u otro wifi no seguro.Puede usar el protocolo FTP a la velocidad del cable USB con esta aplicación (no es que requiera tener adb, pero una vez que haya configurado adb, la conexión/transferencia es rápida e indolora, e incluso puede ver los archivos en su administrador de archivos favorito).
https://play.google.com/store/apps/details?id=com.theolivetree.ftpserver
Las instrucciones están en la descripción de Play Store.
Trabajando MTP en Ubuntu para Galaxy Nexus, Nexus 7 y Acer A500 Por dónde empezar.
Encontré algunas instrucciones para el Nexus 7 (que acababa de traer) en este sitio Ubuntu 12.04 - Automount Nexus 7 en modo MTP. Todo el crédito al autor de esa página por averiguarlo. Las instrucciones que tengo a continuación provienen de este sitio, están recortadas a los comandos, si desea obtener más explicaciones, consulte el sitio anterior.
Usé Ubuntu 12.10 y lo configuré para mi Nexus 7, Galaxy Nexus y Acer A500. Instrucciones
Configurar FUSIBLE
Cambie /etc/fuse.conf para que todos lo lean.
# sudo chmod a+r /etc/fuse.conf
Edite /etc/fuse.conf para eliminar el comentario # de user_allow_other para que el fuse.conf predeterminado se vea como
# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#
#mount_max = 1000
# Allow non-root users to specify the 'allow_other' or 'allow_root'
# mount options.
#
user_allow_other
Compilar e instalar go_mtp
# sudo apt-get install libmtp-dev golang
# mkdir /tmp/go
# export GOPATH=/tmp/go
# go get github.com/hanwen/go-mtpfs
# sudo mv /tmp/go/bin/go-mtpfs /usr/local/sbin/go-mtpfs
# sudo chmod a+x /usr/local/sbin/go-mtpfs
Crear puntos de montaje
Use the following as you need..
# sudo mkdir /media/Nexus7
# sudo chmod 777 /media/Nexus7
# sudo mkdir /media/GalaxyNexus
# sudo chmod 777 /media/GalaxyNexus
# sudo mkdir /media/A500
# sudo chmod 777 /media/A500
Configurar reglas udev
Use su editor favorito y cree el siguiente archivo (elimine cualquier otra regla de udev de Android con la que haya experimentado primero).
# sudo vi /etc/udev/rules.d/99-android.rules
Pegue los siguientes contenidos. puede eliminar las reglas que no necesita. Los dos dispositivos nexus parecen tener las mismas identificaciones para el gestor de arranque y la recuperación. NOTA: debe reemplazar #YOURLOGIN# con su nombre de usuario/inicio de sesión.
# Google Nexus 7 & Galaxy Nexus 16 Gb Bootloader & recovery mode
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666" # Recovery
# Google Nexus 7 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e43", MODE="0666" # PTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e44", MODE="0666" # PTP media with USB debug on
# Google Nexus 7 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e41", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666" # MTP media with USB debug on
# Google Nexus 7 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e41", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7"
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e42", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7"
# Google Nexus 7 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e41", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e42", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
# Google Galaxy Nexus 16 Gb Bootloader & recovery mode
#SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666" # Bootloader
#SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666" # Recovery
# Google Galaxy Nexus 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6865", MODE="0666" # PTP media
#SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="4e44", MODE="0666" # PTP media with USB debug on
# Google Galaxy Nexus 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="685c", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0666" # MTP media with USB debug on
# Google Nexus 7 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="685c", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/GalaxyNexus"
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="6860", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/GalaxyNexus"
# Google Nexus 7 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="685c", ACTION=="remove", RUN+="/bin/umount /media/GalaxyNexus"
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="6860", ACTION=="remove", RUN+="/bin/umount /media/GalaxyNexus"
# Acer A500 16 Gb Bootloader & recovery mode
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3201", MODE="0666" # Bootloader
#SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="d001", MODE="0666" # Recovery
# Acer A500 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="33b2", MODE="0666" # PTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="33b1", MODE="0666" # PTP media with USB debug on
# Acer A500 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3341", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3325", MODE="0666" # MTP media with USB debug on
# Acer A500 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3341", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/A500"
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3325", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/A500"
# Acer A500 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3341", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3325", ACTION=="remove", RUN+="/bin/umount /media/A500"
NOTA: si usó gedit y editó el archivo, debe eliminar 99-android.rules~ ya que udev se molestará.
A continuación, reinicie udev
# sudo service udev restart
Editar /etc/fstab
Add the following to /etc/fstab
DeviceFs(Nexus\0407) /media/Nexus7 fuse.DeviceFs(Nexus\0407) allow_other,rw,user,noauto 0 0
DeviceFs(Galaxy\040Nexu) /media/GalaxyNexus fuse.DeviceFs(Galaxy\040Nexu) allow_other,rw,user,noauto 0 0
DeviceFs(A500) /media/A500 fuse.DeviceFs(A500) allow_other,rw,user,noauto 0 0
Acabado.
Ahora puede conectar sus dispositivos y el almacenamiento interno estará disponible para su uso, debe recordar desmontarlos antes de desconectarlos, aunque no parece causar ningún daño.
Nota: parece que ENV{ID_MODEL} para el nexus 7 cambió a Nexus_7 en algún momento (creo que con la actualización de Android 4.2).
De http://www.winters.org.nz/android-hints-tips-stuff/working-mtp-on-ubuntu
Bueno, hay una herramienta muy útil, su nombre es "Transferencia de archivos Wifi". Simplemente descárguelo de Play Store en su dispositivo Android e instálelo. Convierte tu móvil Android en un mini servidor que te permite descargar y cargar archivos desde y hacia tu teléfono.
Ryan
MontañaX