Esta pregunta es doble:Linux: Cómo asignar controlador USB al dispositivo
1- ¿Cómo desprender manualmente un controlador de un dispositivo USB y adjuntar una diferente? Por ejemplo, tengo un dispositivo que cuando se conecta automáticamente usa el controlador de almacenamiento usb.
// usbview salida
Vendor Id: xxxx
Product Id: xxxx
...
Number of Interfaces: 2
Interface Number: 0
Name: usb-storage
Number of Endpoints: 2
...
Interface Number: 1
Name: (none)
Number of Endpoints: 2
...
no quiero utilizar el controlador USB de almacenamiento, así que tengo una aplicación que se ejecuta en el host en el que yo uso la biblioteca libusb para separar el controlador USB de almacenamiento y luego reclamo la interfaz. Luego puedo enviar datos hacia y desde las aplicaciones que se ejecutan en mi dispositivo USB y en mi sistema host de Linux.
¿Cómo se desconecta un controlador manualmente fuera de una aplicación?
2- ¿Cómo asigno automáticamente el controlador para conectarlo al complemento del dispositivo? Actualmente tengo una configuración de regla udev para configurar los permisos del dispositivo de forma automática.
SUBSYSTEM=="usb", ATTR{idVendor}=="xxxx", MODE="0666"
¿Puedo usar las reglas de udev para asignar controladores a interfaces específicas en el dispositivo USB? Por ejemplo, si quisiera que el módulo usbnet se utilizara automáticamente en la interfaz 0 en lugar de usb-storage, ¿es posible en udev?
Gracias,
(estoy un poco confundido acerca de cómo funciona StackExchange con sus diferentes sitios o si son todos iguales. Esta es una pregunta Linux por lo que también fue publicada en Unix & Linux. Perdona si no debería publicarse aquí también, pero StackOverflow también maneja Linux, así que ...)
Pregunta similar en ** Unix y Linux ** http://unix.stackexchange.com/questions/13964/prevent-claiming-of-novelty-usb-device-by-usbhid-so-i-can-control -it-with-libusb –
@AlessandroPezzato, leí ese artículo y eso es similar, pero no la solución a mi problema. Como dije en mi pregunta, tengo una aplicación que puedo ejecutar que usa la API de libusb para separar y reclamar la interfaz.Pero necesito saber cómo desconectar y conectar un LKM desde el símbolo del sistema o automáticamente a través de udev fuera del espacio de la aplicación. – linsek