domingo, 6 de abril de 2008

Sintonizador Avermedia AVerTV Analógica PCI (Chip Bt878) en Debian GNU / Linux

El sistema detecta automáticamente todos los módulos necesarios para el funcionamiento de este dispositivo.

Para ver la televisión se pueden usar los programa XawTV o TvTime.

Lo que sí tenemos que configurar es el mando a distancia de la tarjeta. Una vez tenemos la sintonizadora de TV funcionando, el siguiente paso es configurar el mando a distancia. El kernel reconoce automáticamente el mando a distancia como un dispositivo de entrada. Para comprobarlo se puede ejecutar el siguiente comando:

cat /proc/bus/input/devices

Con el sistema de dispositivos "udev", el sistema reconoce los dispositivos de forma que el mapeo a ficheros de los mismos no es determinista. Así, el dispositivo del mando a distancia unas veces puede estar mapeado en el fichero "/dev/input/event0" y otras veces en el fichero "/dev/input/event1".
Para que esto no sea un problema a la hora de configurar Lirc, definimos una regla del sistema "udev" que creará una alias del dispositivo en "/dev/ir". Para ello debemos crear un fichero con el nombre "099-duplicate_devs.rules" y ubicarlo en la ruta "/etc/udev/rules.d/". El contenido de este fichero será el siguiente:

KERNEL=="event*", SYSFS{name}=="bttv IR (card=13)", SYMLINK+="ir"

En esta regla se puede ver que hemos hecho coincidir el valor del campo "name" con el valor del mismo campo del fichero "/proc/bus/input/devices".

Para que se cree el dispositivo "/dev/ir" lo más cómodo es reiniciar el sistema. Para no reiniciar, se podría ejecutar el comando "/etc/init.d/udev restart", para que el sistema "udev" cargue la nueva regla, y después se podrían descargar y volver a cargar los módulos del kernel correspondientes a la tarjeta.

El siguiente paso es comprobar que el fichero "/dev/ir" se ha creado. Si es así, se puede ejecutar "cat /dev/ir" y al pulsar los botones en el mando a distancia debe aparecer basura en la pantalla.

En el fichero de configuración "/etc/lirc/hardware.conf" deben quedar las siguientes variables de configuración como sigue:

DRIVER="dev/input"
DEVICE="/dev/ir"

El siguiente paso es obtener el fichero "/etc/lirc/lircd.conf" con la configuración de las teclas de nuestro mando. Para obtener este fichero ejecutamos el siguiente comando y seguimos las instrucciones:

irrecord -H dev/input -d /dev/ir /etc/lirc/lircd.conf

El contenido del fichero "/etc/lirc/lircd.conf" generado será el siguiente:

begin remote

name AverTV
bits 16
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 16
pre_data 0x8001
gap 135629
toggle_bit 0

begin codes
TV/FM 0x0179
CD 0x017F
TELETEXT 0x0184
POWER 0x0074
1 0x0002
2 0x0003
3 0x0004
VIDEO 0x0189
4 0x0005
5 0x0006
6 0x0007
AUDIO 0x0188
7 0x0008
8 0x0009
9 0x000A
FULLSCREEN 0x0174
0 0x000B
DISPLAY 0x0172
LOOP 0x00A8
PREVIEW 0x00D2
AUTOSCAN 0x00D9
FREEZE 0x008E
CAPTURE 0x019A
MUTE 0x0071
RECORD 0x00A7
PAUSE 0x0077
STOP 0x0080
PLAY 0x00CF
RED 0x018E
VOL_DOWN 0x0072
VOL_UP 0x0073
YELLOW 0x0190
GREEN 0x018F
CH_DOWN 0x0193
CH_UP 0x0192
BLUE 0x0191
end codes

end remote

Por último, debemos arrancar el demonio del Lirc con el siguiente comando:

/etc/init.d/lirc restart

sábado, 5 de abril de 2008

Tarjeta Wifi Comtrend CT-WN4320Z (Chip ZyDAS ZD1211) en Debian GNU / Linux

Lo primero que debemos hacer es instalar los paquetes necesarios para configurar la tarjeta. Son los siguientes:

wireless-tools
wpasupplicant
zd1211-firmware
resolvconf

Una vez instalados estos paquetes, podemos conectar la tarjeta USB y comprobar si ha sido detectada correctamente con el siguiente comando:

iwconfig

Este comando nos muestra los datos de los dispositivos WIFI detectados en el sistema.

Para detectar las redes inalámbricas, suponiendo que el dispositivo es "eth2", ejecutamos el siguiente comando:

iwlist eth2 scanning

Un vez conocidos el dispositivo detectado y la red a la que nos queremos conectar debemos configurar el fichero "/etc/network/interfaces". A continuación se muestra un ejemplo del contenido de este fichero para una red WPA:

auto eth2
iface eth2 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 62.36.225.150 62.37.228.20
wpa-driver wext
wpa-ssid <essid>
wpa-ap-scan 1
wpa-proto WPA
wpa-pairwise TKIP
wpa-group TKIP
wpa-key-mgmt WPA-PSK
wpa-psk <contraseña_wpa>

