¿Problemas con el lector de tarjetas SD?

Recientemente estoy atravesando por una de esas fases de sequía bloguera. No es que no haya temas de los que escribir, al contrario. El problema es que la mitad de ellos me hinchan la vena del cuello como si fuera una cámara de bicicleta, y la otra mitad ya son muy competentemente comentados por blogueros-alfa a los que sigo. Hay días en los que Google Reader es como un pequeño ángel de la guarda cabrón que te susurra al oído “¿para qué? Si ellos ya lo han dicho mejor que tú…” De modo que acudiré al viejo truco: contar alguna frikada técnica que me haya ocurrido recientemente, de la que haya aprendido algo y con la que —espero— alguien pueda ahorrarse quebraderos de cabeza. Hala, al lío.

El problema

"Expulsar unidad de forma segura" en Ubuntu 9.10
“Expulsar unidad de forma segura” en Ubuntu 9.10

Uso Ubuntu 9.10 Karmic Koala (¿no son encantadores los nombres?), aunque tal vez desde la versión anterior he notado la inclusión de un elemento adicional en el menú contextual de los medios extraíbles, Expulsar unidad de forma segura, que acompaña a los más tradicionales Desmontar y Expulsar. Desmontar es un viejo concepto unixero asociado a la gestión de volúmenes de datos; los linuxeros de hoy montamos poco desde que existe automount, pero para los medios extraíbles es recomendable indicarle de algún modo al sistema operativo que tenemos intención de tirar de la manta, o de la tarjeta en este caso. De otro modo podríamos interrumpir alguna operación de escritura en curso (en todos los S.O. multitarea son asíncronas, lo que significa que ocurren cuando al planificador del núcleo le parece) y corromper —como poco— algún fichero. Expulsar implica desmontar, y tiene sentido en una unidad de CD o DVD, donde hay una bandeja motorizada que extrae físicamente el medio.

Como la idea de hacer algo “con seguridad” me atrae, al menos en principio, comencé a utilizar esta opción antes de extraer mis tarjetas SD de su ranura. Sin embargo, un día, al insertar una tarjeta llena de fotos de las últimas vacaciones, observé que automount estaba pasando de mí. Pánico creciendo. Pronto me di cuenta de que el lector no funcionaba en absoluto. Ni siquiera aparecía al hacer un lsusb en una consola. Pánico disminuyendo, pero extrañeza creciendo. Como no apago el equipo todos los días, tardé en darme cuenta de que era precisamente tras expulsar “de forma segura” una tarjeta cuando ya no podía leer más ¡y el dispositivo lector dejaba de existir! El único remedio: reiniciar. Después del reinicio todo volvía a la normalidad. Hasta que mi mente, ansiosa de seguridad, volvía a pulsar en esa opción y, días más tarde, vuelta a empezar.

La solución

Resulta que Expulsar unidad de forma segura hace algo más que desmontar la tarjeta: también apaga el dispositivo lector. Eso es estupendo: añade un plus de seguridad con un lector de tarjetas portátil. Lo desenchufas del puerto USB y listo; la próxima vez que lo enchufes se encenderá. Pero… los lectores internos suelen estar conectados también por una interfaz USB a la placa —para ahorrar en interfaces PCI. El chipset que llevan reacciona a los mismos comandos que los lectores externos, y en particular pueden apagarse de la misma manera. Así, si apagamos un lector interno de tarjetas, tenemos dos opciones: abrir el ordenador en vivo, localizar su conexión a la placa, desenchufarla y volverla a enchufar; o —más cómodamente— apagar y encender. Vaya. No me pillaréis más expulsando de forma segura. Seguro.

Compatible, pero ¿a qué precio?

Como padre, me preocupa que el material que utilizan mis hijos en el colegio sea de la máxima calidad posible. Como defensor del software libre, me preocupan los intentos por perpetuar la estandarización de un sistema operativo determinado, aun contra los intereses colectivos de la sociedad —¿por qué pagar una tasa Microsoft, cuando existen alternativas, tanto de pago como gratuitas y de calidad más que satisfactoria? Por eso, comprobar que los soportes digitales asociados a dos de los libros de mi hijo este año declaran su compatibilidad explícita con Linux (los demás no sorprenden a estas alturas) me llena de gozo y satisfacción. También me llena la boca de patatas cocidas, para poder pronunciar esa frase con el tonillo real que se merece. Leo las instrucciones:

Windows
Introduzca el CD-ROM en el lector de su ordenador. Si tiene activada la opción de autoarranque, el programa se ejecutará automáticamente. Si esta opción no estuviese activada, ejecute el fichero ExeWin.exe situado en el directorio raíz de su unidad de CD-ROM.
Mac
Introduzca el CD-ROM en el lector y haga doble click en el fichero ExeMac situado en el directorio raíz de su unidad de CD-ROM.
Linux (las notas son mías)
Después de introducir el CD-ROM en el lector y montarlo correctamente1, ejecute el fichero ExeLinux.sh2 situado en el directorio raíz de su unidad de CD-ROM. Si el administrador del sistema no permite ejecutar programas desde el CD-ROM3, puede cambiar esta autorización editando como usuario ROOT4 el fichero /etc/fstab5, añadiendo la opción exec6 a la línea /dev/cdrom, de forma que quede de la siguiente manera:

/dev/cdrom /cdrom iso9660 defaults,ro,user,noauto,exec 0 07

(Nota: alguno de los valores puede ser diferente, dependiendo de su configuración personal8.)

