Compilación de kernel y driver spca5xx para webcam logitech quickcam express

Hola,
ayer me compré la webcam logitech quickcam express e intenté probarla en mi Ubuntu.
No sé muy bien que versión de Ubuntu tengo, pero mi /etc/apt/sources.list apunta a los repositorios warty, supongo que será la versión anterior a hoary porque el CD ya tiene algo más de un año. El CD no lo tengo a mano porque me acabo de mudar y no sé en que caja lo he metido. Bueno, el caso es que después de leer muchos foros y hacer muchos makes conseguí compilar el driver spca5xx para la webcam con los headers del kernel, pero hago insmod y:
root@ubuntu:/home/lgarcia/spca5xx-20050906 # insmod spca5xx.ko
insmod: error inserting 'spca5xx.ko': -1 Invalid module format

Ejecuto dmesg y:
spca5xx: no version for "struct_module" found: kernel tainted.
spca5xx: version magic '2.6.8-1 SMP preempt PENTIUM4 gcc-3.3' should be '2.6.8.1 -3-386 preempt 386 gcc-3.3'

No sé si estaré en lo cierto, pero creo deducir que la versión de los headers con las que he compilado el driver no es el mismo que con el que se compiló el kernel. El driver lo he compilado con dos versiones distintas de headers, pero todo sigue igual. He tenido bastante dificultad para encontrar unos headers que pudiesen ser válidos, porque el kernel que tengo es el 2.6.8.1 y parece que ya está un poco anticuado, el caso es que el que necesito no lo encuentro.
Ahora tengo varias opciones y aqui es donde me pierdo y necesito consejo y ayuda:

- Mi primera opción es compilar una versión más moderna del kernel. Así sabré seguro que versión del kernel tengo y que headers necesito. El problema que le veo es que si actualmente hago lsmod me aparecen como 40 módulos que Ubuntu instaló automáticamente. ¿Hay alguna manera de compilar un nuevo kernel manteniendo los módulos que ya tengo instalados?

- También puedo instalar una versión más actual de Ubuntu (creo que me inclinaría más por Kubuntu sin ánimo de entrar en guerras kde vs gnome). Me entero bien del kernel que lleva y busco los headers primero. Esta opción es un poco pesada porque tendria que hacer copia de seguridad y, la verdad, no estoy sobrado de discos duros precisamente (en CD ni me lo planteo). Creo que la próxima vez que instale GNU/Linux usaré un disco duro para el kernel y otro para los datos.

¿Cómo lo véis? ¿Hay algún atajo a todo esto que yo no veo? ¿Qué me aconsejáis? Muchas gracias,
Luis

Imagen de gabiel
+1
0
-1

Los headers que tienes que usar son los que correspondan a tu kernel, no tienes que ir a buscarlos fuera, los tienes en los repositorios, instalalos con un "sudo apt-get install linux-headers-`uname -r`"; después vuelve a compilar el módulo.

En cuanto a tus preguntas sobre compilar un kernel dale un vistazo a esto, aunque no creo que en tu caso sea necesario compilarlo.

Saludos.

--------

Para ver mi firma rasca aquí ===> ||||||||||||||||||||||||||||||||
Jabber ID: gabiel@jabber.org

+1
0
-1
Imagen de Anónimo
+1
0
-1

Ya lo he conseguido, muchas gracias.
Me he bajado las headers, lo he compilado y bien, pero cuando lo probaba con insmod o modprobe me volvía a dar problemas. Entonces, por inspiración divida me he metido en modconf /kernel/drivers/media/video y he visto que el módulo videodev - Video for Linux no estaba instalado y con ese nombre... bueno, lo he instalado, he hecho insmod spca5xx.ko y a la primera. Ya tengo la webcam funcionando.
Gracias de nuevo. Un saludo,

Luis

+1
0
-1