4 votes

Android dispose-t-il d'une architecture de "pilote de périphérique" ?

Depuis 1990, lorsqu'une nouvelle version de Windows sort, la (seule) chose qui empêche les propriétaires de PC de procéder à une mise à niveau est de savoir s'il existe des pilotes de périphériques compatibles pour leur matériel (pilote de périphérique d'adaptateur réseau, pilote de périphérique d'adaptateur d'affichage, pilote de périphérique d'imprimante, etc.)

Android dispose-t-il de "pilotes de périphériques" qu'Acer, Archos, HTC, Huawei et d'autres fabricants de téléphones peuvent publier sur leur site web afin que les propriétaires d'appareils Android puissent, s'ils le souhaitent, mettre à jour le système d'exploitation de leur téléphone et ensuite (télécharger et) installer les pilotes appropriés ?

6voto

Nick Pierpoint Points 7976

Android n'a pas de "pilotes de périphériques". Si vous deviez penser à l'ensemble de l'écosystème Android à l'intérieur de votre combiné, divisé en 3/4, utilisant le langage de programmation Java, le 1/4 restant est le noyau écrit en C/Assembleur. C'est là, dans le noyau, que les pilotes sont intégrés. C'est une partie du travail du noyau d'interagir avec l'écran tactile, les accéléromètres, la boussole, etc. et certaines interactions avec le matériel sont déléguées à l'aspect Android des choses. C'est un résumé sous forme abstraite pour que le profane puisse comprendre.

Quant aux fabricants de matériel tels que Acer, Huawei, HTC, Samsung, Sony, Zte, pour n'en citer que quelques-uns, ce que chacune de ces entreprises fait, c'est publier les sources du noyau, afin qu'il puisse être construit. Cela dit, certaines ne respectent pas exactement la GPL, d'autres fournissent des sources qui ne sont peut-être pas complètes, en raison des restrictions imposées à certains logiciels fermés pour un matériel particulier, ou d'autres encore violent de manière flagrante la GPL et ne les publient pas du tout. Peut-être, certains distribuent la source dans laquelle le processus de déploiement de votre propre noyau peut échouer en raison d'erreurs mal formées dans le code ou de code supplémentaire manquant.

Cela s'applique généralement aux noyaux plus anciens, version 2.6.x, dans lesquels un mélange des sources appropriées est fusionné manuellement, pour créer une compilation, c'est là que cela peut se retourner contre vous de manière assez horrible, la compilation se casse, le noyau refuse de démarrer et il faut beaucoup de bricolage pour que la compilation fonctionne.

Atheros est un exemple très classique de puce wifi que l'on trouve dans une grande majorité de téléphones, notamment, les sources pour le pilote du dispositif sont assez difficiles à trouver, ce qui a entraîné des constructions cassées du pilote, à son tour, lorsqu'il est intégré avec le noyau, dans son ensemble, Android refuse de démarrer le wifi. En raison de l'obscurité de la source, les pirates ont tenté d'obtenir le pilote wifi approprié à partir d'autres ROMs stock, exacerbant ainsi le jeu sur la fonctionnalité du wifi qui fonctionne ou non.

Les nouvelles versions 3.1.x du noyau ont fusionné la plupart des pilotes de périphériques utilisés avec Android dans les sources principales du noyau, ce qui minimise les risques de mix-n-matching, c'est-à-dire de fusion manuelle des sources pour un matériel, qu'il s'agisse d'une nouvelle boussole, d'un accéléromètre, etc.

Si quelque chose ne va pas, n'hésitez pas à faire des commentaires et à modifier ce document en conséquence.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X