Valadrem

«Parecen fuegos de artificio»

11 de noviembre de 2015

A vueltas con el MTP

Siguiendo con mis aventuras con la tableta, hoy me he visto en la necesidad de copiarle unos archivos directamente, sin extraer la tarjeta como la última vez. Como sabrá cualquiera que usara dispositivos Android hace unos años y siga usándolos ahora, gracias a la incompetencia de Google ya no es posible usar el clásico modo de "almacenamiento masivo" que permitía un acceso directo a la unidad y ahora lo habitual es que el aparato solo permita usar el insufrible modo MTP. Teniendo en cuenta que este protocolo está desarrollado por Microsoft, principal competencia de Google en el campo de hacer las cosas mal, tiene un sinnúmero de problemas.

El más molesto de todos es, probablemente, que cada vez que se intenta copiar un archivo desde el ordenador hasta el almacenamiento de la tableta aparece un aviso.


¿Desea copiar al dispositivo? Es posible que el dispositivo no pueda reproducir o ver el archivo. Cada vez. CADA VEZ.

No hay modo de eliminar este aviso porque Microsoft considera, tal vez con razón, que si usamos sus productos es que somos medio lerdos, así que lo más conveniente es molestarnos una y otra vez con un mensaje de error completamente inútil. Aunque puede estar bien que te avisen mil veces de lo mismo, a la vez mil uno ya empiezas a buscar vuelos a California para golpear a Steve Ballmer en la cabeza, así que para evitar cometer actos dolosos, plenamente justificados pero tal vez aún punibles, empiezas a buscar soluciones para desactivar el mensaje como sea. Uno de los primeros resultados está en Super User y ofrece varias soluciones.

Por desgracia, mi tableta no permite activar el modo de almacenamiento masivo ni recurriendo a artimañas, y tanto desactivando la dll como la extensión de shell el mensaje sigue apareciendo. Borrando la dll en plena desesperación la tableta directamente deja de aparecer en Mi PC, así que no es precisamente una solución idónea. Pero no todo está perdido. Mirando los recursos de wpdshext.dll, veo que uno de ellos es un listado de claves que se añaden al Registro de Windows al registrar la dll y que entre ellas hay un apartado de formatos de archivos.


Teniendo en cuenta que el mensaje no aparece con todos los formatos, sospecho que esta tabla puede ser la clave de la solución. Pruebo a borrarla del Registro, pero eso no soluciona nada. Así que, tras restaurarla, pruebo a ir abriendo claves y cambiando los valores de ContentType y Format. Finalmente descubro que, poniendo para todas las extensiones los valores correspondientes a los archivos .txt ¡Windows deja de preguntarme tontadas!

El modo de hacerlo es muy sencillo. Bueno, es algo sencillo. Basta abrir el editor del Registro y exportar la rama
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Portable Devices\FormatMap
(al escritorio, por ejemplo). Guardamos una copia de este archivo por si todo sale mal y queremos restaurarlo (valdría igualmente, creo, volviendo a registrar la dll). A continuación, con un editor de texto, editamos todas las entradas de modo que los valores correspondan a los de los archivos .txt. Tiene que quedar algo parecido a esto, solo que mucho más largo.


Por último, guardamos los cambios y añadimos al Registro los valores del archivo que acabamos de editar. La próxima vez que intentemos copiar un archivo, Windows ya no nos preguntará si estamos seguros. En caso de que nos lo pregunte para alguna extensión rara que no está en la lista que hemos editado, como con vídeos .mkv, bastará con añadir esa nueva extensión copiando el formato de las otras entradas.

Algunas consideraciones: Toda esta entrada se refiere a Windows 7, en otras versiones de Windows el mensaje sigue estando ahí, no tengo ni idea de si el truco funcionará. También parece ser que el mensaje no es igual para todo el mundo, a alguna gente no le pregunta si quiere copiar el archivo, sino que se ofrece a convertirlo; creo que en mi caso es diferente solo porque no tengo instalado Windows Media, así que probablemente por lo demás funcione igual. Por último, forzar a que Windows considere archivos de texto todos los archivos que tenemos en un dispositivo externo puede (no tengo ni la menor idea) tener algún efecto secundario que todavía no he encontrado, así que ojo.

Etiquetas: , ,

# | Publicado: 16:16

9 de noviembre de 2015

Lo de la SD

Ayer por la mañana me quejaba amargamente por Twitter de que, de la docena de tarjetas SD que tengo por casa, la primera en "romperse" había sido la más nueva, la que menos había usado y la única con una marca conocida (concretamente Samsung). Al final la cosa no fue exactamente lo que me había parecido, así que hago un resumen de la jugada por aquí por si le sirve a alguien más.

Diagnóstico: El día anterior la tarjeta que tenía en mi tableta empezó a desmontarse cada vez que intentaba modificar un archivo. Podía ver las cosas, pero no podía crear archivos ni editar los que ya estaban. Al día siguiente moví la tarjeta al ordenador para comprobarla, y en ese momento descubrí que ya ni siquiera podía leer los archivos. Cuando intentaba abrir uno o copiarlo al ordenador, me aparecía un aviso de error diciendo que el dispositivo estaba ocupado. Parecía que había perdido por completo los datos.

Solución: Tras varias pruebas sin ningún éxito, finalmente descubrí que montando la tarjeta como de solo lectura podía acceder a casi todos los archivos, siendo ilegibles solo los que había intentado editar el día anterior. Después de hacer una copia de seguridad de los datos, y a la vista de que Windows se negaba a hacer nada con ella, volví a moverla a la tableta para formatearla.

Giro inesperado: Aunque la idea de formatear la tarjeta era únicamente para llevarla vacía a la tienda para reclamar la garantía, por curiosidad volví a poner la tarjeta en el ordenador y probé H2testw y después el propio chkdsk de Windows, sin que ninguno de los dos programas encontrara errores. Finalizadas las pruebas, que tardaron algo así como horas, volví a copiar a la tarjeta los archivos de la copia de seguridad que había hecho un rato atrás, sin que hubiera ningún problema ni al copiarlos en el ordenador, ni al intentar verlos o editarlos en la tableta.

Aunque a mí nunca se me ha roto ninguna, es cierto que las tarjetas SD tienden a dejar de funcionar en un momento dado, pero parece que en este caso el problema era simplemente que se había corrompido la tabla de archivos. Que es algo que en realidad tampoco me había pasado nunca. Probablemente lo más apropiado habría sido comprobarlo con software especializado antes de formatear, pero viendo los síntomas a toro pasado y que con un formateo se solucionó el problema, creo es una explicación razonable.

Por cierto, un efecto secundario interesante de vaciar una tarjeta (o cualquier otro tipo de unidad de disco, en realidad) es que es un modo perfecto de desfragmentarla por completo, con lo cual (solo temporalmente, claro) la tarjeta es sensiblemente más rápida que antes de que pasara todo esto. No está mal.

tl;dr

Si de pronto tu tarjeta deja de funcionar en tu móvil y al meterla en el ordenador ni siquiera puedes leerla, intenta montarla como de solo lectura, quizá todavía puedas salvar algo. Y, antes de darla por perdida, después de haber hecho una copia de seguridad formatéala por completo y vuelve a probar.
Y ten siempre copias de seguridad.

Etiquetas: , ,

# | Publicado: 12:04

Archivo