Problemas con DAHDI 2.1.0 y Xen

Hoy me disponía a reinstalar uno de mis Asterisk de casa con las últimas versiones estables de la rama 1.6 de Asterisk y las últimas versiones estables de DAHDI.

En casa tengo un servidor con Xen y el kernel oficial, un 2.6.18 parcheado. Esta versión no tiene soporte para HPET, por lo que se usaría el RTC, pero como en Xen tampoco funciona eso es necesario comentar las líneas en las que pone:

#define USE_RTC

al principio del fichero dahdi_dummy.c.

Tras hacer lo propio, me encuentro con el siguiente problema al compilar DAHDI:

CC [M]  /usr/src/asterisk/dahdi-linux-2.1.0/drivers/dahdi/dahdi_dummy.o
/usr/src/asterisk/dahdi-linux-2.1.0/drivers/dahdi/dahdi_dummy.c: In function ‘dahdi_dummy_timer’:
/usr/src/asterisk/dahdi-linux-2.1.0/drivers/dahdi/dahdi_dummy.c:223: warning: implicit declaration of function ‘hrtimer_set_expires’

Mirando el código de dahdi_dummy, me encuentro lo siguiente:

/* use kernel system tick timer if PC architecture RTC is not available */
static void dahdi_dummy_timer(unsigned long param)
{
hrtimer_set_expires(timer, jiffies + 1);
add_timer(&timer);
...

Al parecer el error viene porque se está utilizando una función del HPET cuando realmente debería usarse el system tick. Rápidamente me he dirigido al visor del repositorio de Subversion, para ver qué había cambiado desde DAHDI 2.0.0, ya que esa versión me funcionaba correctamente. Al acceder al visor me he encontrado con que había un nuevo tag: DAHDI 2.1.0.1! :-O Al mirar el ChangeLog veo que han solucionado justo el bug que había encontrado!

Por lo tanto, si estás tratando de instalar DAHDI 2.1.0 en Xen mejor que utilices DAHDI 2.1.0.1, ya que sino se producirán errores de timming. De momento no hay paquetes comprimidos de esta última versión, por lo que es necesario obtenerla del repositorio de Subversion:

svn co http://svn.digium.com/svn/dahdi/linux/tags/2.1.0.1 dahdi-linux-2.1.0.1
svn co http://svn.digium.com/svn/dahdi/tools/tags/2.1.0.1 dahdi-tools-2.1.0.1

Enjoy! 🙂

3 thoughts on “Problemas con DAHDI 2.1.0 y Xen

  1. Tengo una duda.

    Alquilé hace rato un VPS que se basa en Xen y he intentado instalar (antes zaptel, ahora DAHDI) sin exito.

    Como no tengo acceso a la configuración del kernel de la maquina, es posible compilar DAHDI? Se si como?

    Gracias por la ayuda.

    Casi se me olvidaba, optimo post…

    – Andrea –

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *