Tipos de drivers USB para dispositivos de almacenamiento masivo.

Iniciado por cixert, 26 Marzo 2015, 02:00 AM

0 Miembros y 1 Visitante están viendo este tema.

cixert

Hola, me gustaría conocer que tipos de drivers y dispositivos existen para Windows compatibles entre si.
¿depende del driver o del protocolo?
Uso Windows XP y hasta ahora siempre que he conectado una memoria USB o un teléfono he tenido acceso a los archivos de la unidad de almacenamiento. Sin embargo con un dispotivo Android no lo consigo. Este mismo teléfono Windows Ocho punto uno lo reconoce perfectamente sin falta de instalar ningún driver.
Por lo pronto:
Memorias de almacenamiento extraibles --- ¿¿¿HCD driver ¿¿OHCI ¿¿¿UHCI ¿EHCI ¿XHCI
Dispositivos GPS con Windows CE --- Driver específico+Activesync
Dispositivos GPS con Android --- ¿¿¿???? (Windows XP lo lee directamente)
Teléfono Blackberry --- ¿¿¿¿???? (Windows XP lo lee directamente)
Teléfono Android --- ¿¿¿¿AndroidUsbDeviceClass ¿¿¿¿ADB Interface

Esto último sobre Android lo deduzco tras leer decenas de webs pues ninguna lo menciona especificamente.
En definitiva no tengo clara la relación entre drivers y protocolos.
Lo único que pretendo es conectar un dispositivo y leer la unidad de almacenamiento. Ahora mismo en Android no lo consigo y eso que tras dar muchas vueltas parece que el ADB driver está instalado.
Gracias por las respuestas.

engel lex

las conexiones usb son dependientes de drivers y estos no son compatibles entre versiones de windows, el standard indica que cuando un dispositivo se conecta para que accesen sus archivos deben indentificarse con el standard de "dispositivo de almacenamiento masivo" y comunicarse con el protocolo dispuesto para ello

este driver es compatible con windows xp en adelante, sin embargo hay desarrolladores que deciden seguir su propio camino y usas sus drivers privativos dejando sin soporte ciertos sistemas (ej samsung con su alta gama los galaxy s)

Citarlo reconoce perfectamente sin falta de instalar ningún driver
debe haber un driver, solo que es una instalación transparente

todas las Memorias de almacenamiento extraibles deben ser almacenamiento masivo...

los dispositivos con windows y android, son lo que quieran ser... aunque normalmente son almacenamiento masivo, blakcberry si usa almacenamiento masivo, sobre android ADB no es driver standard, ya que el mismo nombre que "ADB" lo explica, es "Android Debugging Bridge" o podría traducirse como, puente para la correción de errores android, este es un driver para desarrollo

el driver indica el protocolo que se usará, de allí su nombre "manejador" el indica los detalles sobre la comunicación con el equipo
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

cixert

#2
Por lo que estoy viendo a parte de Mass Storage Device Class hay también protocolos MTP y PTP. Se diferencian del primero en que el sistema no tiene un control total del sistema de almacenamiento del dispositivo sino que interactúa con el mismo cómo si de una red se tratara. Permitiendo así que el dispositivo siga funcionando de manera independiente cuando está conectado.
http://www.adslzone.net/moviles/diferencias-entre-mtp-ptp-y-almacenamiento-masivo-usb/


Con lo que no me acabo de aclarar es con los Windows Drivers Fundation.
Por lo que pone la wikipedia son herramientas para desarrollar drivers...
http://en.wikipedia.org/wiki/Windows_Driver_Frameworks
Sin embargo aquí dicen que llevan la gestión de los dispositivos desde Windows Vista:
http://www.alegsa.com.ar/Dic/vxd.php#sthash.51CZi2SF.dpuf
Y por último hay varias páginas web que mandan instalar un ¿¿¿driver??? UMDF para que funcione el protocolo MTP y poder así conectar un dispositivo Android.
http://nohaynombrelibre.blogspot.com.es/2013/05/windows-xp-no-reconoce-dispositivo-mtp.html
Mod: No hagas doble post

engel lex

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

cixert

#4
A ver...
Si yo conecto un dispositivo que usa el protocolo Mass Device Storage en Windows XP este me lo reconoce sin problemas. Sin embargo si conecto un dispositivo que usa el protocolo Media Transfer Protocol Windows XP no me lo reconoce
(conclusión a la que acabo de llegar)

Cita de: cixert en 26 Marzo 2015, 04:44 AM
Con lo que no me acabo de aclarar es con los Windows Drivers Fundation.
Por lo que pone la wikipedia son herramientas para desarrollar drivers...
http://en.wikipedia.org/wiki/Windows_Driver_Frameworks
Sin embargo aquí dicen que llevan la gestión de los dispositivos desde Windows Vista:
http://www.alegsa.com.ar/Dic/vxd.php#sthash.51CZi2SF.dpuf
Y por último hay varias páginas web que mandan instalar un ¿¿¿driver??? UMDF para que funcione el protocolo MTP y poder así conectar un dispositivo Android.
http://nohaynombrelibre.blogspot.com.es/2013/05/windows-xp-no-reconoce-dispositivo-mtp.html
Y parece ser que para que funcione un dispositivo MTP es necesario tener instalado UMDF.
Extraido de la wikipedia:
The first version of the UMDF was shipped as part of Windows Media Player version 10 on 2004-10-12. Code-named "Crescent", it was designed to support the Media Transfer Protocol driver, and no public interfaces or documentation were provided for it. Later, Microsoft decided to turn UMDF into a device driver development platform.

engel lex

la cosa es si funciona... no necesariamente pueda soportar todas las verisones del protocolo (en caso que estas existan)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

cixert

#6
Recopilando...
Para conectar un dispositivo móvil por Media Transfer Protocol (MTP), como lo teléfonos Android, en Windows se necesita:

1º Tener instalado UMDF, viene con Windows Media Player 10 y todos los Windows a partir de XP SP3.
Aquí está la única versión descargable suelta (requiere Windows XP):
http://go.microsoft.com/fwlink/?LinkId=71641&/umdf.exe

2º Tener instalado MTP.
Descarga: http://download.microsoft.com/download/f/5/6/f56d2567-2b2a-459b-a2f8-9e697a939c9d/mtppk12.exe

3º Ahora solo hay que ir al "administrador de dispositivos" y actualizar el driver del dispositivo Android si el sistema no lo ha reconocido.
Haz click derecho en el dispositivo, prueba la actualización automática a través de Windows Update o instala el driver específico actualizando igualmente con click derecho.
Link para descargar todos los drivers de cualquier dispositivo Android:
https://www.clockworkmod.com/tether/drivers

Ahora aparecera el dispositivo Android perfectamente instalado en el administrador de dispositivos.
El problema es que sigo sin poder acceder a la unidad de almacenamiento, no me aparece en "Mi PC" el dispositivo. He probado con dos teléfonos Samsung. Solo tienen la opción de acceso marcando "debuggin" en el terminal.
¿qué puede suceder?

Dejo una tabla que he realizado indicando los distintos tipos de conexiones existentes:


PROTOCOLOS:
-Donde Windows domina la unidad:
USB MSC (USB mass storage device class) ó UMS (USB Mass Storage).

-Donde Windows pide permiso al dispositivo para manejar la unidad (cómo una red):
PTP (Picture Transfer Protocol): Para transferir imágenes. Protocolo WIA que no necesita instalar drivers en NT5 y NT6 (sí hay que ajustar la cámara a PTP).
PTP/IP: (lo mismo por red)
MTP (Media Transfer Protocol): Para transferir todo tipo de archivos. Media Transfer Protocol Porting Kit lo hay suelto para NT 5. Viene instalado con NT 6.
UMDF: (User-Mode Driver Framework): Se instala con Windows Media Player 10.
NAS (Network-attached storage): Dispositivo de almacenamiento en red.

Modelo de controlador e interfaz de programación de aplicaciones (API):
STI (Still Image Architecture): Información básica.
WIA (Windows Image Acquisition): Adquirir imágenes a través de programas (1999-2015)
ISIS (Image and Scanner Interface Specification): Estándar abierto para el control de escáneres y manejo de imágenes.
SANE (Scanner Access Now Easy): Proporciona acceso estandarizado a cualquier dispositivo de escaneo
TWAIN (Technology Without An Interesting Name): Estandar para la adquisición de imágenes.

Control de dispositivos:
DOS: Los programas manejan directamente el hardware.
VxD: Windows DOS (Virtual Device Driver) No soportados por NT.
WDM: Windows NT 5 (Windows Driver Model)
WDF: Windows NT 6 (Windows Driver Foundation), que incluye el KMDF (Kernel-Mode Driver Framework) y el UMDF (User-Mode Driver Framework). - See more at: http://www.alegsa.com.ar/Dic/vxd.php#sthash.51CZi2SF.dpuf

Windows Driver Frameworks (WDF) (realización de drivers):

KMDF (Kernel Mode Driver Framework): For writing standard kernel-mode device drivers. Disponible desde Windows  2000.
UMDF (User Mode Driver Framework) v1: For writing user-mode drivers using a C++ COM based API. Disponible desde XP.
UMDF (User Mode Driver Framework) v2: For writing user-mode drivers with syntactic parity to KMDF. Disponible desde XP.
(se instala con Windows Media Player 10).

Versiones KMDF para w2000: 1.1; 1.5; 1.7 (no 1.0)
Versiones KMDF para wXP/2003: 1.0; 1.1; 1.5; 1.7; 1.9
Versiones UMDF para wXP/2003: 1.5; 1.7; 1.9
(versiones superiores de Windows aceptan todas las revisiones)

Si después de estudiar todo esto no consigo conectar un teléfono móvil al ordenador, cómo se arreglará la gente normal...

engel lex

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

cixert

#8
Con el que más estoy insistiendo es un Samsung Galaxy Mini S-5570i
http://www.samsung.com/es/support/model/GT-S5570EGIXEC

Me estoy fijando que en la barra de notificaciones aparece un mensaje diciendo que se ha conectado por usb...
Al pinchar en la notificación me aparece un menu para solicitar "dispositivo de almacenamiento masivo".
Le doy a la opción y tampoco aparece como unidad.
Donde si aparece es en "quitar hardware con seguridad".


Nota:
No se si la opción de "almacenamiento masivo" ha aparecido antes o después de aplicar esto en el terminal:
https://deibit77.wordpress.com/2014/01/25/activar-usb-mass-storage-en-android-jelly-bean/comment-page-1/


engel lex

en este caso ya no es lio de drivers standard... es lio de samsung porque usa drivers privativos...

un compañero aquí en el foro justamente tenía una queja similar porque no hay forma directa de transferir archivos entre linux y ciertos samsung
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.