En el parámetro <essid> se debe poner el valor correspondiente a la red que se quiere configurar, y que ha sido obtenido con el comando "iwlist". Y el parámetro <contraseña_wpa> se obtiene ejecutando el siguiente comando:

wpa_passphrase <essid> <contraseña_wpa>

Se puede obtener más información en los siguientes enlaces:

enlace 1
enlace 2

domingo, 23 de septiembre de 2007

Webcam Sony Playstation Eye Toy (Chip ov519) en Debian GNU / Linux

El driver se puede encontrar en este enlace. Para su compilación abrimos una consola de root y ejecutamos los siguientes comandos:

cd /usr/src
tar zxvf ov51x-jpeg-0.5.4.tar.gz
cd ov51x-jpeg-0.5.4/
make
make install
mv /lib/modules/2.6.17-2-k7/kernel/drivers/media/video/ov511.ko /lib/modules/2.6.17-2-k7/kernel/drivers/media/video/ov511.ko.ORIGINAL
update-modules
modprobe ov51x
modprobe ov519_decomp force_palette=13

Para comprobar el correcto funcionamiento de la webcam se puede usar el programa XAWTV. Por ejemplo, si el dispositivo de video asociado a la webcam es el "/dev/video1", podemos ejecutar lo siguiente:

xawtv -c /dev/video1

También se puede obtener una captura de imagen con el siguiente comando:

v4lctl -c /dev/video1 snap jpeg 320x240 test.jpg

Para que el driver de la webcam se cargue en el arranque de la máquina se deben introducir la siguientes líneas en el fichero "/etc/modules":

ov51x
ov519_decomp force_palette=13

Para realizar videoconferencias con el Messenger se puede utilizar Kopete de KDE, aMsn o Mercury.

lunes, 20 de agosto de 2007

Arranque de Debian GNU / Linux desde un disco duro USB

El disco duro externo que se va a configurar en el sistema es un Maxtor de 160 Gb albergado en una caja externa USB Argosy modelo HD-360C.

En este disco duro se va a instalar como sistema operativo Debian Testing y se va a poder arrancar el ordenador desde ahí.

Para configurar el arranque del sistema operativo desde un disco duro USB se debe configurar la BIOS del ordenador para que arranque desde un dispositivo "USB FDD".

La instalación se va a realizar partiendo de un ordenador que tiene previamente instalado el sistema operativo Debian que se quiere copiar al disco duro USB.

Se debe arrancar el ordenador con la instalacion de Debian a copiar para realizar unos pasos previos. Estos pasos consistirán en una serie de modificaciones a la instalación de Debian que vamos a copiar al disco USB. Esto es necesario para que posteriormente pueda arrancar correctamente el sistema operativo desde este disco USB.

Se tienen que meter las siguientes entradas en el fichero "/etc/mkinitrd/modules":

ehci-hcd
scsi_mod
sd_mod
usbcore
usb-storage

Y también se debe modificar en el fichero "/etc/mkinitrd/mkinitrd.conf" el parámetro "DELAY" para que tenga el valor 10.

y por último, se debe ejecutar el siguiente comando:

mkinitrd -o /boot/initrd.img-2.6.17-2-686 2.6.17-2-686

Con este comando modificamos la información de la imagen del kernel de arranque que usa el sistema. En este caso se crea la imagen para la versión "2.6.17-2-686" de entre todos los kernels que tengamos instalados. Para ver el valor exacto de este parámetro se puede listar el directorio "/lib/modules".

Con estos pasos, el sistema operativo queda preparado para ser copiado al disco USB.

Para copiar el sistema al disco duro USB, se arrancará con un Live CD de Linux y se hace un tar de la otra instalación de Debian que tenía en el otro disco duro. Para ello se debe abrir un terminal y montar el disco duro que contiene la instalación de Debian a copiar. Una vez montada la particion se debe ir al directorio donde se ha montado y ejecutar lo sisguiente:

cd ruta_particion_origen
tar zcvpf backup.tgz

Una vez hecho esto, se debe montar la partición que se haya creado en el disco USB e ir al directorio raíz de esta partición. Para después descomprimirlo en el disco duro USB y tener el sistema instalado.

cd ruta_particion_destino
tar zxvpf /ruta_particion_origen/backup.tgz

Una vez hecho esto, tenemos copiado perfectamente el sistema operativo al disco USB. Para comprobar que es una copia correcta del original se puede hacer un "ls" recursivo redireccionando a un fichero a cada una de las instalaciones y compararlas con el comando "diff".

El siguiente paso es configurar la instalación para que monte las particiones con los nombres correctos. Para ello deberemos modificar el fichero "/etc/fstab" y asegurarnos de que los nombres de los dispositivos que se montan son los correctos. Como se trata de un disco USB los dispositivos se llamarán sda1, sda2, etc.

El ultimo paso a realizar es instalar GRUB en el sector de arranque del disco USB. Para ello, desde un terminal, nos vamos al directorio donde está montado el disco USB y ejecutamos lo siguiente:

grub-install --no-floppy --root-directory=ruta_particion_destino /dev/sda