Acabáis de oir el sonido de mi mandíbula cayendo al suelo. Disculpadme mientras la recojo. Ahora, las notas, o ¿qué puede ir mal en todo esto si no tienes unos años de experiencia con Linux?:

  1. ¿Montarlo correctamente? Si sólo tiene una pieza.
  2. La ejecución podría ser excesiva. Tal vez un correctivo sería suficiente.
  3. ¿Por qué puede puede no estar permitido que se ejecuten programas desde un CD? Y ¿quién es ese administrador que dicen?
  4. Sí, con vi, no me digas más.
  5. Naturalmente, todo el mundo sabe dónde está ese archivo y cómo llegar a él.
  6. ¿Ein?
  7. ¿Ein (al cuadrado)?
  8. No es por molestar, pero esto es añadir la humillación al insulto.

No, la verdad es que no es un buen día para tener fe en que Linux se convierta alguna vez en un sistema operativo popular en el escritorio.

Cuando un desconocido te regala flores…

… Eso es impulso. Por si no eres lo suficientemente viejuno como para saber a qué me refiero, traduciré el ripio a un lenguaje más actual:

Si un día te da el venazo y te compras una , teniendo en casa sólo un ordenador con … Eso es impulso.

Ya hace unos meses que me la compré. Los suficientes para que no martirizarme —mucho— por el reciente anuncio de la versión 2 del Touch. No importa. El aparatito es cool, usarlo es un placer y las chicas me miran con deseo en el metro (ejem). Pero un día de estos tendré que ponerle algo de música dentro —me han dicho que es la caña lo de hojear las cubiertas de los discos con el dedito. Seguramente tendré que bajarme el ese. Una vez lo vi en el ordenador de mi hermana: si tratan de hacer propaganda de lo fácil que es usar un con esa cosa, creo que prefiero comprarme un de segunda mano.

La primera, en la frente

¡Anda, no hay iTunes para Linux (y también me he dejado los donuts en casa)! ¿A quién podría ocurrírsele semejante perversidad? Pero si es un disfrazado, ¡qué les cuesta? Naturalmente que no me voy a comprar un Mac sólo para cargar de canciones mi gadget, así que Apple me está forzando la mano para que me pase, de entre todos los sistemas operativos posibles, a . Ni de blas.

El geek que hay en mí decide actuar: pruebo a montar una máquina virtual con Windows, usando . Duele, y no por VirtualBox, del que soy feliz usuario desde hace ya tiempo, sino por Windows. No puedo usar la licencia (legitimísima) que venía con mi ordenador en la máquina virtualizada; eso me obliga a algunas manipulaciones creativas que no detallaré aquí. Hecho lo cual instalo iTunes, conecto el bicho y… FAIL! La implementación de de VirtualBox funciona del derecho y del revés con todo, menos con el Touch. Argh.

La ingeniería inversa, al rescate

Una librería (sí, sé que se dice biblioteca, denunciadme) de Linux es capaz de acceder al contenido de los iPods: libgpod. Siempre y cuando, claro está, que el sistema de archivos del bicho esté desencriptado. Los Touch vienen cerraditos cerraditos de serie, así que va a haber que abrirlo un poco. Vamos, lo que viene siendo un jailbreak de toda la vida. Vamos allá.

Después de varios días desmadejando esta madeja de tutorial parece que medio funciona y todo, pero sólo por (= más lento que un caracol con artritis). Igual si me paso al firmware 2.0 del Touch mejoro las cosas. ¿Sólo lo puedo pillar con iTunes? Después de las desventuras habidas, creo que lo tomaré prestado para probarlo un rato. Luego lo devuelvo.

Enésimoprimer acto: la ocurrencia fatal

¡Ja, ja y ja! Tuve que pedir prestado un PC infectado con Windows y borrar mis seis gigas de música, pero merecerá la pena. A ver qué hace… Es raro, he pasado una canción con Amarok y no sale en el Touch. A ver qué dicen los internets. (Sonido de una mandíbula cayéndose al suelo.) El firmware 2.x cambia el formato de encriptación de la base de datos de canciones. Parece que voy a tener que hacer un downgrade a la 1.1.4, que es la última que funciona. No parece difícil. Sólo hay que teclear en morse el primer párrafo de Beowulf usando la tecla redonda para los puntos y la de arriba para las rayas. Ya estoy en ello: Hwæt! Wé Gárdena in géardagum / þéodcyninga þrym gefrúnon

Tardo siete horas y cuarto en conseguirlo.

¿Fin?

Me he enterado de que con sí se puede crear una máquina virtual con Windows dentro de Linux que se pueda conectar al Touch. A partir de la versión 6.0.3 de Workstation (y las paralelas en otros productos). Pero sigo teniendo dos problemas:

  1. es freeware, pero he visto ordenadores mucho más capaces que el mío caer de rodillas frente a su sed de ciclos. También he visto brillar rayos C sobre el hombro de Orión, pero qué más da.
  2. puede crear máquinas virtuales, pero no me compensa la relación coste-beneficio. Lo siento. 189 $ son muchos sólo para usar el zarrio de iTunes.

Así que, tirando de imaginación, me bajo el para Linux (2.0.5) y consigo una máquina virtual en formato VMX.

Funciona, pero ya es hora de irse a la cama.

Mal día para dejar el pegamento

Con mi Touch funcionando con su iTunes (puaj), me puedo sacar una cuenta de la Tienda iTunes y actualizar —por fin— mi cacharrito a la ultimísima y mejorcísima versión de firmware. Como ha pasado más de diez minutos desde que empezara el proceso (memorias, sin duda implantadas, de recorren mis neuronas), la versión ya no es la 2.0.2, sino la 2.1.

Sólo un último consejo:

Nunca, jamás, bajo ninguna circunstancia intentéis actualizar el firmware de un Touch en un Windows virtualizado.

Quien avisa no es traidor.