¿Por qué algunos dispositivos no requieren controlador usb en Linux, pero sí en Windows?

4

He visto varios proyectos por ahora, que usan una interfaz USB. Por lo general, requieren un controlador especial para Windows, pero no para sistemas basados ​​en Linux. ¿Porqué es eso? Quiero decir, incluso Windows tiene algunos controladores genéricos para clases básicas de dispositivos USB, entonces, ¿qué admite Linux que Windows no admite?

usuario32569
fuente

Respuestas:

6

También encontrará que en Linux, las distribuciones estándar (y a veces las compilaciones del kernel) tienden a incluir una tonelada de controladores de hardware interesantes y específicos, principalmente debido a las contribuciones de los usuarios a lo largo del tiempo. Windows realmente no tiene una forma para que los desarrolladores arbitrarios creen controladores para hardware común y luego lo incluyan en todas las distribuciones nuevas de Windows. Es un software diferente y un modelo de distribución. Con Linux, muchas cosas llegan a la corriente principal con el tiempo.

No es solo que Linux tenga más controladores "genéricos" (sino que a menudo esto es cierto, especialmente cuando los contribuyentes están interesados ​​en escribir controladores lo más amplios posibles en lugar de que los proveedores escriban controladores propietarios para su hardware específico), simplemente se envía con un gran colección a la que las personas pueden contribuir y llegar rápidamente a las principales distribuciones, para siempre.

Veo todo tipo de cosas extrañas que se envían con Linux. Por ejemplo, CAN es una interfaz en serie y un protocolo para uso en automatización y control industrial. El uso es relativamente raro, pero el kernel que se incluye con Ubuntu tiene soporte genérico CAN incorporado, y los módulos de kernel de interfaz específicos del proveedor de la tarjeta controladora se envían con el estándar Ubuntu. Ese tipo de distribución no es posible con sistemas operativos más controlados como Windows u OSX. No me habría enterado de esto si no hubiera trabajado en un proyecto de robótica recientemente y, para mi sorpresa, no solo los controladores de interfaz se integraron en el núcleo, sino que también se incluyeron (sorprendentemente) módulos para la tarjeta controladora de mi proveedor. .


Fuera de tema:

También vale la pena señalar que incluso para los conductores que no envían estándar, ambos sistemas operativos son mucho mejores al respecto que en el pasado. Las distribuciones populares de Linux han estado trabajando arduamente para hacer que la obtención de software sea lo más fácil posible para mantenerse competitivo, por lo que en muchos casos se puede obtener fácilmente un controlador que aún no está en el sistema a través de un repositorio de paquetes (hace 15 años era mucho más difícil de obtener hardware aleatorio para trabajar en Linux). Windows, en los últimos años, ha mejorado al tener un gran depósito de controladores disponibles en línea para descarga automática cuando se conecta el hardware; en estos días, al menos para mí, es mucho más raro encontrar "un controlador para este dispositivo no podría ser ubicado "en Windows.

También mejorará (en todos los sistemas operativos) también. La facilidad de instalación de software y controladores es tan omnipresente en la actualidad (especialmente debido a los avances en las plataformas de estilo de "aplicación" impulsadas por dispositivos móviles, y ahora mira; tiene el Centro de software de Ubuntu, Windows 8 Marketplace, iTunes Store, Google Play, incluso software individual como Chrome, Firefox, todos tienen nuevas características centradas completamente en la facilidad de encontrar e instalar nuevo software) que es casi esperado; es un error si tiene que buscar software, donde solía ser un extra si no lo hacía.

Jason C
fuente
0

AFAIK Linux incluye todos los "controladores" en el núcleo, pero Windows los mantiene separados. Entonces Linux tiene controladores pero ya están incluidos en el corazón del sistema. Además, Linux usa controladores más genéricos, mientras que Windows tiene controladores más específicos para dirigirse a ciertos dispositivos.

p1xel
fuente
Algunos controladores están incluidos en el núcleo, muchos están construidos como módulos que no se cargan hasta que se necesitan (conceptualmente equivalentes al sistema de controladores basado en DLL de Windows). Exactamente cuáles están integrados o incluidos dependen de la distribución de Linux.
Jason C