Este documento describe como solucioné la siguiente situación:
Después de actualizar la distribución GNU/Linux de mi computadora, pasando de la versión 10.1 a la 10.2 de OpenSuSE me encontré que algunas aplicaciones no accedían a los dispositivos USB, ya que para esto necesitan poder ver la carpeta /proc/bus/usb.
El tema en cuestión es que el kernel por defecto que viene con la distribución no tiene habilitada la opción “USB device filesystem” con lo cual no es posible montar el sistema de archivos virtual usbfs.
Ante este problema tenía que encontrar una solución. En varios foros se recomendaba recompilar el kernel, tarea que si bien en alguna época hacía habitualmente, en la actualidad le esquivo bastante. La inquietud aquí era, si por ejemplo los drivers propietario de la placas de video, pueden compilar solo los módulos que necesitan, entonces tiene que ser posible compilar un solo módulo, en vez de todo el kernel.
Con esta idea empecé a investigar, sin mucho éxito, hasta que en la lista del Lugro me tiraron varios datos, que apuntaban a que si es posible realizar esta compilación. Con esto me dedique a probar con resultado satisfactorio, al final obtuve el módulo usbcore.ko recompilado y funcional, sin necesidad de recompilar todo el kernel.
Los pasos a seguir son los siguiente:
1) Se deben instalar los fuentes del kernel, en mi caso ya los tenía instalados en la carpeta /usr/src/linux, pero para esta prueba copie todo el contenido a una carpeta temporal en mi home (${home}/tmp/kernel/)
2) Abro una consola y me posisiono en la carpeta dende están los fuentes del kernel.
3) ejecuto los siguientes comandos:
#> make clean
#> make cloneconfigEste comando sirve para copiar la configuración del kernel actual en el archivo .config utilizado para compilar el kenrel
#> make menuconfig
En el menú de configuración del kernel voy a:
Device Drivers –> USB Support –> USB device filesistem
Activo esta opción y saldo guardando el resultado.
Bien ahora hay que compilar solo el módulo “usbcore” y para esto ejecutamos lo siguiente:
#> make modules_prepare
#> make SUBDIRS=drivers/usb/core modules
Listo tenemo el modulo compilado, solo queda copiar el archivo drivers/usb/core/usbcore.ko a /lib/modules/{version}/kernel/drivers/usb/core
Ejecutamos depmod -a
y Reiniciamos (o desactivamos todos los modulos usb y los volvemos a cargar)
Listo tenemo la distribución OpenSuSE 10.2 con soporte para usbfs.


Buena guia!! Funciono bien en wmware workstation 5.5.3. Sin embargo cuando pongo la memoria usb en suse, aparecen continuamente muchas ventanas emergentes que dicen detectar el dispositivo y preguntan si deseas abrirlo en konqueror, solo se detienen hasta hacer una expulsion segura. Pero la luz del USB continua prendida (aun no desmontado del todo).
Tengo una pregunta…¿solo hay que activar -USB device file system- o tambien es necesario activar -the share table of common- ?
ver post #7 en:
http://www.forosuse.org/forosuse/showthread.php?t=10242
AldoZC
Solo es necesario activar el USB device filesystem con eso alcanza.
En cuanto a la memoria USB no te podría decir que sucede. Proba desmontar el sistema de archivos usbfs. En mi caso particular monto varios dispositvos de memoria USB y no se presenta ese problema. (camara de fotos, discos, telefono, etc).
Exitos.
Exelente tu aporte.
Hace tiempo que tenía el problema usando Vmware sobre open suse 10.2 y con tu ayuda lo he solucionado.
Mil gracias !!!!
Hola,
me encuentro con la dificultad de no poder activar usb_devicefs como modulo. Solo puedo activar o desactivarlo (Y o N).
Se me ha escapado algo?
Un Saludo
Lorenz
Hola Lorenzo.
Es correcto que tenga solo la opción para desactivar o no el usb_devicefs, ya que el soporte para éste se compila dentro del módulo usbcore. Por eso tenes que recompilar este módulo, solo que activando además el soporte para usb_devicefs.
Exitos
Omar
Hola magnifico:
Estupendo trabajo, gracias a esta guia podemos activar el usbFS en el kernel a punto rapidamente cada vez que se descarga un nuevo parche.
Sólo falta una cosa, la primera operación de este proceso es hacer logon como root (típicamente con su) para poder hacer todas las operaciones de make del kernel (parece que tú trabajas directamente como root).
Un saludo y gracias.
El Fontanero
bueno aqui un problema aversi me puedes ayudar va todo bien hasta que hago el make menuconfig
HOSTLD scripts/kconfig/mconf
HOSTCC scripts/kconfig/lxdialog/checklist.o
In file included from scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:31:20: error: curses.h: No existe el fichero o el directorio
todo comienza con ese error y de ahi se desencadenan muchos y no prosigue, no sabes que librerias me puedan faltar?? por que el kernel-source, no se que libresias se ocupen, me pueden ayudar?
Probablemente el problema que tenés, es la falta de las librerías ncurses, en mi sistema tengo instalados los siguientes páquetes:
yast2-ncurses-2.14.4-3
ncurses-devel-5.5-42
php5-ncurses-5.2.0-10
ncurses-5.5-42
Verificálo ejecutando:
#> rpm -qa | grep ncurse
FUNCIONOOOOOOOOO¡¡¡¡¡¡¡¡¡
mi pregunta es:
tengo un modem usb, y no puedo entrar a internet porque no lo detecta como conectado por falta de este modulo
cuando hago este procedimiento, me dete4ctará el modem??????????
Si el modem USB esta soportado por el kernel y no esta compilado por defecto, este procedimiento se aplicaría a tu necesidad.
Probá y fijate que pasa una vez compilado. No se pierde nada ya que no rompemos el kernel por defecto.
[...] Aquí hay un link para compilar los módulos sin recompilar el [...]
Respondiendo a #
Comentario por Roberto — 15 – Marzo – 2007 @ 11:40 pm
Yo tenía el mismo error que le sucedia a él cuando queria ejecutar el comando
#> make menuconfig
pero se resuelve instalando en el YaST2 > Software Management
-ncdu
-ncurses
-ncurses-devel
-php5-ncurses
-yast2-ncurses
¡ Suerte !
Hola, Será esa la causa de que en el Suse 10.2 no reconozca los usb el virtualBox???
me recomiendan recompilar?
gracias
Si, es por esto.
Recompilá o actualizá a 10.3 que anda muy bien.
Demasiado tarde ya eh compilado el kernel Jeje XD, pero bueno lo tendre encuenta para la proxima ocasion. Igual Gracias!!