Mejor forma de conectar Galaxy Nexus (ICS) a Linux


13

Puedo conectar mi Galaxy Nexus a mi máquina Kubuntu usando el protocolo PTP , pero es muy lento. He leído esta entrevista sobre por qué Galaxy Nexus no es compatible con el almacenamiento masivo USB , y he visitado http://www.android.com/filetransfer/ según las instrucciones, pero no hay forma de que pueda ver cuál me permitirá conectarse al dispositivo utilizando una máquina Linux y MTP .

¿Alguien sabe cómo hacer funcionar MTP o cualquier otro protocolo?

Respuestas:


7

También puedes probar mtpfs o gMTP . mtpfs permite montar el dispositivo MTP como un sistema de archivos, mientras que gMTP es un programa independiente.

En AskUbuntu hay una respuesta que muestra cómo usar mtpfs.


gMTP parece funcionar muy bien para mí para copiar fotos desde mi teléfono anterior. Intentar copiar sobre PTP fue doloroso.
Ryan

1
gMTP no es satisfactorio para mí. Es MUY lento y da errores con los archivos de música (intenta crear álbumes para cada archivo transferido). gMTP también se bloquea con frecuencia en Ubuntu. Me gusta más el método ADB. También uso SSHFS sobre WiFi y algunos otros métodos.
MountainX

6

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 solo de JDK. Sin instalación de nuevos paquetes. Personalmente hago los mismos pasos (= extraer dos carpetas en cualquier lugar y configurar eclipse) de la misma manera en las distribuciones de Ubuntu, Mint o Debian y todo está funcionando.

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 adbherramienta, que se puede usar para push(cargar) y pull(obtener) archivos desde el dispositivo Android, sin mtpfs o montajes adicionales.

Como adbes 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 agradable estructura de archivos de árbol gráfica y una interfaz básica de arrastrar y soltar (¡no olvide seleccionar primero su dispositivo en la vista Dispositivos !).

La gran desventaja de este método es que solo la adbherramienta 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, adbese no es el problema para mí.


1
adb es un problema de seguridad si lo mantiene habilitado constantemente. Tenga en cuenta que no hay diálogo de frase de contraseña ni nada. Uno puede evitar los bloqueos de pantalla e incluso el cifrado completo del dispositivo. Especialmente si lo carga en lugares desconocidos (PC en internet cafe, etc.)
ce4

gracias por avisar, ce4. Permítanme preguntar entonces: ¿qué significa acceder al almacenamiento de Android que debemos usar en ubicaciones desconocidas?
furikuretsu

1
respuesta propia agregada sobre bluetooth :-)
ce4

6

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 directamente a través de complementos (nautilus / gnome / kde / ...) Aquí hay algunas preguntas obex relacionadas con Ubuntu.


1
Esta respuesta merece más votos a favor: no pude hacer que MTP o PTP funcionen bien con mi instalación de Kubuntu.
Nathan Osman

Esperemos que mejore con las nuevas versiones de Ubuntu. Estoy realmente seguro de esto. Principalmente uso ADB en la línea de comandos (que uso mucho), por lo que esta es la ruta más rápida para mí en este momento. También uso "bluetooth-sendto some-file" a veces.
ce4

3

Puede usar adb y transferir usando los comandos adb pull / push.

No estoy seguro de qué distribución de Linux está utilizando, 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 para Android 3.x / 4.x, esto es cierto para cualquier dispositivo que ejecute 3.x / 4.x que carece de una tarjeta sd externa. Si el dispositivo tiene una ranura para tarjeta SD, podrá montar el dispositivo como en versiones anteriores de Android.


2

mpfs es un sistema de archivos basado en FUSE que puede montar el Nexus en su sistema.

mtpfs -o allow_other /media/MOUNTPOINT

Lo montará por ti. Para desmontar, simplemente desmonte / media / MOUNTPOINT


0

Otra opción es WebDAV .

Configurar un servidor Android WebDAV

En mi Nexus 7 estándar, instalé el servidor WebDAV , lo abrí , hice clic en el botón de inicio y pude ver de inmediato mi /storage/sdcardcarpeta 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 Root (/) o DCIM , así como SdCard como la raíz de WebDAV .

Usando el servidor WebDAV a través de Nautilus

En Nautilus seleccioné "Conectar al servidor ..." en el menú Archivo, seleccioné "WebDAV (HTTP)", ingresé 192.168.x.ycomo servidor y 8080como puerto e hice clic en Conectar.

Navegar por la jerarquía de directorios es más lento que acceder a otros recursos compartidos de red, pero no es irrazonable. Copiar un solo archivo de 42 MB a través de Nautilus tomó alrededor de 12 segundos, por lo que 3.6 MB / s.

Montaje de una unidad WebDAV desde la línea de comando

Instalé davfs2 y monté mi recurso compartido /mntusando 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 segundos o 3.24 MB / s.

$ time cp music.fsb /tmp

real    0m12.880s
user    0m0.002s
sys     0m0.143s

Advertencias

  • El acceso a WebDAV no es seguro . Incluso si establece una contraseña en el recurso compartido WebDAV, la conexión aún httpno es así https, por lo que no está encriptada. Solo use WebDAV en una red wifi segura y ciertamente no habilite el servidor WebDAV mientras esté en un cibercafé u otro wifi no seguro.


0

MTP de trabajo en Ubuntu para Galaxy Nexus, Nexus 7 y Acer A500 Dónde comenzar.

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 resolverlo. Las instrucciones que tengo a continuación provienen de este sitio, se recortan a los comandos, si desea obtener más explicaciones, consulte el sitio anterior.

Utilicé Ubuntu 12.10 y me configuré para mi Nexus 7, Galaxy Nexus y Acer A500. Instrucciones

Configurar FUSE

Cambie /etc/fuse.conf para que sea leído por todos.

# 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

Compila e instala 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 punto (s) 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 de udev

Use su editor favorito y cree el siguiente archivo (elimine cualquier otra regla de Android udev con la que haya experimentado primero).

# sudo vi /etc/udev/rules.d/99-android.rules

Pega los siguientes contenidos. puede eliminar las reglas que no necesita. Los dos dispositivos nexus parecen tener los mismos identificadores 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 ha editado 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

Terminado.

Ahora puede conectar sus dispositivos y el almacenamiento interno estará disponible para su uso, debe recordar desmontarlo antes de desconectarlo, aunque no parece causar ningún daño.

Nota: parece que el 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


0

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 dispositivo Android en un mini servidor que te permite descargar y cargar archivos desde y hacia tu teléfono.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.