Al realizar la actualización del kernel a la versión 2.6.36 y compilar el módulo slamr (slmodem-2.9.11-20100718) recibimos un error de compilación. Para solucionar el error la comunidad de linmodems.org dispone de un parche para este driver. Para su instalación realizamos los siguientes pasos:
# El slmodem-2.6.36.patch tiene el siguiete contenido:
--- slmodem-2.9.11-20100718/drivers/amrmo_init.c.orig 2010-10-10 00:33:03.000000000 -0400
+++ slmodem-2.9.11-20100718/drivers/amrmo_init.c 2010-10-10 00:37:36.000000000 -0400
@@ -436,8 +436,11 @@
}
-
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
+static long amrmo_ioctl(struct file *file, unsigned int cmd, unsigned long parg)
+#else
static int amrmo_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long parg)
+#endif
{
struct amrmo_struct *amrmo = (struct amrmo_struct *)file->private_data;
unsigned long flags;
@@ -514,7 +517,11 @@
.read = amrmo_read,
.write = amrmo_write,
.poll = amrmo_poll,
- .ioctl = amrmo_ioctl,
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
+ .unlocked_ioctl = amrmo_ioctl,
+ #else
+ .ioctl = amrmo_ioctl,
+ #endif
.open = amrmo_open,
.release = amrmo_release,
};
# Para aplicar el parche, ejecutamos lo siguiente:
cp slmodem-2.6.36.patch slmodem-2.9.11-20100718
cd slmodem-2.9.11-20100718
patch -p1 < slmodem-2.6.36.patch
y nos debe mostrar la salida:
patching file drivers/amrmo_init.c
# Compilamos slamr para kernel 2.6.36
make
make install
Con esto configuramos, compilamos e instalamos el módulo para el kernel linux 2.6.36. Gracias a todos los usuarios de la comunidad y puedes encontrar otros recursos en http://linmodems.technion.ac.il
No hay comentarios:
Publicar un comentario