29 votos

¿Cómo puedo utilizar mi Galaxy Nexus como unidad de almacenamiento USB externa?

Acabo de recibir el Galaxy Nexus y me he enterado de que no es compatible con el modo de almacenamiento masivo USB. Sólo soporta MTP y PTP. Yo uso regularmente mi teléfono como una unidad flash USB en el trabajo por lo que este es un problema. Puedo transferir archivos de ida y vuelta con MTP sin embargo Necesito editar archivos directamente en mi teléfono .

Me gustaría encontrar una manera de seguir utilizando el teléfono como una unidad externa y ser capaz de acceder a los archivos en mi almacenamiento de los teléfonos directamente sin transferir los archivos de ida y vuelta sin embargo tengo varias limitaciones: La red de mi trabajo no está conectada a internet, no tiene wifi, y los ordenadores no tienen Bluetooth y esto no va a cambiar. Lo ideal sería no tener que instalar nada en el ordenador, pero si no hay otras opciones me lo plantearía.

¿Hay algún truco o solución que me permita utilizar mi Galaxy Nexus como unidad flash externa de la forma que he descrito?

¿Puedo crear una partición FAT montable por separado en el almacenamiento del teléfono a la que pueda acceder desde un ordenador con Windows XP, así como a través del sistema operativo Android, del mismo modo que es posible con otros dispositivos que tienen tarjetas de almacenamiento externas?

El teléfono: Es un Galaxy Nexus rooteado y desbloqueado en VZW y actualmente ejecutando CM9.

0 votos

No estoy 100% seguro pero creo que el kernel de serie no es capaz de hacer eso. necesitas un kernel aftermarket o simplemente una ROM personalizada para hacerlo. G Nexus GSM: guía completa de actualización para Cyanogenmod9 (4.0.4 en este momento, 4.1 CM10 está en una etapa muy temprana todavía). Aquí hay un apk eso también podría ayudar. necesita Root.

0 votos

Gracias, ese hilo parece prometedor excepto por este . Esperemos que no sea cierto sino tendré un GN en venta.

2 votos

No creo que necesites necesariamente una tarjeta SD separada para usar UMS, pero creo que hacer necesita una partición separada (formateada en FAT) para que funcione, a la manera del Kindle Fire que no tiene ranura para tarjetas SD externas.

28voto

Zuul Puntos 7864

Respuesta corta:

Actualmente, no puedes hacer uso de tu dispositivo (cualquier dispositivo que dependa de MTP) para actuar como MSC, debido a las especificaciones del protocolo.

Elaborando

Como aclaración, el Galaxy Nexus utiliza una sola partición masiva para todo el dispositivo, es como decir que: sistema, datos y sdcard están todos juntos.

Se eligió MTP para el Galaxy Nexus porque permite el uso de esta gran área de almacenamiento, que desde el punto de vista del sistema, asegura una mejor comunicación con los archivos, proporciona un sistema de archivos más seguro y da menos problemas de mantenimiento.

Por qué no puedes hacerlo como quieres:

No hay particiones separadas en el Galaxy Nexus, sólo una gran área de almacenamiento. Incluso emulando un sistema de archivos fat32, habría que ser capaz de traducir entre fat32 y ext4 a bajo nivel. Esto es prácticamente imposible.

Si el Galaxy Nexus tuviera una partición, podría tener acceso a nivel de bloque y, por tanto, podría tener acceso al almacenamiento masivo.


Versión larga y aburrida:

Breves antecedentes

El Clase de almacenamiento masivo (MSC), comúnmente conocido como almacenamiento masivo USB (UMS), que todos estamos acostumbrados a utilizar en nuestros dispositivos, es un protocolo que permite que un dispositivo de bus serie universal (USB) sea accesible a un dispositivo informático anfitrión, para permitir la transferencia de archivos entre ambos. En los tiempos dorados, bastaba con enchufar el teléfono, pulsar el "modo USB" y empezar a mover archivos, editarlos, etc.

Protocolo de transferencia de medios (MTP)

Las cosas han cambiado mucho, cuando hablamos del nuevo método de transferencia que se utiliza en su dispositivo, el Protocolo de Transferencia de Medios (MTP):

1 Introducción véase la página 15 zip más abajo

El Protocolo de Transferencia de Medios, o MTP, es un protocolo diseñado para el intercambio de contenidos con dispositivos de almacenamiento transitorio, así como para el mando y control de los mismos. Fue desarrollado como una extensión del PTP, o Protocolo de Transferencia de Imágenes, y está dirigido principalmente a las cámaras fotográficas digitales, los reproductores multimedia portátiles y los teléfonos celulares.

Aunque la introducción todavía deja margen para la duda, este protocolo se desarrolló e implementó con un propósito muy específico: facilitar la transferencia de archivos multimedia y los metadatos asociados entre dispositivos:

1.1 Objetivo véase la página 15 zip más abajo

El objetivo principal de este protocolo es facilitar la comunicación entre dispositivos multimedia que tienen una conectividad transitoria y una capacidad de almacenamiento importante. Esto incluye el intercambio de objetos binarios y la enumeración del contenido de ese dispositivo conectado.

¿Tipos de archivo admitidos?

A estas alturas, ya sabemos que esto es para los archivos multimedia y los dispositivos basados en los medios de comunicación, pero queda una pregunta que he visto en los comentarios: ¿Podemos copiar archivos que no sean archivos multimedia (audio/vídeo)? Sí, se puede:

1.3 Modelo de objetos MTP véase la página 15 zip más abajo

El término "media" en "Media Transfer Protocol" se utiliza para identificar cualquier dato binario, y no se limita a los formatos de audio/vídeo a los que se aplica habitualmente. Algunos ejemplos de objetos que no son de audio/vídeo son los contactos, los programas, los eventos programados y los archivos de texto.

¿Qué hay de la "edición en vivo"?

Su pregunta se refiere especialmente al uso de su dispositivo (Galaxy Nexus) como unidad de almacenamiento USB externa. ¿Por qué no se puede hacer? El protocolo MTP limita los datos a una operación unidireccional, también este último explicó que el almacenamiento del dispositivo es utilizado por el ordenador como un archivo local:

4.2 Flujo de datos unidireccional véase la página 29 zip más abajo

El flujo de datos en MTP es siempre unidireccional. Cuando se inicia una operación, los datos fluyen sólo desde el iniciador hacia el respondedor. Al responder a la operación solicitada, los datos fluyen sólo desde el Respondedor hacia el Iniciador. Durante la fase de intercambio de datos binarios, los datos pueden fluir del respondedor al iniciador o del iniciador al respondedor, pero nunca de ambos. El intercambio bidireccional de datos binarios debe realizarse mediante múltiples operaciones.

Ventajas e inconvenientes

Ventajas

El MTP conlleva algunas ventajas, principalmente en cuanto a la seguridad e integridad de los datos del usuario:

Microsoft MTP Implementation Overview

Cuando un ordenador anfitrión USB ha montado una partición MSC, asume el control absoluto del almacenamiento, lo que permite, por ejemplo, que el sistema de archivos se corrompa o se reformatee a un tipo no compatible.

Mientras tanto, el MTP supera esto haciendo que la unidad de almacenamiento gestionado sea un archivo local que puede ser escrito o leído.

Inconvenientes

El MTP no se trata como una unidad extraíble tradicional, por lo que no se pueden utilizar herramientas de recuperación para salvar el día.

El soporte aún está en marcha, algunos sistemas operativos aún requieren software de terceros.

Las normas MTP (como se ha mencionado anteriormente) no permiten la modificación directa de los objetos. En su lugar, los objetos modificados deben volver a cargarse en su totalidad.


Referencias:

