26 de enero de 2008

Auriculares Logitech ClearChat Comfort USB en Debian Etch

Después de varias horas investigando como hacer funcionar éstos auriculares con micrófono incorporado, en Debian Etch, a continuación voy a detallar como he conseguido configurarlos. El problema que he encontrado es que tienen una tarjeta de sonido incorporada en el conector USB, la cuál es detectada en Debian y he tenido y sigo teniendo problemas, a la hora de decidir en algunas aplicaciones por dónde deseo reproducir el sonido, ya que me dan error al intentar reproducir el sonido por éstos auriculares.
Bueno, lo que he conseguido hasta ahora es lo siguiente:


1. Abrimos una terminal (KONSOLE), nos logueamos como root, ejecutamos el siguiente comando y seguidamente enchufamos al puerto USB los auriculares:

# lshal -m
Start monitoring devicelist:
-------------------------------------------------

- Al conectar los auriculares al puerto USB nos aparecerá lo siguiente:

usb_device_46d_a0c_noserial added
usb_device_ffffffff_ffffffff_noserial added
usb_device_ffffffff_ffffffff_noserial property info.linux.driver = 'snd-usb-audio' (new)
usb_device_ffffffff_ffffffff_noserial_alsa_playback_0 added
usb_device_ffffffff_ffffffff_noserial_alsa_capture_0 added
usb_device_ffffffff_ffffffff_noserial_oss_pcm_0 added
usb_device_ffffffff_ffffffff_noserial_oss_pcm_0_0 added
usb_device_ffffffff_ffffffff_noserial_oss_mixer__1 added
usb_device_46d_a0c_noserial_if1 added
usb_device_46d_a0c_noserial_if2 added
usb_device_46d_a0c_noserial_if3 added
usb_device_46d_a0c_noserial_usbraw added
usb_device_ffffffff_ffffffff_noserial_alsa_control__1 added
usb_device_46d_a0c_noserial_if3_logicaldev_input added

Pulsa CTRL + C para salir.

Se puede ver arriba que ha detectado el dispositivo 46d_a0c y se ha cargado el driver "snd-usb-audio".

Para ver el ID del dispositivo USB ejecuta el siguiente comando:
# lsusb
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 002: ID 0458:0007 KYE Systems Corp. (Mouse Systems)
Bus 003 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 005: ID 046d:0a0c Logitech, Inc.
Bus 002 Device 001: ID 0000:0000


Vemos si ha creado el dispositivo de sonido para la tarjeta de sonido de los auriculares USB:
# ll /dev/dsp*
crw-rw---- 1 root audio 14, 3 2008-01-26 12:07 /dev/dsp - Tarjeta de Sonido de mi portátil
crw-rw---- 1 root audio 14, 19 2008-01-26 12:11 /dev/dsp1 - Tarjeta de Sonido USB (auriculares)

Con éste comando vemos los dispositivos de sonido y el orden que ocupan en el sistema. La tarjeta de sonido que está configurada por defecto es Intel HDA (interna del portátil).
# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC883 Analog [ALC883 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 2: ALC883 Digital [ALC883 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Headset [Logitech USB Headset], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

Esto mismo lo podemos ver mirando el contenido del siguiente fichero:
# cat /proc/asound/modules
0 snd_hda_intel
1 snd_usb_audio


2. Comprobamos con el siguiente comando que se reproduce por los auriculares un archivo MP3
# play -d /dev/dsp1 archivo.mp3

Input Filename : MUSICA/The Fray - How To Save A Life.mp3
Sample Size : 16-bits
Sample Encoding: MPEG audio (layer I, II or III)
Channels : 2
Sample Rate : 44100


3. Para que KDE me detectara los auriculares como fuente por defecto de sonido, esto es, al arrancar que todos los sonidos del entorno sean reproducidos por los auriculares, he tenido que cambiar el orden de las tarjetas de sonido, para que me aparezca como primera fuente de sonido (0) el driver snd-usb-audio. Pues para ello y según una guía que he encontrado para ubuntu, hacemos lo siguiente:

# vi /etc/modprobe.d/alsa-base - Añadir al final del archivo

# AURICULARES/MICRÓFONO USB LOGITECH - Dispositivo: /dev/dsp
options snd_usb_audio index=0

# INTEGRADA PORTÁTIL - AC97 - Dispositivo: /dev/dsp1
options snd-hda-intel index=1 model=basic position_fix=0 single_cmd=0


Una vez modificado, cierra el entorno gráfico y mediante la combinación de teclas CTRL + ALT + F1 vamos a la consola de texto, nos logueamos como root y recargamos el servidor de sonido ALSA.
login: root
password:

# /etc/init.d/alsa reload

Comprueba que el cambio se ha realizado de forma correcta ejecutando el siguiente comando:
# cat /proc/asound/modules
0 snd_usb_audio
1 snd_hda_intel

Puedes ver que se ha realizado el cambio correctamente. Ahora pulsa CTRL + ALT + F7 para volver al entorno gráfico e inicia sesión en KDE. Deberías escuchar el sonido de inicio por los auriculares.


4. Los parámetros de sonido pueden ser modificados mediante KMIX, pero ahora te aparecerá un recuadro en el cual debes seleccionar la tarjeta de sonido a configurar.




5. Problemas encontrados con algunas aplicaciones:

- AMAROK:
Para escuchar música con ésta excelente aplicación, he tenido que hacer los siguiente:

SONIDO A TRAVÉS DE T. SONIDO AURICULARES - snd-usb-audio:
MENÚ PREFERENCIAS / CONFIGURAR AMAROK / MOTOR / Dentro del Recuadro "Configurar Motor xine" Extensión de salida / Seleccionar ARTS

SONIDO A TRAVÉS DE T. SONIDO INTERNA - snd-hda-intel:
MENÚ PREFERENCIAS / CONFIGURAR AMAROK / MOTOR / Dentro del Recuadro "Configurar Motor xine" Extensión de salida / Seleccionar OSS


- KAFFEINE:
Para reproducir archivos multimedia.

SONIDO A TRAVÉS DE T. SONIDO AURICULARES - snd-usb-audio:
MENÚ PREFERENCIAS / PARÁMETROS DEL MTOR DE XINE / AUDIO / Seleccionar Driver ARTS - NO FUNCIONA. LA APLICACIÓN SE CIERRA

Si en vez de ARTS pongo ALSA me da el siguiente error:
>>> Check if another program already uses PCM <<<
snd_pcm_open() failed:-16:Dispositivo o recurso ocupado
>>> Check if another program already uses PCM <<<
snd_pcm_open() failed:-16:Dispositivo o recurso ocupado
xine: found demuxer plugin: AVI/RIFF demux plugin
xine: found input plugin : file input plugin
>>> Check if another program already uses PCM <<<
snd_pcm_open() failed:-16:Dispositivo o recurso ocupado

SONIDO A TRAVÉS DE T. SONIDO INTERNA - snd-hda-intel:
MENÚ PREFERENCIAS / PARÁMETROS DEL MOTOR DE XINE / AUDIO / Seleccionar Driver OSS


