Lo hice y lo entendí

El blog de Vicente Navarro
01 sep

La importancia de comprar hardware con drivers abiertos

Hace un rato os contaba cómo configurar el Epson 2480 en Linux. Ha sido muy fácil, ¿verdad? Bueno, pues era más bien una excusa para entrar caliente en un tema que quería abordar hace tiempo…

Siendo el caso del Epson Perfection 2480 uno de los casos más fáciles que podemos encontrar para configurar un dispositivo hardware que no esté directamente soportado por el kernel, nos toca reconocer que a Linux aún le queda un buen camino que recorrer en el área del reconocimiento automático del hardware, algo que sin el apoyo real de los fabricantes nunca será posible del todo. Este dispositivo está bien soportado en Linux, pero como el firmware es cerrado, no puede ser incluido en distribuciones que tengan un mínimo reparo a las licencias del software que incluyen.

En la época de Windows 95 anterior a la llegada del 98 teníamos otro escáner, un Mustek Paragon 6000p de puerto paralelo. Estábamos contentos con aquel escáner, aunque como el 486 no tenía EPP/ECP, la velocidad de transmisión de imágenes al PC era lamentable. Pero bueno, el caso es que cuando salió Windows 98, Mustek no sacó drivers para este nuevo sistema operativo. Incluso hoy en día, si vamos a la página de drivers del 600 III EP Plus (¡el 6000p no está!) vemos que sólo hay drivers para Windows 95. ¿Qué pasó? Pues que si migraba no tenía escáner. Ahí me di cuenta de que si el escáner estaba soportado en Linux con un driver abierto (sí que lo está, aunque no sé desde cuándo), jamás me tendría que preocupar en adelante porque un dispositivo hardware dejara de estar soportado. Desafortunadamente, aquel escáner tuvo una muerte temprana, pero si aún estuviera funcionando, yo, en 2007, más de 10 años más tarde, podría poneros capturas obtenidas con él con mi Debian, pero desde luego no podría hacer lo mismo con Windows XP ni con Vista.

Estos problemas le ocurrieron a mucha gente cuando Windows 98 no aceptaba los drivers de Windows 95 y el fabricante no hacía drivers para dispositivos de un año o dos de antiguedad para Windows 98. Volvió a ocurrir cuando muchos dispositivos quedaron en la cuneta en el paso a Windows 2000. Ahora, como los drivers de Windows 2000 sirven para Windows XP, llevamos mucho tiempo sin vivir estos problemas y se nos habían olvidado, pero con la salida de Vista, de nuevo está ocurriendo que ante la ausencia de drivers para Vista, muchos tienen que elegir entre su hardware o Vista (que yo lo tendría claro, pero en fin, para gustos están los colores).

Es el paraíso de los fabricantes. No me extrañaría que desearan con todas sus fuerzas que con cada nueva versión Microsoft cambiara el formato de sus drivers para que todos los usuarios tiraran a la basura sus dispositivos totalmente funcionales y compraran nuevos compatibles con el nuevo Windows Tuerto de turno.

Y es que comprar hardware para el que exista un driver en Linux te garantiza que tu hardware morirá cuando tú quieras, no cuando quiera el fabricante dejar de soportar el dispositivo porque con dos años ya está obsoleto.

Pero no sólo eso: Hay esforzadísimos programadores de drivers de Linux que se lo curran muchísimo para, contra el viento y la marea de los fabricantes que no proporcionan las especificaciones de sus dispositivos, crear drivers usando ingeniería inversa de los drivers de Windows. Su labor es altamente loable, pero no hemos de conformarmos con eso. Un driver obtenido por ingeniería inversa normalmente será de peor calidad que uno hecho a partir de las especificaciones. Así que, como dicen los americanos, tenemos que votar con nuestros euros y favorecer a los fabricantes que proporcionan las especificaciones de su hardware o, incluso mejor, que favorecen e impulsan la creación de drivers abiertos.

