Hola majetes! Supongo que todos vosotros tendréis webcams y quizá hayáis probado a enchufarlas en vuestras distros y... ohhh... desilusión... el linux no la pilla! (Si tenemos Debian es peor todavía porque de serie apenas tenemos módulos adecuados). No hay que preocuparse... vamos a hablar de unos cuantos módulos que hay por ahí con los que, en total, tendremos soporte para varios cientos de cámaras. No quiero decir que estén todos los que hay, pero al menos sí algunos de los más importantes.

Notas sobre el hardware

Bien, las webcams normalitas (las no motorizadas) suelen tener un hardware bastante sencillo: un sensor CCD on-chip (también las hay con sensores CMOS o APS) y un bridge USB que conecta el sensor con el host. Y esto para qué nos sirve? muy sencillo: buscar drivers para nuestras webcams implica conocer qué sensor y que bridge lleva nuestra cámara. Otra forma de buscar los drivers es conociendo el VendorId y ProductId y haciendo la búsqueda en google. La mejor forma de averiguar el chipset es destripar la webcam con destornillador en mano, pero si alguno quiere ser más "fino" puede examinar los drivers de hassefroch (que SI incluye el fabricante... lo hay con suerte! :-P). Por ejemplo, sirva el archivo .inf de mi webcam:
Provider = %SX%
CatalogFile.NT = snpstd3.cat
DriverVer =  06/27/2006,5.16.0.000

%USBPCamV2Desc% =  SN.PCamV2.XP,USB\VID_0c45&PID_613a        ; SN9C120 +
OV7648
Qué significa todo esto? pues ni idea, pero SN9C120 es un bridge bastante común y OV7648 es un sensor muy utilizado también. Ahí ya tenemos el chipset para el que debemos buscar drivers.

Webcams Phillips

Para no hacer una receta muy larga no pondré aquí todas las cámaras que soporta, pero aquí tenéis la lista de compatibilidad del módulo. Si tenemos alguna de estás cámaras, lo normal es que el linux venga con el módulo pwc.ko de serie. Éste es el módulo que maneja estas cámaras. Pero si queremos compilarlo nosotros mismos:
# m-a ai pwc
También podemos hacerlo más artesanal, nos descargamos los fuentes de pwc y compilamos:
$ unp pwc-10.0.12-rc1.tar.bz2
$ make
# make install
Tened en cuenta que make install debéis hacerlo con el módulo pwc descargado. Si todo ha ido bien, ya tenéis soporte para cámaras phillips y muchas logitech, sólo tenéis que pincharlas y con xawtv o effectv podréis probarlas.

GSPCA/SPCA5XX

Este modulito soporta más de 200 cámaras. Tiene un código muy sencillito que te permite customizarlo fácilmente. Además el autor es muy majete y si le dices cómo es tu cámara (o se la mandas) le añade soporte en el driver. Podéis echar un vistazo a la lista de compatibilidad completa del driver. Existe otra versión del módulo para dispositivos empotrados, la podéis encontrar en la misma página. En Debian no se incluye el módulo por defecto, pero podemos instalarlo fácilmente:
# m-a ai spca5xx
# m-a ai gspca
Si, como antes, queremos hacerlo más artesanal, descargaremos los fuentes de la sección de descargas. Usaremos gspcav1, ya que el otro módulo ya está obsoleto:
$ unp gspcav1-20070508.tar.gz
$ cd gspcav1-20070508
$ make
# make install
Al igual que antes, si todo salió bien, podemos conectar la cámara y con algún programa V4L probar que funcionan.

OV511

Este es el nombre del bridge al que da soporte éste módulo que soporta más de cien cámaras. Podéis verlas en su lista de dispositivos. Debian tampoco trae este módulo de serie en el kernel pero es fácil de incluir:
# m-a ai ov511
Si queremos una instalación artesanal, vamos a su página y en la sección de descargas nos bajamos la versión que queramos, descomprimimos y compilamos:
 $ unp ov511-2.32.tar.bz2
$ cd ov511-2.32
$ make
# make install

QuickCam Express

Este módulo actualmente suele formar parte del linux y fue el precursor del V4L. Si queremos compilarnos nuestro propio qc-usb:
 # m-a ai qc-usb
También podemos obtener los fuentes en su
 $ unp qc-usb-0.6.5.tar.gz
$ make all
# make install

Linux UVC

Este módulo pretende dar soporte genérico al USB Video Class. Es decir: si un dispositivo cumple el estándar de los dispositivos de vídeo USB, este módulito debería poder soportarlo. Para que nos entendamos: es como el módulo genérico de USB Mass Storage Device pero para vídeo. Al igual que antes, podemos instalarlo fácilmente:
# m-a ai linux-uvc
También podemos descargar los fuentes de la
página oficial o hacerlo directamente desde el repositorio:
$ svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk
$ cd trunk
$ make
# make install
...y con todo esto creo que tenemos soportadas más de 400 cámaras entre todos los drivers ;-). De todas formas, si vuestra cámara siguiese sin funcionar, no os preocupéis, hay más módulos no tan genéricos para muchas cámaras (incluso webcams para puerto paralelo). Además, si no existiera el driver, podéis encontrar los datasheets del chipset de la cámara y enviarlo a las listas de desarrollo del módulo que soporte un hardware parecido; seguro que os podrán ayudar a incluir vuestra cámara.

Colaborar

Si vuestra cámara no esta oficialmente soportada por alguno de estos módulos, pero los probáis y os funciona, sería de gran ayuda a los desarrolladores que los enviaseis un correo con el modelo de cámara, chipset (si lo conocéis) y versión del módulo que usáis.

Enlaces

Los tenéis por toda la receta :-P.


blog comments powered by Disqus