martes, 19 de febrero de 2008

Palm esta muriendo [?]

Esto es algo que yo ya sentia desde hace mucho tiempo: la plataforma Palm que para mi y muchos más fue el punto de introducción a los PDAs y dispositivos móviles, la que me entusiasmo a aprender como diseñar dispositivos móviles, cada vez va peor.

Desde hace muchos años que no se mejora y/o actualiza el sistema operativo, hace añisimos se prometió una nueva versión basada en GNU/Linux que nunca salió, en lugar de esto estan saliendo equipos Palm con Windows CE, que tristeza!

Pero la patada final es que la gente de Hack&Dev, quienes estaban trabajando en portar GNU/Linux a Palm han tirado la toalla y con ellos se va la esperanza de darle algun uso práctico a mi Tungsten T3 que ya se la pasa arrinconada, sobretodo desde que tengo el Nokia E65.

Gracias a Dios porque Nokia, Google y otras grandes compañias estan produciendo dispositivos móviles basados en GNU/Linux.

miércoles, 13 de febrero de 2008

Firewire + Debian + linux 2.6.22

Resulta que por una pataleta de los encargados del kernel de linux en Debian a partir de linux 2.6.22 los "antiguos" modulos para ieee1394 (Firewire) no se van a seguir compilando, solo se compilan los nuevos. El problema es que ninguna de las aplicaciones para capturar video digital desde las cámaras con puerto ieee1394 que se encuentran en el repositorio de Debian funcionan con los nuevos módulos!

P/ Entonces que toca hacer? R/ compilar los módulos e instalarlos a pedal.

Estas son las instrucciones:


1. Instalar linux-headers, linux-source y module-assistant:


# apt-get install linux-headers-$(uname -r) linux-source-2.6.22 module-assistant

1.5 Asegurarse de que tiene todo lo necesario para compilar módulos del kernel:

# m-a prepare

2. Descomprimir los fuentes de linux:

# cd /usr/src
# tar xjf linux-source-2.6.22.tar.bz2

3. Ir a la carpeta donde estan los fuentes de los módulos "viejos":

# cd linux-source-2.6.22/drivers/ieee1394

4. Guardar una copia del Makefile original (uno nunca sabe)

# cp Makefile Makefile-original

5. Editar Makefile para que se vea asi (con nano Makefile):

#
# Makefile for the Linux IEEE 1394 implementation
#

ieee1394-objs := ieee1394_core.o ieee1394_transactions.o hosts.o \
highlevel.o csr.o nodemgr.o dma.o iso.o \
csr1212.o config_roms.o

obj-m += ieee1394.o
obj-m += pcilynx.o
obj-m += ohci1394.o
obj-m += video1394.o
obj-m += raw1394.o
obj-m += sbp2.o
obj-m += dv1394.o
obj-m += eth1394.o

6. Compilar los módulos:

# make -C /lib/modules/$(uname -r)/build M=$(pwd) modules

7. Instalar los módulos:

# mkdir /lib
/modules/$(uname -r)/kernel/drivers/ieee1394
# cp *.ko /lib/modules/$(uname -r)/kernel/drivers/ieee1394
# depmod -a

8. Desactivar los módulos nuevos añadiendo lo siguiente a /etc/modprobe.d/blacklist:

# Mientras esto se estabiliza es mejor usar los drivers viejos
blacklist firewire-ohci
blacklist firewire-sbp2
blacklist firewire-core
blacklist dv1394


9. Arreglar los permisos de acceso a /dev/raw1394. Se abre el archivo /etc/udev/permissions.rules y se busca la la linea que tiene raw1394, debe quedar asi:

KERNEL=="raw1394", GROUP="video"

Listo! despues de reiniciar todos los usuarios que pertenezcan al grupo video podrán accesar camaras con puerto ieee1394 desde programas como los populares Kino y dvgrab.