- ICEWEASEL:
No podía escuchar los videos de youtube. Solución: editamos el fichero /etc/iceweasel/iceweaselrc como root y sustituimos "none" por "arts", "aoss","esd","alsa". Cualquiera me ha funcionado.
# vi /etc/iceweasel/iceweaselrc
# which /dev/dsp wrapper to use
#ICEWEASEL_DSP="esd"
#ICEWEASEL_DSP="aoss"
#ICEWEASEL_DSP="arts"
ICEWEASEL_DSP="alsa"

De ésta manera, envía la señal al dispositivo por defecto (/dev/dsp) que en éste caso he puesto que son los auriculares.


- ZATTOO PLAYER:
No me funciona el sonido. Al mirar en el log me dice lo siguiente:
ERROR: Could not initialize the sound hardware: Dispositivo o recurso ocupado

27.01.8 Actualización:
Pues la verdad no se que he tocado, pero Zattoo me funciona por el dispositivo /dev/dsp, o sea, los auriculares. Lo único que he hecho anteriormente es configurar el sonido para Iceweasel.


En resúmen:
- No recomiendo para nada comprar unos auriculares con micro USB, ya que según estoy viendo, dan muchos problemas con los sistemas de sonido de linux.
- Cualquier ayuda que me puedan ofrecer en cuanto a éste post, será bienvenida.
- Según vaya detectando cosas y solucionando, actualizaré este post.


Saludos y suerte.
Domi - Gran Canaria (Islas Canarias)

19 de enero de 2008

Montar y desmontar dispositivos extraíbles en KDE

1. MONTAJE DE DISPOSITIVOS EXTRAÍBLES:

Cada vez que conectamos un dispositivo extraíble, (pendrive, cdrom, dvd, etc) utilizando el escritorio KDE 3.5.5 que viene en Debian Etch, éste es montado dentro del directorio /media. Para acceder al contenido del dispositivo, puedes abrir Konqueror y a través del menú "Sistema / Dispositivo de almacenamiento" situado en el panel izquierdo, o escribiendo en la barra de direcciones "system:/media" puedes ver los dispositivos conectados.



Si quieres que cada vez que conectes un dispositivo extraíble te cree en el escritorio un icono de enlace, tienes que ir al MENÚ KDE / CENTRO DE CONTROL / ESCRITORIO / COMPORTAMIENTO / PESTAÑA ICONOS DE DISPOSITIVOS y marcar el recuadro "Mostrar iconos de dispositivos".


Otra opción interesante, que ha sido comentada por Mced en éste post para gestionar los recursos extraíbles, es añadiendo al panel de KDE el applet "Dispositivos de Almacenamiento", el cual cada vez que se conecte un recurso, añadirá su icono en la barra de KDE. Si quieres probarlo, simplemente pica con el botón derecho sobre un lugar libre de la barra de KDE / AÑADIR APPLET AL PANEL / DISPOSITIVOS DE ALMACENAMIENTO.



2. DESMONTAJE DE DISPOSITIVOS EXTRAÍBLES:
Para desmontar el dispositivo, lo puede hacer desde la ventana de Konqueror anterior, pulsando el botón derecho encima del recurso que quieres desmontar y picar en "Extracción Segura" ó también pulsando el botón derecho sobre el icono creado en el escritorio. Si utilizas el applet "Montaje de Dispositivos", pica con el botón izquierdo sobre el icono creado en la barra de KDE y selecciona al igual que antes "Extracción Segura".


3. SOLUCIÓN ERROR "DISPOSITIVO OCUPADO" AL DESMONTAR DISPOSITIVOS EXTRAÍBLES:
En la versión de KDE 3.5.5 que viene con Debian Etch, a veces al desmontar un dispositivo (pendrive, disco USB, CDROM, DVD, etc), sale una ventana de error "Error - kio_media_mounthelper", que nos dice que "El dispositivo está ocupado", y se niega a desmontarlo del sistema.


Como se puede ver en la imagen, hay 2 procesos (konqueror con el PID 5212 y kio_media_mount con PID 5777) que están utilizando el dispositivo. Para solucionar éste inconveniente, abrimos una consola (Konsole) y mediante el comando "kill" que nos permite mandar señales a los procesos, le enviamos la señal 9 a los 2 procesos anteriores (PID = Identidad del Proceso: 5212 y 5777), la cual los eliminará del sistema y así podremos desmontar el recurso de forma normal.

Sintaxis del comando:
kill señal PID, PID...

$ kill -9 5212 5777

Una vez ejecutado el comando, puedes desmontar de forma normal el dispositivo.


Saludos y suerte.
Domi - Gran Canaria (Islas Canarias)

16 de enero de 2008

Impresora Dell 3110cn en Debian Etch

Detallo a continuación los pasos que he seguido para configurar en Debian Etch, (aunque debería funcionar en cualquier distribución basada en Debian), la Impresora Dell láser a color modelo 3110cn que he adquirido recientemente.

Esta impresora puede ser configurada a través del puerto paralelo, USB o Red. En mi caso la he configurado como impresora de Red. Para ello en el menú de configuración de la impresora hay que asignarle una IP de nuestra red. Una vez hecho ésto, procedemos a configurar en Debian de la siguiente forma:

1. Insertamos el CD de Drivers que acompaña a la impresora, accedemos al directorio "linux" del CD y copiamos el archivo "Dell-Color-Laser-3110cn-1.0-1.noarch.rpm" en el escritorio.


2. Nos logueamos como usuario root y convertimos el paquete a .deb con el programa "alien".
$ su -
password:

Si no tienes instalado el paquete alien, ejecuta el siguiente comando:
# aptitude install alien

# alien --scripts /home/tu_usuario/Desktop/Dell-Color-Laser-3110cn-1.0-1.noarch.rpm
dell-color-laser-3110cn_1.0-2_all.deb generated

Nos habrá creado el fichero "dell-color-laser-3110cn_1.0-2_all.deb" el cual contiene los siguientes ficheros.

# dpkg -c dell-color-laser-3110cn_1.0-2_all.deb
drwxr-xr-x root/root 0 2008-01-16 14:39 ./
drwxr-xr-x root/root 0 2008-01-16 14:39 ./usr/

drwxr-xr-x root/root 0 2008-01-16 14:39 ./usr/share/

drwxr-xr-x root/root 0 2008-01-16 14:39 ./usr/share/cups/

drwxr-xr-x root/root 0 2008-01-16 14:39 ./usr/share/cups/model/

drwxr-xr-x root/root 0 2008-01-16 14:39 ./usr/share/cups/model/Dell/

-rw-r--r-- root/root 147798 2006-03-15 20:11
./usr/share/cups/model/Dell/Dell_3110cn.ppd
drwxr-xr-x root/root 0 2008-01-16 14:39 ./usr/share/foomatic/

drwxr-xr-x root/root 0 2008-01-16 14:39 ./usr/share/foomatic/db/

drwxr-xr-x root/root 0 2008-01-16 14:39 ./usr/share/foomatic/db/source/

drwxr-xr-x root/root 0 2008-01-16 14:39 ./usr/share/foomatic/db/source/printer/
-rw-r--r-- root/root 1907 2006-03-15 20:11 ./usr/share/foomatic/db/source/printer/Dell-Color_Laser_3110cn.xml
drwxr-xr-x root/root 0 2008-01-16 14:39 ./usr/share/foomatic/db/source/opt/

-rw-r--r-- root/root 1989 2006-03-15 20:11 ./usr/share/foomatic/db/source/opt/ppd-Dell-Color_Laser_3110cn-InputSlot.xml