El poder está en nuestras manos si lo usamos bien. Si te vas a comprar una tarjeta WiFi fíjate en que Ralink hace un esfuerzo grande para que tengamos buenos drivers para sus chips, fíjate en que Intel proporciona los mejores drivers abiertos de procesadores gráficos de hoy en día, fíjate en que con la ayuda para hacer drivers para Linux que proporciona VIA a los desarrolladores y los que ella misma distribuye, las placas VIA EPIA van mejor en Linux que en Windows…

…y fíjate en que si ahora mismo NVidia y ATI cerraran sus puertas, nos quedaríamos con tarjetas gráficas compradas por entre 100 y 600€ que en pocos meses no servirían para nada que no fuera 2D.

Por tanto, por favor, antes de comprar cualquier hardware nuevo, comprueba previamente si está soportado en Linux. Estarás favoreciendo a los fabricantes que colaboran con la comunidad de código abierto, estarás perjudicando a los que no lo hacen y, sobre todo, saldrás ganando tú. Es posible que no uses Linux ni quieras usarlo en el futuro, pero haciéndolo así sabes que dentro de 10 años, si quieres volver a usar ese dispositivo que tienes en el armario, podrás hacerlo, aunque tenga que ser con Linux.

Entradas relacionadas

12 Comentarios a “La importancia de comprar hardware con drivers abiertos”

  • trinux dice:

    Aquí es obligatorio mencionar a un peso pesado en este tema. Premiado “Award for the Advancement of Free Software 2004″ hablo de Theo de Raadt. Sin duda una figura admirable.

    http://en.wikipedia.org/wiki/Theo_de_Raadt

  • trinux ¡Totalmente de acuerdo! Muchas gracias por mencionarlo. Un extracto del enlace que pones:

    De Raadt is also well known for his advocacy of free software drivers. He has long been critical of developers of Linux and other free platforms for their tolerance of non-free drivers and acceptance of non-disclosure agreements.

    In particular, de Raadt has worked to convince wireless hardware vendors to allow their product firmware to be redistributable freely. These efforts have been largely successful, particularly in negotiations with Taiwanese companies, leading to many new wireless drivers. Today, de Raadt encourages wireless users to “buy Taiwanese”, due to lack of willingness from US companies like Intel and Broadcom to release firmware free from licensing restrictions.

  • Ringmaster dice:

    Cómo te lo curras, Super Coco. Desde luego tus artículos no podrían estar mejor explicados, documentados y organizados.
    Me quito el sombrero una vez más. Sigue así; tus artículos son muy útiles para los que empezamos en el mundillo linux y vemos todas las ventajas que tiene usarlo.

    Por cierto, tengo el último kernel estable 2.6.22, y a veces se me cuelta; creo que por el controlador de la Webcam Instant, tanto el ratón como el teclado dejan de responder y la imagen se congela, aunque los programas siguen funcionando ya que sigue parpadeando el indicador de red y de forma aleatoria.
    Puede que sea eso y puede que no, y me gustaría ayudar a depurar el problema lo más directamente posible (si es que se puede, evitar tener que entrar por ssh, mirar la pila de memoria y andar examinando el código ensamblador). Ya que conoces Linux a fondo; ¿en qué log mirar? ¿cuál es la forma más sencilla de saber cuál de los drivers lo bloquean? Supongo que descargarlos, y cargar de uno en uno, pero como el bloqueo pasa una vez a la semana…

    Y es que sólo de pensar que tengo que activar la depuración del kernel (el de la webcam está en nivel usuario por lo que no debería bloquearse por ello), y utilizar herramientas de depuración me dan mareos…

    Vaya, cómo me enrollo. En fin, que quería un sistema estable y cuantos más programas uso lo es menos (o es el driver 3D para la CN700 que está inacabado y con bugs o bien el de la webcam con el motion)…
    Con esto quiero decir que la situación de los controladores en linux es la del pez que se muerde la cola; por la falta de apoyo de los fabricantes nos encontramos con muchos drivers inacabados, o con la mitad de elementos configurables (ingeniería inversa), o bien con gente sin los conocimientos adecuados programándolos (aunque menos da una piedra ;-) ).

    A ver si cambia esta situación pronto.

  • Ringmaster ¡Muchas gracias por tus amables comentarios! :-) Creo sinceramente que sobrestimas de largo mis conocimientos ;-)

    El que el led de la interfaz de red parpadee no quiere decir que el sistema esté arriba, ya que esa luz la controla el procesador de la tarjeta que puede no estar colgado. De hecho fíjate que en ocasiones parpadea con el ordenador apagado a la espera de Wake on Lan. ¿Puedes entrar por SSH o telnet?

    El Linux sólo se puede colgar por bugs en el kernel. Si el driver de la webcam está a nivel de usuario, como bien dices, no debería de colgarse. Lo que a veces sí se cuelga y deja el sistema inservible en la consola (pantalla congelada y teclado y ratón inútiles) son las X Windows. En esos casos, a veces entrando por SSH o telnet puedes matar la sesión, pero en otros casos se queda inservible para siempre hasta que se reinicia. Esto me pasa a mí, por ejemplo, al usar el Beryl con KDE. Inestabilidades del driver de vídeo, claro, porque aunque la aplicación se comportara mal, las X no se deberían de colgar. En tu caso, tal vez al escribir el vídeo a la pantalla aparezca el problema. Yo probaría a no usar la webcam, a mirar en el ~/.xsession-errors, a mirar en el Xorg.0.log, en el dmesg… Desde luego, a mí ni se me ocurriría intentarlo con el debugger, como propones…

    Sobre lo inestable que puedan ser los drivers de VIA o no, es importante señalar que al menos existen y nos podemos basar en ellos para crear unos mejores, como hacen los chicos de openChrome. Al respecto, hace unos días escribí este comentario en Barrapunto que pretende explicar esto mismo.

  • Ringmaster dice:

    Gracias por tus consejos, y no, no sobrevaloro tus conocimientos; con tu respuesta los demuestras (y no es peloteo). Es muy loable que mantengas este blog sin publicidad.

  • Ringmaster ¡Gracias! Sobre la publicidad, es algo que ya decidí hace tiempo, y aunque no voy a decir que no la incluiré jamás, no tengo previsto hacerlo. Hay sitios que saben integrarla mejor en la página que otros, pero en general me resulta bastante desagradable, así que prefiero evitarla aquí.

  • Ringmaster dice:

    Bueno, la publicidad yo la acabo de incluir en el blog tratando de que no sea tan desagradable, no creo que me saque nada hasta el 2010 pero es mi primera experiencia en esto, a ver que tal (y que Google comparta unos pocos de sus miles de millones ;-) ).

  • Ringmaster dice:

    Finalmente ya sé con certeza qué es lo que hacía colgarse mi linux… y es que tenía activado en el kernel el soporte (EXPERIMENTAL) de enhanced powersave.
    Lo he desactivado ahora que tuve que volver a configurar alguna cosilla (nuevo disco duro) y llevo una semana dándole caña con el SHA1 (BOINC), el MOTION, y el KTORRENT (distro derivada de Gentoo Sabayon live-DVD)… y viendo alguna peli sin subirle de 800 Mhz y va suave, suave. Y es que no hay que arriesgarse con las opciones experimentales…

  • Ringmaster Me alegro mucho por ti de que hayas aclarado el problema :-)

  • Mott dice:

    Te doy toda la razón en este articulo. Es más, mi portatil nuevo (comprado hace poco más de un año) venia con Vista incorporado – segun Asus, no podian venderlo ya con XP y blablabla… Pues bien, hasta el momento he sido incapaz de hacer funcionar la webcam con el Vista de las narices. Ni antes ni despues del SP1. Sin embargo, Linux Mint la reconoce a la primera y con Debian se le puede instalar facilmente el driver (no-oficial) correspondiente.

  • @Mott Excelente ejemplo de que si el hardware que compramos está soportado en Linux lo podremos usar siempre en adelante con este SO a diferencia de lo que nos puede ocurrir con Windows. ¡Gracias!

Trackbacks y pingbacks:

Tema LHYLE09, creado por Vicente Navarro