Espero que esto aclare por qué el MTP es bueno (mejora) , pero OTOH bad (el usuario tendrá que cambiar de hábitos) .

Aquí está el material de lectura utilizado para sintetizar la respuesta:

La respuesta anterior se acredita a los contenidos y autores de estos enlaces de referencia.

3 votos

Agradezco la descripción tan detallada de mtp, sin embargo ya he aceptado el hecho de que no puedo usar mtp de la manera que quiero. Lo que me interesa es encontrar una manera de evitar la limitación. Por ejemplo, reparticionar el almacenamiento interno para crear una partición montable separada. ¿Alguna sugerencia sobre cómo puedo evitar las limitaciones de mtp?

0 votos

@Matt El comentario se estaba haciendo demasiado grande, he añadido una aclaración en la sección "respuesta corta". Perdona si no me he explicado antes.

0 votos

Gracias por la información añadida pero, de nuevo, ya era consciente de la mayor parte de esto. Lo que me interesa saber es, a falta de otras soluciones, ¿se puede volver a particionar el teléfono con una partición FAT independiente que admita UMS? Si es así, ¿cómo?

7voto

ce4 Puntos 11180

Puede ser posible exportar un archivo de imagen en bucle a través de USB como UMS/MSC.

Definitivamente necesitarás:

  • root
  • soporte del núcleo : loopback (/dev/block/loop0) y UMS (/sys/devices/platform/usb_mass_storage/)
  • aplicación personalizada para activar/desactivar esto o un script init personalizado para exportar siempre el archivo de imagen
    Aquí hay un ejemplo para una aplicación fácil de hackear, aunque se necesita un poco de desarrollo... Uno necesita cambiar el dispositivo de bloque por defecto (/dev/block/mmcblk0pX) al loop0 y también losetup el loop0 de antemano, luego construir. Además, podría ser posible tenerlo montado en el dispositivo Android si no se exporta, por ejemplo en /sdcard/fat

Aquí hay una pequeña prueba en mi Galaxy Nexus (en modo de recuperación):

#create a 10mb image file and format it with FAT, name it testFat:
me@workstation:~$ dd if=/dev/zero of=/tmp/fat.img count=10 bs=1M
10+0 records in
10+0 records out
10485760 Bytes (10 MB) copied, 0,00699535 s, 1,5 GB/s
me@workstation:~$ mkfs.vfat -n fatTest /tmp/fat.img 
mkfs.vfat 3.0.9 (31 Jan 2010)
me@workstation:~$ file /tmp/fat.img
/tmp/fat.img: x86 boot sector, [...], label: "fatTest    ", FAT (16 bit)

#Push it to my phone, create loop0 from it and export it via UMS
me@workstation:~$ adb push /tmp/fat.img /sdcard/fat.img
5215 KB/s (10485760 bytes in 1.963s)
me@workstation:~$ adb shell
root@android # ls /sys/devices/platform/usb_mass_storage/lun0
file    power   ro      uevent
root@android # losetup /dev/block/loop0 /sdcard/fat.img
root@android # losetup
/dev/block/loop0: 0 /sdcard/fat.img
root@android # echo /dev/block/loop0 > /sys/devices/platform/usb_mass_storage/lun0/file 
root@android # exit

#See that it works. Yay!
me@workstation:~$ 
me@workstation:~$ mount
[...]
/dev/sdg on /media/fatTest type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks)
me@workstation:~$ dmesg
[137805.009285] sd 27:0:0:0: [sdg] 20480 512-byte logical blocks: (10.4 MB/10.0 MiB)
[137805.010024] sd 27:0:0:0: [sdg] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[137805.013446]  sdg:
me@workstation:~$

0 votos

Ahora mismo no tengo ningún dispositivo de pruebas (GNexus) a mano, ¿podría alguien ser tan amable y echar un vistazo si UMS está incluido en CM9? Sólo hay que ver si esto está disponible: /sys/devices/platform/usb_mass_storage/lun0/file

1 votos