Con estos pasos podremos reiniciar el ordenador y arrancar el sistema operativo desde el disco USB.

Tarjeta Wifi Conceptronics (Chip RaLink RT2500) en Debian GNU / Linux

Los creadores de el driver para la tarjeta se pueden encontrar en este enlace. En esta página se pueden encontrar tutoriales de instalación y configuración.

El primer paso es instalar el paquete debian "rt2500-source" que contiene los fuentes del driver.

Después, en una consola de root ejecutamos los siguientes comandos:

cd /usr/src
tar zxvf rt2500.tar.gz
cd modules/rt2500
make
make install
mv /etc/modprobe.conf /etc/modutils/rt2500
modprobe rt2500

En el penúltimo comando se mueve el fichero "/etc/modprobe.conf" ya que su uso está obsoleto en Debian.

El siguiente paso es la configuración de los parámetros de red para la tarjeta. A continuación se muestra un ejemplo del contenido del fichero de configuración "/etc/network/interfaces" :

auto lo
iface lo inet loopback
auto ra0
iface ra0 inet static
address 192.168.1.3
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
pre-up ifconfig ra0 up
pre-up iwpriv ra0 set AuthMode=WPAPSK
pre-up iwpriv ra0 set EncrypType=TKIP
pre-up iwconfig ra0 essid "my_house"
pre-up iwpriv ra0 set WPAPSK="wpa_password"
pre-up iwconfig ra0 ap 01:15:67:16:38:A7

En la configuración se puede observar que está activa la encriptación WPA con contraseña. Para adaptar este fichero a una configuración particular se debe poner el valor adecuado de la red en los parámetros "essid", "WPAPSK" y "ap". También se deben poner los valores adecuados en las direcciones de red de la configuración TCP/IP.

lunes, 26 de febrero de 2007

KAddressBook y teléfono móvil Sony Ericsson W800i

A la hora de pasar los datos de KAddressBook al móvil debemos ser conscientes de como se relaciona cada campo de una entrada de la agenda de KAddressBook con una entrada de la agenda del móvil. En la siguiente tabla se muestra dicha relación:

KAddressBookW800i
Nombre FormateadoNombre
Teléfono MóvilTeléfono Móvil
Teléfono del trabajoTeléfono Trabajo
Teléfono del domicilioTeléfono Particular
Teléfono FaxTeléfono Fax
Teléfono (otros tipos)Teléfono Otros
Correo ElectrónicoEmail (solo guarda una única entrada de este tipo que es la última de las contenidas en KAddressBook)
Página webDirección Web
OrganizaciónEmpresa
CalleCalle
LocalidadCiudad
RegiónProvincia
Código postalCódigo postal
PaísPaís
CumpleañosCumpleaños
NotaInformación
FotografíaImagen

Lo primero que debemos hacer es exportar la agenda en KAddressBook como vCard 3.0 a un fichero. Si se exporta a vCard 2.1 se pueden tener problemas ya que la información de algunos campos puede estar en dos líneas y en este caso no se carga correctamente en el móvil.

Aún así, existen incompatibilidades que solventar. Para ello utilizamos el siguiente script guardándolo en un fichero con nombre "kaddressbook_vcf_to_w800i_vcf.sh".

#!/bin/sh

if [[ "$1" == "" || "$2" == "" ]] ; then
echo Usage: "$0" input_file.vcf output_file.vcf
echo ""
else
if [ ! -r "$1" ] ; then
echo \""$1"\" file does not exists
else
# converts from UTF-8 to ISO-8859-1
iconv -f UTF-8 -t ISO_8859-1 -o "$1_aux_1" "$1"

# converts line delimiters from DOS to UNIX
dos2unix "$1_aux_1"

# replace the string "\," with ","
sed 's/\\,/,/g' "$1_aux_1" > "$1_aux_2"

# replace "ENCODING=b" with "ENCODING=BASE64"
sed 's/ENCODING=b/ENCODING=BASE64/g' "$1_aux_2" > "$1_aux_1"

# replace "TYPE=image/jpeg" with "TYPE=JPEG"
sed 's/TYPE=image\/jpeg/TYPE=JPEG/g' "$1_aux_1" > "$1_aux_2"

# inserts a blank line after image data
awk '/^ / { image=1 } !/^ / && image > 0 { print "" ; image = 0 } { print }' "$1_aux_2" > "$2"

# delete temp files
rm "$1_aux_1"
rm "$1_aux_2"
fi
fi

Para enviar por Bluetooth del PC al móvil el fichero VCF generado, podemos usar KBluetooth. En el explorador de ficheros Konqueror seleccionamos el fichero a enviar y en el menú del botón derecho de ratón, dentro de "Acciones", tenemos la opción "Enviar por Bluetooth...".

Es posible que queramos eliminar del móvil todos los contactos antes de pasar los del PC. Para ello vamos a "Agenda" -> "Opciones" -> "Opc. avanzadas" y seleccionamos "Elim. todos contac.". Nos pedirá un código de bloqueo que en mi caso tenía el valor por defecto "0000".