Broadcom bajo Linux

Hay fabricantes de hardware que aún no consideran a Linux una plataforma lo suficientemente importante como para entregar los drivers necesarios para que sus productos funcionen en dicho sistema operativo. Para contrarrestar dicho efecto, existe (al menos para tarjetas de red) un workaround: existen ciertos drivers (wrappers) que absorben los drivers para Windows y hacen que estos funcionen bajo Linux. Ejemplos de ellos son: ndiswrapper (free) y DriverLoader de LinuxAnt (comercial).

Pero dicha alternativa no es muy limpia y tiene ciertas limitaciones, por lo que de todos modos seguiría siendo mejor tener drivers nativos para Linux. Yo he tenido que usar ndiswrapper hasta hoy, cuando he instalado un nuevo driver para mi tarjeta WLAN (una Dell TrueMobile 1350) que ha sido desarrollado por un grupo de voluntarios.

Para poder hacerlo, hicieron un proyecto llamado bcm43xx consistente en tres fases:

  • aplicar técnicas de reverse engeneering en las distintas versiones de la tarjeta de red, lo que les permitió comprender el funcionamiento del hardware y sus interfases con el sistema operativo.
  • Plasmar dicho conocimiento en un documento
  • Utilizar el documento como base para crear el nuevo driver.

El procedimiento antes descrito se llama Clean room design o Chinese wall technique. En él, dos equipos separados trabajan en la creación de la especificación del objeto copiado y en la implementación de dicho objeto. De este modo, no se lesiona ningún copyright.

El resultado aún no está listo. En su versión actual, el driver funciona en lo básico. Es una versión en desarrollo y aún está lejos de ser entregada oficialmente al público. Pero funciona.

Gik.-