web-dev-qa-db-fra.com

Ubuntu 12.04, chargement du pilote i801 I2C

J'ai un périphérique connecté au bus suivant (je vais en discuter une fois que j'expliquerai ce que j'essaie d'atteindre), et j'essaie de déboguer le pilote lui-même (en général, il fonctionnait pour les spécifications antérieures et les versions d'ubuntu et je ' J'essaie de mettre à jour le pilote pour qu'il réponde aux spécifications les plus récentes. Pour ce faire, je dois le faire fonctionner sur une version plus récente d'ubuntu et, une fois que l'infrastructure est en place, je commencerai à développer) - J'essaie de charger le pilote de bus i2c. i801 sans succès. Il n'y a pas de/dev/i2c-x disponible, j'ai essayé de le compiler aussi bien en tant que module intégré - aucun ne semble le rendre disponible, peut-être qu'il ne devrait pas être là? Je vois "quelque chose", qui est/sys/modules/i2c_i801/drivers/pci: i801_smbus.

La carte mère que j'utilise est le DB75EN d'Intel. Lorsque je vérifie le bus avec oscilloscope, je peux voir une fois en quelques secondes un accès à un appareil en 44h. J'utilise le dernier noyau Torvalds (3.14).

Des conseils sur la manière de charger le conducteur et sur la sélection et le chargement des pilotes de bus?

Je vous remercie!

4
Shahal

Eh bien, il semble que mon principal problème soit qu’il y ait eu une collision entre des adresses sur lesquelles je n’ai pas enquêté. Acpi_check_address_range () de osl.c a détecté une collision. Cela a fait échouer l'appel de acpi_check_resource_conflict () à partir de la sonde i2c-i801. Je l'ai commenté et compilé et cela a fonctionné. Pour enregistrer mon pilote, je devais aussi envoyer explicitement son adresse par: Sudo su echo>/sys/bus/i2c/devices/i2c-0/new_device (i2c0 est i801)

Je pense qu’une autre façon de le résoudre consiste à indéfinir ENFORCE_RESOURCES_STRICT que vérifie acpi_check_resource_conflict () dans osl.c avant de décider d’échouer.

P.S

Maintenant, je vois le périphérique 44h lorsque je lance i2cdetect.

3
Shahal