drwxr-xr-x root/root 0 2008-01-16 14:39 ./usr/share/doc/

drwxr-xr-x root/root 0 2008-01-16 14:39 ./usr/share/doc/dell-color-laser-3110cn/
-rw-r--r-- root/root 846 2008-01-16 14:39 ./usr/share/doc/dell-color-laser-3110cn/copyright
-rw-r--r-- root/root 196 2008-01-16 14:39 ./usr/share/doc/dell-color-laser-3110cn/changelog.Debian.gz


Observa que he remarcado en negrita el driver de la impresora (archivo .ppd) y la ruta en la que será copiado al instalar el paquete.


3. Instalamos el paquete generado.
# dpkg -i dell-color-laser-3110cn_1.0-2_all.deb
Seleccionando el paquete dell-color-laser-3110cn previamente no seleccionado. (Leyendo la base de datos ... 81563 ficheros y directorios instalados actualmente.) Desempaquetando dell-color-laser-3110cn (de dell-color-laser-3110cn_1.0-2_all.deb) ... /var/lib/dpkg/tmp.ci/preinst: line 2: [: install: integer expression expected Configurando dell-color-laser-3110cn (1.0-2) ...


4. Abrimos nuestro navegador web favorito (Iceweasel, Konqueror, ...) y ponemos en la barra de direcciones lo siguiente, para acceder a la web de configuración del servidor CUPS.
http://localhost:631/


NOTA:
Debes tener instalado el servidor CUPS para que te funcione éste paso. En caso de no tenerlo, ejecuta el siguiente comando:
# aptitude install cupsys cups-pdf


4. Picamos en el botón "Añadir impresora" y ponemos el nombre para identificar la impresora.

Nombre: Dell


5. En la siguiente ventana nos pregunta sobre el tipo de conexión de la impresora. Marcamos "AppSocket/HP JetDirect". Le damos a siguiente y nos pide que le indiquemos la URI (dirección) de la conexión. Aquí debemos poner la IP que le asignamos a la impresora mediante el menú de configuración. En mi caso: 192.168.1.210:9100

URI de la conexión: socket://192.168.1.210:9100


6. En la siguiente ventana debemos seleccionar el Driver de la impresora. Picamos en "Examinar" y buscamos el fichero .ppd instalado en el paso 3.

/usr/share/cups/model/Dell/Dell_3110cn.ppd

Una vez seleccionado el archivo, picamos en añadir Impresora y ya la tendremos configurada.



7. Despues de unos segundos nos aparecerá la ventana para cambiar las opciones de la impresora. En éste paso tuve un problemas para sacar la página de prueba de la impresora, ya que por defecto el tipo de papel configurado es Carta (Letter 8,5 x 11 in). Debes modificarlo por A4.


Aquí también he configurado:
- Modo de impresión: Print Mode - High Speed / High Quality
- Imprimir en Modo Borrador: Draft Mode - ON


8. Y picando en el menú impresora verás el resultado final.



Saludos y suerte.
Domi - Gran Canaria (Islas Canarias)

13 de enero de 2008

Extensión Iceweasel: MediaPlayerConnectivity

Si llevas tiempo utilizando Linux, te habrás dado cuenta que navegando con Iceweasel en ciertas páginas con contenido multimedia, (archivos .wmv, streaming mms, etc.), dichos enlaces se niegan a funcionar y nos piden instalar el plugin de Windows Media Player. Pues bien, para solucionar éste problema vamos a instalar en Iceweasel la extensión MediaPlayerConnectivity, la cuál nos permitirá reproducir el contenido de la web en nuestro reproductor de escritorio favorito, en mi caso, Kaffeine. A continuación los pasos:


1. Abrimos el navegador Iceweasel y ponemos la siguiente URL:
https://addons.mozilla.org/es-ES/firefox/addon/446


2. Picamos sobre el recuadro verde que pone "Instalar ahora" y nos aparecerá la pantalla siguiente, en la cual debemos picar en "Instalar".




3. Al reiniciar Iceweasel nos aparecerá el asistente para configurar la extensión:





4. Ahora cada vez que accedas a una web con contenido multimedia del tipo indicado arriba, los enlaces te aparecerán con la siguiente imagen.


Al picar sobre ellas te abrirá el archivo en el reproductor local seleccionado.

Si quieres volver a configurar el reproductor con el que abrir los enlaces, accede mediante el menú de Iceweasel / HERRAMIENTAS / MEDIAPLAYERCONNECTIVITY / CONFIGURAR


URL:
https://addons.mozilla.org/es-ES/firefox/addon/446
http://www.proyectonave.es/productos/extensiones/mediaplayerconnectivity/

Saludos y suerte.
Domi - Gran Canaria (Islas Canarias)

7 de enero de 2008

Instalar AMSN 0.97 en Debian Etch

Recientemente la gente del proyecto amsn-project han sacado la versión 0.97 final del AMSN. En el mes de julio publiqué una guía para instalar la versión 0.97 RC1, que como se ha quedado obsoleta, voy a detallar los pasos para actualizarnos a la última versión.

1. Nos logueamos como usuario root y descargamos el paquete con el código fuente.
$ su -
password:

# wget http://mesh.dl.sourceforge.net/sourceforge/amsn/amsn-0.97.2.tar.bz2
--17:50:42-- http://mesh.dl.sourceforge.net/sourceforge/amsn/amsn-0.97.2.tar.bz2
=> `amsn-0.97.tar.bz2'
Resolviendo prdownloads.sourceforge.net... 193.206.140.34
Connecting to prdownloads.sourceforge.net|193.206.140.34|:80... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 10,131,843 (9.7M) [application/x-bzip2]

100%[================================================================================================================>] 10,131,843 104.24K/s ETA 00:00

17:52:20 (101.84 KB/s) - `amsn-0.97.2.tar.bz2' saved [10131843/10131843]


2. Descomprimimos el código fuente e instalamos los dependencias necesarios para construir el paquete .deb correspondiente:
# bzip2 -dc amsn-0.97.2.tar.bz2 | tar -xv

Nos habrá creado el directorio amsn-0.97.2

# aptitude install docker imlib-base imlib11 sox tcltls tcl8.4-dev tk8.4-dev libpng12-dev libjpeg62-dev debhelper fakeroot g++


3. Accedemos al directorio donde descomprimimos las fuentes y construimos el paquete .deb que luego instalaremos:

# cd amsn-0.97/

# ./configure
checking for prefix by checking for wish... /usr/bin/wish
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking tcl build dir... using tcl library in /usr/lib/tcl8.4
checking tk build dir... using tk library in /usr/lib/tk8.4
checking for main in -lstdc++... yes
checking how to run the C preprocessor... gcc -E
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for png_read_info in -lpng... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for jpeg_CreateDecompress in -ljpeg... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking jerror.h usability... yes
checking jerror.h presence... yes
checking for jerror.h... yes
checking for ftello... yes
checking for fseeko... yes
checking for getpt... yes
checking for strcasestr... yes
checking for memmem... yes
checking for dlopen... no
checking for pthread_create in -lpthread... yes
checking if mmx should be used... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating utils/linux/capture/config.h

compile time options summary
============================

X11 : yes
Tcl : 8.4
TK : 8.4
DEBUG : no
STATIC : no

# make deb
CXX utils/TkCximage/src/TkCximage.cpp.o
CXX utils/TkCximage/src/PhotoFormat.cpp.o
CXX utils/TkCximage/src/procs.cpp.o
CXX utils/TkCximage/src/CxImage/ximadsp.cpp.o
CXX utils/TkCximage/src/CxImage/ximaexif.cpp.o
CXX utils/TkCximage/src/CxImage/ximagif.cpp.o
CXX utils/TkCximage/src/CxImage/ximainfo.cpp.o
CXX utils/TkCximage/src/CxImage/ximajpg.cpp.o
CXX utils/TkCximage/src/CxImage/ximalyr.cpp.o
CXX utils/TkCximage/src/CxImage/ximapng.cpp.o
CXX utils/TkCximage/src/CxImage/ximatga.cpp.o
CXX utils/TkCximage/src/CxImage/ximatran.cpp.o
CXX utils/TkCximage/src/CxImage/ximabmp.cpp.o
CXX utils/TkCximage/src/CxImage/ximaenc.cpp.o
CXX utils/TkCximage/src/CxImage/ximage.cpp.o
CXX utils/TkCximage/src/CxImage/ximahist.cpp.o
CXX utils/TkCximage/src/CxImage/ximaint.cpp.o
CXX utils/TkCximage/src/CxImage/ximalpha.cpp.o
CXX utils/TkCximage/src/CxImage/ximapal.cpp.o
CXX utils/TkCximage/src/CxImage/ximasel.cpp.o
CXX utils/TkCximage/src/CxImage/ximath.cpp.o
CXX utils/TkCximage/src/CxImage/xmemfile.cpp.o
AR utils/TkCximage/src/CxImage/libCxImage.a
ar: creando utils/TkCximage/src/CxImage/libCxImage.a
LDX utils/TkCximage/src/TkCximage.cpp.so
LDX utils/TkCximage/src/TkCximage.cpp.so
cp utils/TkCximage/src/TkCximage.cpp.so utils/TkCximage/TkCximage.so
CC utils/webcamsn/src/webcamsn.o
CC utils/webcamsn/src/kidhash.o
CC utils/webcamsn/src/bitstring.o
CC utils/webcamsn/src/deblock.o
CC utils/webcamsn/src/encode.o
CC utils/webcamsn/src/idct_dequant.o
CC utils/webcamsn/src/mimic.o
CC utils/webcamsn/src/vlc_decode.o
CC utils/webcamsn/src/colorspace.o
CC utils/webcamsn/src/decode.o
CC utils/webcamsn/src/fdct_quant.o
CC utils/webcamsn/src/vlc_common.o
CC utils/webcamsn/src/vlc_encode.o
AR utils/webcamsn/src/libmimic.a
ar: creando utils/webcamsn/src/libmimic.a
LD utils/webcamsn/src/webcamsn.so
cp utils/webcamsn/src/webcamsn.so utils/webcamsn/webcamsn.so
CC utils/tcl_siren/src/tcl_siren.o
CC utils/tcl_siren/src/common.o
CC utils/tcl_siren/src/dct4.o
CC utils/tcl_siren/src/encoder.o
CC utils/tcl_siren/src/decoder.o
CC utils/tcl_siren/src/huffman.o
CC utils/tcl_siren/src/rmlt.o
AR utils/tcl_siren/src/libsiren.a
ar: creando utils/tcl_siren/src/libsiren.a
LD utils/tcl_siren/src/tcl_siren.so
cp utils/tcl_siren/src/tcl_siren.so utils/tcl_siren/tcl_siren.so
CC utils/linux/capture/capture.o
CC utils/linux/capture/libng/grab-ng.o
CC utils/linux/capture/libng/devices.o
CC utils/linux/capture/libng/writefile.o
CC utils/linux/capture/libng/parse-mpeg.o
CC utils/linux/capture/libng/parse-dvb.o
CC utils/linux/capture/libng/color_common.o
CC utils/linux/capture/libng/color_packed.o
CC utils/linux/capture/libng/color_lut.o
CC utils/linux/capture/libng/color_yuv2rgb.o
CC utils/linux/capture/libng/convert.o
CC utils/linux/capture/libng/misc.o
AR utils/linux/capture/libng/libng.a
ar: creando utils/linux/capture/libng/libng.a
LD utils/linux/capture/capture.so
CC utils/linux/capture/libng/plugins/conv-mjpeg.o
LD utils/linux/capture/libng/plugins/conv-mjpeg.so
CC utils/linux/capture/libng/plugins/drv0-v4l2.o
CC utils/linux/capture/libng/plugins/struct-v4l2.o
CC utils/linux/capture/libng/plugins/struct-dump.o
LD utils/linux/capture/libng/plugins/drv0-v4l2.so
CC utils/linux/capture/libng/plugins/drv1-v4l.o
CC utils/linux/capture/libng/plugins/struct-v4l.o
LD utils/linux/capture/libng/plugins/drv1-v4l.so
CC utils/linux/capture/libng/plugins/sn9c10x.o
LD utils/linux/capture/libng/plugins/sn9c10x.so
CC utils/linux/traydock/libtray.o
LD utils/linux/traydock/libtray.so
CC utils/linux/linflash/flash.o
LD utils/linux/linflash/flash.so
mkdir -p ./distrib/DEB
sed "s/#VERSION#/0.97-1/" debian/changelog.in > debian/changelog
fakeroot debian/rules clean
make[1]: se ingresa al directorio `/home/domi/amsn-0.97'
dh_testdir
dh_testroot
rm -f build-stamp
# Add here commands to clean up after the build process.
/usr/bin/make clean
make[2]: se ingresa al directorio `/home/domi/amsn-0.97'
find . -name \*~ -print | xargs rm -f
find . -name \*.o -print | xargs rm -f
find . -name \*.a -print | xargs rm -f
find . -name \*.dep -print | xargs rm -f
rm -f ./utils/TkCximage/src/TkCximage.cpp.so ./utils/TkCximage/src/TkCximage.cpp.o ./utils/TkCximage/src/PhotoFormat.cpp.o ./utils/TkCximage/src/procs.cpp.o ./utils/TkCximage/src/CxImage/libCxImage.a
rm -f ./utils/TkCximage/src/TkCximage.cpp.so ./utils/TkCximage/src/TkCximage.cpp.o ./utils/TkCximage/src/PhotoFormat.cpp.o ./utils/TkCximage/src/procs.cpp.o ./utils/TkCximage/src/CxImage/libCxImage.a
rm -f ./utils/TkCximage/src/TkCximage.cpp.so ./utils/TkCximage/src/TkCximage.cpp.o ./utils/TkCximage/src/PhotoFormat.cpp.o ./utils/TkCximage/src/procs.cpp.o ./utils/TkCximage/src/CxImage/libCxImage.a
rm -f ./utils/TkCximage/src/CxImage/libCxImage.a ./utils/TkCximage/src/CxImage/ximadsp.cpp.o ./utils/TkCximage/src/CxImage/ximaexif.cpp.o ./utils/TkCximage/src/CxImage/ximagif.cpp.o ./utils/TkCximage/src/CxImage/ximainfo.cpp.o ./utils/TkCximage/src/CxImage/ximajpg.cpp.o ./utils/TkCximage/src/CxImage/ximalyr.cpp.o ./utils/TkCximage/src/CxImage/ximapng.cpp.o ./utils/TkCximage/src/CxImage/ximatga.cpp.o ./utils/TkCximage/src/CxImage/ximatran.cpp.o ./utils/TkCximage/src/CxImage/ximabmp.cpp.o ./utils/TkCximage/src/CxImage/ximaenc.cpp.o ./utils/TkCximage/src/CxImage/ximage.cpp.o ./utils/TkCximage/src/CxImage/ximahist.cpp.o ./utils/TkCximage/src/CxImage/ximaint.cpp.o ./utils/TkCximage/src/CxImage/ximalpha.cpp.o ./utils/TkCximage/src/CxImage/ximapal.cpp.o ./utils/TkCximage/src/CxImage/ximasel.cpp.o ./utils/TkCximage/src/CxImage/ximath.cpp.o ./utils/TkCximage/src/CxImage/xmemfile.cpp.o
rm -f ./utils/webcamsn/src/webcamsn.so ./utils/webcamsn/src/webcamsn.o ./utils/webcamsn/src/kidhash.o ./utils/webcamsn/src/libmimic.a
rm -f ./utils/webcamsn/src/webcamsn.so ./utils/webcamsn/src/webcamsn.o ./utils/webcamsn/src/kidhash.o ./utils/webcamsn/src/libmimic.a
rm -f ./utils/tcl_siren/src/libsiren.a ./utils/tcl_siren/src/common.o ./utils/tcl_siren/src/dct4.o ./utils/tcl_siren/src/encoder.o ./utils/tcl_siren/src/decoder.o ./utils/tcl_siren/src/huffman.o ./utils/tcl_siren/src/rmlt.o
rm -f ./utils/tcl_siren/src/libsiren.a ./utils/tcl_siren/src/common.o ./utils/tcl_siren/src/dct4.o ./utils/tcl_siren/src/encoder.o ./utils/tcl_siren/src/decoder.o ./utils/tcl_siren/src/huffman.o ./utils/tcl_siren/src/rmlt.o
rm -f ./utils/tcl_siren/src/tcl_siren.so ./utils/tcl_siren/src/tcl_siren.o ./utils/tcl_siren/src/libsiren.a
rm -f ./utils/linux/capture/capture.so
rm -f ./utils/linux/capture/libng/libng.a ./utils/linux/capture/libng/grab-ng.o ./utils/linux/capture/libng/devices.o ./utils/linux/capture/libng/writefile.o ./utils/linux/capture/libng/parse-mpeg.o ./utils/linux/capture/libng/parse-dvb.o ./utils/linux/capture/libng/color_common.o ./utils/linux/capture/libng/color_packed.o ./utils/linux/capture/libng/color_lut.o ./utils/linux/capture/libng/color_yuv2rgb.o ./utils/linux/capture/libng/convert.o ./utils/linux/capture/libng/misc.o
rm -f ./utils/linux/capture/libng/plugins/conv-mjpeg.so ./utils/linux/capture/libng/plugins/drv0-v4l2.so ./utils/linux/capture/libng/plugins/drv1-v4l.so ./utils/linux/capture/libng/plugins/sn9c10x.so
rm -f ./utils/linux/traydock/libtray.so ./utils/linux/traydock/libtray.o
rm -f ./utils/linux/linflash/flash.so ./utils/linux/linflash/flash.o
make[2]: se sale del directorio `/home/domi/amsn-0.97'
dh_clean
make[1]: se sale del directorio `/home/domi/amsn-0.97'
fakeroot debian/rules binary VERSION=0.97-1
make[1]: se ingresa al directorio `/home/domi/amsn-0.97'
dh_testdir
# Add here commands to compile the package.
/usr/bin/make
make[2]: se ingresa al directorio `/home/domi/amsn-0.97'
CXX utils/TkCximage/src/TkCximage.cpp.o
CXX utils/TkCximage/src/PhotoFormat.cpp.o
CXX utils/TkCximage/src/procs.cpp.o
CXX utils/TkCximage/src/CxImage/ximadsp.cpp.o
CXX utils/TkCximage/src/CxImage/ximaexif.cpp.o
CXX utils/TkCximage/src/CxImage/ximagif.cpp.o
CXX utils/TkCximage/src/CxImage/ximainfo.cpp.o
CXX utils/TkCximage/src/CxImage/ximajpg.cpp.o
CXX utils/TkCximage/src/CxImage/ximalyr.cpp.o
CXX utils/TkCximage/src/CxImage/ximapng.cpp.o
CXX utils/TkCximage/src/CxImage/ximatga.cpp.o
CXX utils/TkCximage/src/CxImage/ximatran.cpp.o
CXX utils/TkCximage/src/CxImage/ximabmp.cpp.o
CXX utils/TkCximage/src/CxImage/ximaenc.cpp.o
CXX utils/TkCximage/src/CxImage/ximage.cpp.o
CXX utils/TkCximage/src/CxImage/ximahist.cpp.o
CXX utils/TkCximage/src/CxImage/ximaint.cpp.o
CXX utils/TkCximage/src/CxImage/ximalpha.cpp.o
CXX utils/TkCximage/src/CxImage/ximapal.cpp.o
CXX utils/TkCximage/src/CxImage/ximasel.cpp.o
CXX utils/TkCximage/src/CxImage/ximath.cpp.o
CXX utils/TkCximage/src/CxImage/xmemfile.cpp.o
AR utils/TkCximage/src/CxImage/libCxImage.a
ar: creando utils/TkCximage/src/CxImage/libCxImage.a
LDX utils/TkCximage/src/TkCximage.cpp.so
LDX utils/TkCximage/src/TkCximage.cpp.so
cp utils/TkCximage/src/TkCximage.cpp.so utils/TkCximage/TkCximage.so
CC utils/webcamsn/src/webcamsn.o
CC utils/webcamsn/src/kidhash.o
CC utils/webcamsn/src/bitstring.o
CC utils/webcamsn/src/deblock.o
CC utils/webcamsn/src/encode.o
CC utils/webcamsn/src/idct_dequant.o
CC utils/webcamsn/src/mimic.o
CC utils/webcamsn/src/vlc_decode.o
CC utils/webcamsn/src/colorspace.o
CC utils/webcamsn/src/decode.o
CC utils/webcamsn/src/fdct_quant.o
CC utils/webcamsn/src/vlc_common.o
CC utils/webcamsn/src/vlc_encode.o
AR utils/webcamsn/src/libmimic.a
ar: creando utils/webcamsn/src/libmimic.a
LD utils/webcamsn/src/webcamsn.so
cp utils/webcamsn/src/webcamsn.so utils/webcamsn/webcamsn.so
CC utils/tcl_siren/src/tcl_siren.o
CC utils/tcl_siren/src/common.o
CC utils/tcl_siren/src/dct4.o
CC utils/tcl_siren/src/encoder.o
CC utils/tcl_siren/src/decoder.o
CC utils/tcl_siren/src/huffman.o
CC utils/tcl_siren/src/rmlt.o
AR utils/tcl_siren/src/libsiren.a
ar: creando utils/tcl_siren/src/libsiren.a
LD utils/tcl_siren/src/tcl_siren.so
cp utils/tcl_siren/src/tcl_siren.so utils/tcl_siren/tcl_siren.so
CC utils/linux/capture/capture.o
CC utils/linux/capture/libng/grab-ng.o
CC utils/linux/capture/libng/devices.o
CC utils/linux/capture/libng/writefile.o
CC utils/linux/capture/libng/parse-mpeg.o
CC utils/linux/capture/libng/parse-dvb.o
CC utils/linux/capture/libng/color_common.o
CC utils/linux/capture/libng/color_packed.o
CC utils/linux/capture/libng/color_lut.o
CC utils/linux/capture/libng/color_yuv2rgb.o
CC utils/linux/capture/libng/convert.o
CC utils/linux/capture/libng/misc.o
AR utils/linux/capture/libng/libng.a
ar: creando utils/linux/capture/libng/libng.a
LD utils/linux/capture/capture.so
CC utils/linux/capture/libng/plugins/conv-mjpeg.o
LD utils/linux/capture/libng/plugins/conv-mjpeg.so
CC utils/linux/capture/libng/plugins/drv0-v4l2.o
CC utils/linux/capture/libng/plugins/struct-v4l2.o
CC utils/linux/capture/libng/plugins/struct-dump.o
LD utils/linux/capture/libng/plugins/drv0-v4l2.so
CC utils/linux/capture/libng/plugins/drv1-v4l.o
CC utils/linux/capture/libng/plugins/struct-v4l.o
LD utils/linux/capture/libng/plugins/drv1-v4l.so
CC utils/linux/capture/libng/plugins/sn9c10x.o
LD utils/linux/capture/libng/plugins/sn9c10x.so
CC utils/linux/traydock/libtray.o
LD utils/linux/traydock/libtray.so
CC utils/linux/linflash/flash.o
LD utils/linux/linflash/flash.so
make[2]: se sale del directorio `/home/domi/amsn-0.97'
#docbook-to-man debian/amsn.sgml > amsn.1
touch build-stamp
dh_testdir
dh_testroot
dh_clean
dh_installdirs
# Add here commands to install the package into debian/amsn.
/usr/bin/make install DESTDIR=/home/domi/amsn-0.97/debian/amsn
make[2]: se ingresa al directorio `/home/domi/amsn-0.97'
rm -Rf /home/domi/amsn-0.97/debian/amsn/usr/share/amsn
mkdir -p /home/domi/amsn-0.97/debian/amsn/usr/share/amsn
mkdir -p /home/domi/amsn-0.97/debian/amsn/usr/bin
mkdir -p /home/domi/amsn-0.97/debian/amsn/usr/share/applications/
mkdir -p /home/domi/amsn-0.97/debian/amsn/usr/share/pixmaps/
find /home/domi/amsn-0.97/debian/amsn/usr/share/amsn -name '.svn' -print | xargs rm -Rf
ln -sf /usr/share/amsn/amsn /home/domi/amsn-0.97/debian/amsn/usr/bin/amsn
ln -sf /usr/share/amsn/amsn-remote /home/domi/amsn-0.97/debian/amsn/usr/bin/amsn-remote
ln -sf /usr/share/amsn/amsn-remote-CLI /home/domi/amsn-0.97/debian/amsn/usr/bin/amsn-remote-CLI
cp ./amsn.desktop /home/domi/amsn-0.97/debian/amsn/usr/share/applications/
ln -sf /usr/share/amsn/desktop-icons/48x48/apps/amsn.png /home/domi/amsn-0.97/debian/amsn/usr/share/pixmaps/
make[2]: se sale del directorio `/home/domi/amsn-0.97'
dh_testdir
dh_testroot
dh_installdocs
dh_installexamples
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb --destdir="./distrib/DEB" --filename="amsn_0.97-1.deb"
dpkg-deb: construyendo el paquete `amsn' en `./distrib/DEB/amsn_0.97-1.deb'.
make[1]: se sale del directorio `/home/domi/amsn-0.97'
rm -f debian/changelog
rm -rf debian/amsn


4. Eliminamos la versión anterior (En éste paso doy por sentado que has instalado la versión anterior según la guía que pubiqué en julio o que nunca lo has instalado, nisiquiera desde los repositorios oficiales de Debian, ya que te puede dar algun problemilla. Ver apartado 1 de la guía anterior):

# dpkg -r amsn
(Leyendo la base de datos ...
121098 ficheros y directorios instalados actualmente.)
Desinstalando amsn ...


5. Instalamos la nueva versión:

# dpkg -i distrib/DEB/amsn_0.97.2-1.deb
Seleccionando el paquete amsn previamente no seleccionado.
(Leyendo la base de datos ...
120209 ficheros y directorios instalados actualmente.)
Desempaquetando amsn (de distrib/DEB/amsn_0.97.2-1.deb) ...
Configurando amsn (0.97.2-1) ...

Simplemente abre el programa desde el MENÚ KDE / INTERNET y a disfratarlo.


Saludos y suerte.
Domi - Gran Canaria (Islas Canarias)

Webcam Acer Orbicam en Debian Etch

Y sigo con las webcams. Ahora con la que trae incluida mi portátil, modelo Acer 5635 WLMi.

1. Comprobamos si es reconocida:
$ lsusb
Bus 005 Device 003: ID 046d:09b0 Logitech, Inc.
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 002: ID 0458:0007 KYE Systems Corp. (Mouse Systems)
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000

El proyecto que soporta éste driver es el siguiene: http://linux-uvc.berlios.de/


2. Descargamos el código fuente del módulo:
$ su -
password:

# aptitude install subversion
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Leyendo las descripciones de las tareas... Hecho
Construir la base de datos de etiquetas... Hecho
Se instalarán automáticamente los siguientes paquetes NUEVOS:
libapr1 libaprutil1 libneon26 libsvn1
Se instalarán los siguiente paquetes NUEVOS:
libapr1 libaprutil1 libneon26 libsvn1 subversion
0 paquetes actualizados, 5 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 1916kB de ficheros. Después de desempaquetar se usarán 5452kB.
¿Quiere continuar? [Y/n/?] y
Escribiendo información de estado extendido... Hecho
Des:1 http://ftp.fr.debian.org etch/main libapr1 1.2.7-8.2 [109kB]
Des:2 http://ftp.fr.debian.org etch/main libaprutil1 1.2.7+dfsg-2 [68,5kB]
Des:3 http://ftp.fr.debian.org etch/main libneon26 0.26.2-4 [119kB]
Des:4 http://ftp.fr.debian.org etch/main libsvn1 1.4.2dfsg1-2 [593kB]
Des:5 http://ftp.fr.debian.org etch/main subversion 1.4.2dfsg1-2 [1027kB]
Descargados 1916kB en 20s (93,5kB/s).
Seleccionando el paquete libapr1 previamente no seleccionado.
(Leyendo la base de datos ...
120986 ficheros y directorios instalados actualmente.)
Desempaquetando libapr1 (de .../libapr1_1.2.7-8.2_i386.deb) ...
Seleccionando el paquete libaprutil1 previamente no seleccionado.
Desempaquetando libaprutil1 (de .../libaprutil1_1.2.7+dfsg-2_i386.deb) ...
Seleccionando el paquete libneon26 previamente no seleccionado.
Desempaquetando libneon26 (de .../libneon26_0.26.2-4_i386.deb) ...
Seleccionando el paquete libsvn1 previamente no seleccionado.
Desempaquetando libsvn1 (de .../libsvn1_1.4.2dfsg1-2_i386.deb) ...
Seleccionando el paquete subversion previamente no seleccionado.
Desempaquetando subversion (de .../subversion_1.4.2dfsg1-2_i386.deb) ...
Configurando libapr1 (1.2.7-8.2) ...

Configurando libaprutil1 (1.2.7+dfsg-2) ...

Configurando libneon26 (0.26.2-4) ...

Configurando libsvn1 (1.4.2dfsg1-2) ...

Configurando subversion (1.4.2dfsg1-2) ...


# svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk linux-uvc
A linux-uvc/uvc_status.c
A linux-uvc/uvc_ctrl.c
A linux-uvc/uvc_queue.c
A linux-uvc/uvc_video.c
A linux-uvc/uvc_isight.c
A linux-uvc/uvc_v4l2.c
A linux-uvc/uvc_compat.h
A linux-uvc/uvc_driver.c
A linux-uvc/uvcvideo.h
A linux-uvc/Makefile
A linux-uvc/dynctrl.txt
Revisión obtenida: 159


3. Compilamos el módulo:
NOTA: Necesitamos tener instaladas éstos paquetes: fuentes del kernel, gcc y make. De lo contrario instalalos con el siguiente comando:
# aptitude install make gcc linux-source-2.6.18

- Accedemos al directorio donde se ha descargado el código fuente:
# cd linux-uvc/

# make
Building USB Video Class driver...
make[1]: se ingresa al directorio `/usr/src/linux-headers-2.6.18-5-686'
CC [M] /root/linux-uvc/uvc_driver.o
CC [M] /root/linux-uvc/uvc_queue.o
CC [M] /root/linux-uvc/uvc_v4l2.o
CC [M] /root/linux-uvc/uvc_video.o
CC [M] /root/linux-uvc/uvc_ctrl.o
CC [M] /root/linux-uvc/uvc_status.o
CC [M] /root/linux-uvc/uvc_isight.o
LD [M] /root/linux-uvc/uvcvideo.o
Building modules, stage 2.
MODPOST 1 modules
CC /root/linux-uvc/uvcvideo.mod.o
LD [M] /root/linux-uvc/uvcvideo.ko
make[1]: se sale del directorio `/usr/src/linux-headers-2.6.18-5-686'


4. Cargamos el módulo:
- Copiamos el módulo compilado con los demás módulos del kernel:
# cp uvcvideo.ko /lib/modules/2.6.18-5-686/kernel/drivers/video/

- Actualizamos el listado de drivers del kernel.
# depmod -a

- Cargamos el módulo:
# modprobe uvcvideo

- Comprobamos que se ha cargado:
# lsmod | grep uvc
uvcvideo 48388 0
compat_ioctl32 1376 1 uvcvideo
videodev 26656 1 uvcvideo
v4l1_compat 12580 2 uvcvideo,videodev
v4l2_common 16672 2 uvcvideo,videodev
usbcore 125096 5 uvcvideo,usbhid,ehci_hcd,uhci_hcd

# tail /var/log/messages
Jan 7 17:27:15 localhost kernel: uvcvideo: Found UVC 1.00 device (046d:09b0)
Jan 7 17:27:15 localhost kernel: usbcore: registered new driver uvcvideo
Jan 7 17:27:15 localhost kernel: USB Video Class driver (v0.1.0)


- Añadimos el módulo al final del fichero "/etc/modules" para que sea cargado al iniciar el sistema:

# vi /etc/modules
...
# WEBCAM ACER ORBICAM
uvcvideo


5. Configuramos la Webcam en el AMSN:
- Abrimos AMSN y vamos al menú:
CUENTA / PREFERENCIAS / PESTAÑA OTRAS / RECUADRO CONFIGURAR AUDIO Y VIDEO

En caso de que en el paso 3 (configurando los ajustes de audio), nos de error comprobando si tenemos cargada la extensión de audio (Snack), seguramente nos falta por instalar la librería “libsnack2”. La instalamos así:

# aptitude search libsnack
p libsnack2 - Sound functionality extension to the Tcl/Tk language
p libsnack2-dev - Snack development files
p libsnack2-doc - Snack documentation

# aptitude install libsnack2
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Leyendo las descripciones de las tareas... Hecho
Construir la base de datos de etiquetas... Hecho
Se instalarán los siguiente paquetes NUEVOS:
libsnack2
0 paquetes actualizados, 1 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 362kB de ficheros. Después de desempaquetar se usarán 868kB.
Escribiendo información de estado extendido... Hecho
Des:1 http://ftp.fr.debian.org etch/main libsnack2 2.2.9.dfsg-1.1 [362kB]
Descargados 362kB en 11s (31,8kB/s).
Seleccionando el paquete libsnack2 previamente no seleccionado.
(Leyendo la base de datos ...
108130 ficheros y directorios instalados actualmente.)
Desempaquetando libsnack2 (de .../libsnack2_2.2.9.dfsg-1.1_i386.deb) ...
Configurando libsnack2 (2.2.9.dfsg-1.1) ...

Una vez instalado, volvemos a configurar la Webcam en AMSN y listo.


Actualización 02.02.08:
Ésta guía también ha sido probada en el siguiente modelo según comentarios de Facine en éste post:
$ lsusb
Bus 006 Device 004: ID 04f2:b008 Chicony Electronics Co., Ltd


Saludos y suerte.
Domi - Gran Canaria (Islas Canarias)

Webcam Labtec en Debian Etch

Hola, después de varios meses sin poder publicar nada, hoy voy a detallar los pasos que he seguido para configurar una Webcam Labtec, la cual es reconocida como Logitech Quickcam Express.

1. Conectamos la webcam al puerto USB y comprobamos si es reconocida:

# lsusb
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 003: ID 046d:0870 Logitech, Inc. QuickCam Express
Bus 001 Device 002: ID 062a:0001 Creative Labs Notebook Optical Mouse
Bus 001 Device 001: ID 0000:0000

El ID que nos muestra al ejecutar el comando tiene que ver con el fabricante y modelo.
046d = Logitech
0870 = QuickCam Express

# tail /var/log/messages
Jan 7 12:44:47 debian kernel: usb 1-1: new full speed USB device using uhci_hcd and address 4
Jan 7 12:44:48 debian kernel: usb 1-1: configuration #1 chosen from 1 choice


2. Buscamos en la web http://www.qbik.ch/usb/devices/ si está soportada en linux. Podemos ver que sí: http://www.qbik.ch/usb/devices/showdev.php?id=847
También vemos el proyecto del driver que soporta ésta webcam: http://qce-ga.sourceforge.net/

Los paquetes disponibles en Debian para configurar el módulo para ésta webcam son los siguientes:

- qc-usb-source - Código Fuente
http://packages.debian.org/etch/all/qc-usb-source/filelist
/usr/share/doc/qc-usb-source/APPLICATIONS.gz
/usr/share/doc/qc-usb-source/FAQ.gz
/usr/share/doc/qc-usb-source/README.qce
/usr/share/doc/qc-usb-source/changelog.Debian.gz
/usr/share/doc/qc-usb-source/copyright/usr/src/qc-usb-modules.tar.gz

- qc-usb-utils - Utilidades
http://packages.debian.org/etch/all/qc-usb-utils/filelist
/usr/bin/qcset
/usr/share/doc/qc-usb-utils/APPLICATIONS.gz
/usr/share/doc/qc-usb-utils/FAQ.gz
/usr/share/doc/qc-usb-utils/README.qce
/usr/share/doc/qc-usb-utils/changelog.Debian.gz
/usr/share/doc/qc-usb-utils/copyright


3. Instalamos los paquetes y compilamos el módulo:
# aptitude install qc-usb-source qc-usb-utils
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Leyendo las descripciones de las tareas... Hecho
Construir la base de datos de etiquetas... Hecho
Se instalarán los siguiente paquetes NUEVOS:
qc-usb-source qc-usb-utils
Se RECOMIENDAN los siguientes paquetes, pero NO se instalarán:
kernel-package
0 paquetes actualizados, 2 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 182kB de ficheros. Después de desempaquetar se usarán 279kB.
Escribiendo información de estado extendido... Hecho
Des:1 http://ftp.fr.debian.org etch/main qc-usb-source 0.6.6-1 [162kB]
Des:2 http://ftp.fr.debian.org etch/main qc-usb-utils 0.6.6-1 [19,8kB]
Descargados 182kB en 2s (83,4kB/s).
Seleccionando el paquete qc-usb-source previamente no seleccionado.
(Leyendo la base de datos ...
108110 ficheros y directorios instalados actualmente.)
Desempaquetando qc-usb-source (de .../qc-usb-source_0.6.6-1_all.deb) ...
Seleccionando el paquete qc-usb-utils previamente no seleccionado.
Desempaquetando qc-usb-utils (de .../qc-usb-utils_0.6.6-1_i386.deb) ...
Configurando qc-usb-source (0.6.6-1) ...
Configurando qc-usb-utils (0.6.6-1) ...

Tendremos el código fuente aquí:
# ll /usr/src/qc-usb-modules.tar.gz
-rw-r--r-- 1 root src 152210 2006-11-12 22:46 /usr/src/qc-usb-modules.tar.gz

- Compilamos:
Para éste paso debemos tener instalados el paquete module-assistant y las fuentes del kernel. En caso de no tener éstos paquetes instalados, ejecutamos el siguiente comando:
# aptitude install module-assistant linux-source-2.6.18

# module-assistant update
Updated infos about 83 packages

# module-assistant prepare
Getting source for kernel version: 2.6.18-5-686
Kernel headers available in /lib/modules/2.6.18-5-686/build
apt-get install build-essential
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
build-essential ya está en su versión más reciente.
0 actualizados, 0 se instalarán, 0 para eliminar y 0 no actualizados.

Done!

# cd /usr/src

# module-assistant a-i qc-usb
Updated infos about 1 packages
Getting source for kernel version: 2.6.18-5-686
Kernel headers available in /lib/modules/2.6.18-5-686/build
apt-get install build-essential
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
build-essential ya está en su versión más reciente.
0 actualizados, 0 se instalarán, 0 para eliminar y 0 no actualizados.

Done!
unpack
Extracting the package tarball, /usr/src/qc-usb-modules.tar.gz, please wait...
"/usr/share/modass/packages/default.sh" build KVERS=2.6.18-5-686 KSRC=/lib/modules/2.6.18-5-686/build KDREV=2.6.18.dfsg.1-17 kdist_image
Done with /usr/src/qc-usb-modules-2.6.18-5-686_0.6.6-1+2.6.18.dfsg.1-17_i386.deb .
dpkg -Ei /usr/src/qc-usb-modules-2.6.18-5-686_0.6.6-1+2.6.18.dfsg.1-17_i386.deb
Seleccionando el paquete qc-usb-modules-2.6.18-5-686 previamente no seleccionado.
(Leyendo la base de datos ...
108124 ficheros y directorios instalados actualmente.)
Desempaquetando qc-usb-modules-2.6.18-5-686 (de ...
/qc-usb-modules-2.6.18-5-686_0.6.6-1+2.6.18.dfsg.1-17_i386.deb) ...

Configurando qc-usb-modules-2.6.18-5-686 (0.6.6-1+2.6.18.dfsg.1-17) ...


4. Cargamos el módulo:
# ll /lib/modules/2.6.18-5-686/misc/quickcam.ko
-rw-r--r-- 1 root root 78407 2008-01-07 12:52 /lib/modules/2.6.18-5-686/misc/quickcam.ko

# modprobe quickcam

- Comprobamos que el módulo se encuentra cargado:
# lsmod | grep quickcam
quickcam 66788 0
videodev 21120 2 quickcam,bttv
usbcore 112644 4 quickcam,usbhid,uhci_hcd

- Comprobamos en el log del sistema lo que ha sucedido:
# tail /var/log/messages
Jan 7 13:11:30 debian kernel: quickcam: QuickCam USB camera found (driver version QuickCam USB 0.6.6 $Date: 2006/11/04 08:38:14 $)
Jan 7 13:11:30 debian kernel: quickcam: Kernel:2.6.18-5-686 bus:1 class:FF subclass:FF vendor:046D product:0870
Jan 7 13:11:30 debian kernel: quickcam: Sensor HDCS-1020 detected
Jan 7 13:11:30 debian kernel: quickcam: Registered device: /dev/video1
Jan 7 13:11:30 debian kernel: usbcore: registered new driver quickcam

Añadimos el módulo al final del fichero "/etc/modules" para que sea cargado al iniciar el sistema:

# vi /etc/modules
...
# WEBCAM LABTEC
quickcam


5. Configuramos la Webcam en AMSN:
- Abrimos AMSN y vamos al menú:
CUENTA / PREFERENCIAS / PESTAÑA OTRAS / RECUADRO CONFIGURAR AUDIO Y VIDEO

En caso de que en el paso 3 (configurando los ajustes de audio), nos de error comprobando si tenemos cargada la extensión de audio (Snack), seguramente nos falta por instalar la librería “libsnack2”. La instalamos así:

# aptitude search libsnack
p libsnack2 - Sound functionality extension to the Tcl/Tk language
p libsnack2-dev - Snack development files
p libsnack2-doc - Snack documentation

# aptitude install libsnack2
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Leyendo las descripciones de las tareas... Hecho
Construir la base de datos de etiquetas... Hecho
Se instalarán los siguiente paquetes NUEVOS:
libsnack2
0 paquetes actualizados, 1 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 362kB de ficheros. Después de desempaquetar se usarán 868kB.
Escribiendo información de estado extendido... Hecho
Des:1 http://ftp.fr.debian.org etch/main libsnack2 2.2.9.dfsg-1.1 [362kB]
Descargados 362kB en 11s (31,8kB/s).
Seleccionando el paquete libsnack2 previamente no seleccionado.
(Leyendo la base de datos ...
108130 ficheros y directorios instalados actualmente.)
Desempaquetando libsnack2 (de .../libsnack2_2.2.9.dfsg-1.1_i386.deb) ...
Configurando libsnack2 (2.2.9.dfsg-1.1) ...

Una vez instalado, volvemos a configurar la Webcam en AMSN y listo.

Fuente: http://www.milmazz.com/archivos/2007/05/14/recuperando-una-antigua-logitech-quickcam-express/

Saludos y Suerte.
Domi - Gran Canaria (Islas Canarias)