¿Por qué Android no incluye un Asistente para agregar hardware? [cerrado]

Si quiero instalar Windows en, digamos, un Thinkpad X1 Carbon sin sistema operativo, entonces puedo comprar Windows e instalarlo. Windows incluye numerosos controladores. Si faltan los controladores necesarios, normalmente puedo obtenerlos del fabricante, usar el Asistente para agregar hardware e instalarlos.

Pero, si quiero instalar Android 6.0 "Marshmallow" en, digamos, un Samsung Galaxy S Relay 4G, entonces las cosas no son tan simples. Es cierto que podría (teóricamente) descargar e instalar alguna ROM aleatoria de Nexus enviada por Google. Pero dicha ROM incluye muchos menos controladores y, de hecho, es posible que no permita que mi teléfono se inicie en absoluto. Y no hay una interfaz de usuario para descargar e instalar controladores firmados descargados de sitios web de fabricantes de hardware.

¿Por qué Android no incluye ningún asistente de instalación de controladores?

¿Y cómo trata Android con un dispositivo USB On-The-Go ("USB OTG"), si no sabe cómo comunicarse con ese dispositivo USB OTG en particular?

El usuario de Stack Overflow " eski " agregó en el chat de Stack Overflow: "Dado que Android es de código abierto, la respuesta a su pregunta podría ser que 'nadie ha tenido tiempo todavía'. O 'usted aún no'".
Samsung (y, de hecho, todos los fabricantes de equipos originales) tienen un gran interés en dejar obsoleto su dispositivo lo más rápido posible para que compre uno nuevo. No obtienen ningún dinero cuando realiza una actualización del sistema operativo, por lo que no tienen interés en respaldarlo.
Porque no se puede agregar hardware a un teléfono...
No tengo suficiente información para convertir esto en una buena respuesta, así que lo dejaré aquí: el Asistente para agregar hardware es una función de Windows. El sistema operativo Android está basado en Linux. Microsoft mantiene una base de datos de controladores que potencia su asistente. Dado que Linux está desarrollado por la comunidad, no hay un repositorio unificado. Además, técnicamente, cada modelo de Android ejecuta un sistema operativo diferente, y un dispositivo con flash personalizado ejecuta un sistema operativo diferente al de un dispositivo estándar. Un controlador que funciona en un dispositivo puede no funcionar en el siguiente.
@immibis: Por supuesto que puedes agregar hardware a un teléfono. Puede agregarlo mediante USB On-The-Go , Bluetooth, infrarrojos o SDIO .
Voto para cerrar esta pregunta como fuera de tema porque se trata de decisiones de diseño, preguntas para Google, no para nosotros.
@MatthewRead: Bien. Aún así, sería bueno si la pregunta pudiera permanecer en el sitio. En realidad, ¿existe algún riesgo significativo de que esta pregunta se elimine después de un tiempo?

Respuestas (2)

  1. En computadoras de escritorio y portátiles, los controladores son un mal necesario. El hardware suele ser reparable por el usuario y propenso a cambios, y existe una gran variedad de combinaciones posibles. En teléfonos y tabletas, esto no es tan así. Realmente no puedes cambiar el hardware fácilmente. Es completamente seguro no permitir la instalación del controlador ya que realmente no lo necesita.
  2. Es mucho más fácil romper dispositivos ARM que x86 con controladores en mal estado.
  3. Los controladores en Android deben estar escritos para versiones específicas del kernel y todo. Esto es fácil de hacer para un fabricante, pero difícil de hacer bien como usuario.
  4. La mayoría de los dispositivos USB On-The-Go son interfaces USB, para las cuales se incluyen controladores.
  5. La instalación del controlador requiere acceso de raíz, que está deshabilitado de forma predeterminada en la gran mayoría de los dispositivos Android.
  6. Permitir la instalación del controlador expone una superficie masiva para la instalación de rootkits y otro malware. Y, de hecho, dicho malware puede persistir en borrados de dispositivos y actualizaciones de firmware.

Es probable que veamos algún tipo de instalación de controladores si Project Ara despega. Pero me imagino que estará en la línea de que cada componente tenga su controlador cargado e instalado cuando esté conectado, en lugar de permitir la instalación de controladores arbitrarios que se encuentran en Internet.

2. parece arbitrario. También depende más de los mecanismos de aislamiento que proporciona el sistema operativo si un controlador de baja calidad "romperá" su dispositivo.

Las mismas razones por las que un teléfono con Windows tampoco tiene un "Asistente para agregar hardware".

  1. Los teléfonos tienen requisitos legales más estrictos que los Ultrabooks/PC normales. En los EE. UU., por ejemplo, existe el servicio de emergencia/geolocalización 911, alertas Amber, Tsunami/Tornado/alertas de emergencia (que pueden encender el teléfono cuando está apagado) y supuestamente puertas traseras de la NSA (según Snowden). Además, existe la posibilidad real de que un fabricante pueda ser demandado si las personas pierden la vida debido a un mal funcionamiento del teléfono celular. En parte, esto podría explicar el hecho de que el código de la radio en red a menudo es solo una mancha binaria (a pesar de que los activistas de código abierto como Richard Stallman no están realmente contentos con eso).

  2. Los teléfonos han sido tradicionalmente fuentes de ingresos para los operadores y proveedores de contenido (o incluso para Apple). Esta es la razón por la cual la industria, el cabildeo de los derechos de autor y el gobierno/Biblioteca del Congreso ni siquiera quieren que usted tenga acceso raíz a su propio teléfono (a menos que su operador/fabricante le haya dado permiso explícito). En otras palabras, usted no es dueño de su propio teléfono. Son dueños de tu teléfono. Esto también es parte de la razón por la que no tiene el "Asistente para agregar hardware" en los teléfonos inteligentes. Tener acceso a la raíz generalmente se asocia con tener la responsabilidad de asegurar todo con su propio dispositivo (incluso la instalación de nuevos controladores). Ya no tener acceso a la raíz solo significa que ya no es su responsabilidad o privilegio hacerlo.

¿Es cierto que las alertas de emergencia inalámbricas pueden hacer que un teléfono se encienda incluso cuando está apagado? Me has hecho sentir curiosidad ahora. Por favor vaya aquí y agregue su entrada.
@unforgettableid, volví a publicar su pregunta en Security stackexchange. seguridad.stackexchange.com/questions/102567/…