Los primeros CM10 no parecen hacerlo, así que supongo que los CM9 tampoco.

0 votos

@eldarerathis: ¡Gracias por mirar! Puede que esté compilado en un kernel diferente o que uno mismo haya tenido que habilitarlo para que funcione.

3voto

Michael Hampton Puntos 1470

Esta es la versión TL;DR.

Lo siento, el almacenamiento masivo USB es simplemente imposible con el Galaxy Nexus.

La razón es que el almacenamiento masivo USB da al PC acceso a nivel de bloque al sistema de archivos, y para mantener la integridad del sistema de archivos, debe ser un acceso exclusivo. Por eso los teléfonos Android desmontan la tarjeta SD y las aplicaciones no pueden utilizar los datos de la tarjeta SD mientras el teléfono está en modo de almacenamiento masivo USB.

El Galaxy Nexus, sin embargo, no tienen una tarjeta SD. Es el voluminoso almacenamiento interno del teléfono al que se accede.

MTP (ver la excelente explicación de @Zuul) evita esto y permite que tanto el teléfono como el PC accedan a los archivos sin que el teléfono tenga que estar bloqueado. Las desventajas son que no tienes acceso exclusivo a nivel de bloque, y que el sistema operativo no es compatible con MTP.

Si se trata de una función de la que no puedes prescindir, lo mejor es que utilices otro teléfono. No por casualidad, esta es una de las razones por las que me deshice del Galaxy Nexus y me hice con un DROID RAZR MAXX.

1 votos

"Por eso los teléfonos Android desmontan la tarjeta SD..." ¿Qué pasa con las aplicaciones que permiten el montaje dual de la sd (y el almacenamiento interno para el caso) en el ordenador y el os Android simultáneamente? Yo tenía una aplicación de este tipo en mi Rezound y funcionaba bastante bien.

0 votos

Nunca he oído hablar de ninguna aplicación así. ¿Tienes pruebas de su existencia?

0 votos

¡Eso ha sonado muy duro! google.hu/

1voto

Ηλίας Puntos 109

Parece que AOKP JB build 4 tiene:

" Emulación de almacenamiento masivo USB para ciertos dispositivos (i9*)"

Todavía no lo he utilizado.

0voto

Izzy Puntos 45544

Podrías dar este Aplicación XDA-Developers un intento:

Nota: Esta aplicación fue desarrollada en los primeros días de Ice Cream Sandwich Ports. En ese momento ninguno de los Ports tenía soporte nativo para el almacenamiento masivo USB y esta App fue pensada como una solución temporal para usar el UMS sin embargo. Por lo tanto, esta aplicación no será interesante para usted, a menos que el puerto ICS o JB que utilice aún no soporte UMS de forma nativa. Si ese es el caso, aquí viene la ayuda:

La aplicación se inicia automáticamente después de arrancar el dispositivo y detecta automáticamente cuando el dispositivo se conecta por USB a un ordenador. A continuación, aparece una notificación en la barra de notificaciones y, al tocar la notificación, se abrirá una interfaz gráfica de usuario para activar/desactivar el almacenamiento masivo USB; justo/casi como la función UMS original.

Suena bastante bien hasta ahora - sólo su Galaxy Nexus no es explícitamente mencionado en la lista de dispositivos compatibles conocidos. Esto no significa necesariamente que no vaya a funcionar, sino que por el momento no se conoce. Debería valer la pena intentarlo.

0 votos

Esto ya se ha discutido, ver los comentarios del OP. Por desgracia, también es un callejón sin salida :(

0 votos

No he podido encontrar los comentarios a los que te refieres pero si ya es una opción conocida, me disculpo. ¿Y "callejón sin salida" significa que ya no funciona? Oh, Dios, supongo que me saltaré las próximas actualizaciones ;)

0 votos

No te ofendas. :) era más bien un "FYI". El "aquí hay un apk" se refiere al mismo hilo que su enlace XDA.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X