Mi problema particular: Tengo una Webcam usb integrada en el portátil (Chicony Electronics) que Debian no lograba hacer funcionar . Y también tengo una sintonizadora dvb-t TVISTO que utiliza el módulo af9015. El módulo que utiliza la Webcam es uvcvideo y tanto este como el de la sintonizadora utilizan v4l, solo que el módulo af9015 utiliza v4l experimental.
Yo ya tenía mi Webcam perfectamente instalada cuando intenté cargar el módulo de la sintonizadora. A parte de que este driver no se cargó correctamente (la versiones para este driver son aun muy verdes para GNU/Linux) la Webcam me dejó de funcionar de repente, y cuando intento volver a compilar uvcvideo e instalarlo, al cargar el módulo me dice que no lo puede cargar, veo los logs y me sale esto:
$ dmesg
uvcvideo: Unknown symbol v4l_compat_ioctl32
uvcvideo: Unknown symbol v4l_compat_translate_ioctl
uvcvideo: Unknown symbol video_devdata
uvcvideo: Unknown symbol v4l_printk_ioctl
uvcvideo: Unknown symbol video_unregister_device
uvcvideo: Unknown symbol video_device_alloc
uvcvideo: Unknown symbol video_register_device
uvcvideo: Unknown symbol video_usercopy
uvcvideo: Unknown symbol video_device_release
Aunque también te puede salir otro tipo de incompatibilidades parecidas…
Por lo visto el problema está en la forma en que código para la sintonizadora trata el fichero “Module.symvers” por el cual se presentan incompatibilidades entre los dos módulos.
Pues bien, el caso es que existe una manera para solucionar el problema de la Webcam (aunque no logré hacer funcionar mi tarjeta dvb-t, y esta solución seguramente no sea la más adecuada…) y esta puede que te funcione en un caso similar donde, a pesar de que no tengas los mismo componentes hardware, si hayas tratado con estos dos drivers.
La solución para que la Webcam vuelva a funcionar pasa por cargar el módulo “uvcvideo” con el fichero Module.symvers de “v4l experimental” que trae el código del driver de la sintonizadora.
La sintonizadora tiene que estar instalada (aunque el módulo no se cargara correctamente, lo importante es que has compilado la nueva versión de v4l) y tienes que eliminar el módulo de uvcvideo anterior:
# rmmod uvcvideo
Volver a obtener el código de uvcvideo (si no dispones de el):
$ svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk
$ cd trunk
Ahora el paso importante copiar el archivo “Module.symvers” del v4l experimental a este directorio (sustituyendo el actual): El fichero del que hablo está en la ruta donde descargaste el driver de la sintonizadora, en la carpeta v4l, por lo que será algo así (cuidado con el punto final, hay que ponerlo para que copie en el directorio actual ya que suponemos que estamos en la carpeta que contiene los archivos del driver de uvcvideo):
$ cp -f dirección_del_driver/v4l/Module.symvers .
Una vez echo esto compilamos:
$ make
Instalamos:
# make install
Y cargamos el módulo:
# depmod -a
# modprobe uvcvideo
Y ahora si que debería cargar el módulo sin problemas y tu Webcam debería de volver a funcionar.
También decir que en este caso no soy capaz de hacer funcionar mi tarjeta dvb-t, pero puede que tu si y lo único que te pasara es que te haya dejado de funcionar la Webcam. Pues con esta solución se supone que podrías utilizar los dos componentes al mismo tiempo.
Compartelo
Debian, GNU/Linux, Toshiba, sintonizadora dvb-t, wifi
Comentarios recientes