Avoir accès au code de pilotes (drivers) pour les modifier

Bonjour à tous,

J’ai un soucie pour la reconnaissance et compatibilité de une clé USB (de class mass storage) avec ma Raspberry Pi (OS Debian Wheezy). Je voulait savoir si je peux avoir accès aux pilotes pour les lire et modifier et de cette façon trouver une solution.

Merci.

Juan Pablo

Je dirais “OUI”, c’est même un peu le principe du libre :mrgreen:
Mais plutôt que de modifier les drivers je changerais la clé … surtout pour un clé de stockage :017

Merci pour ta réponse.

La clé USB que j’utilise est construit par un projet donc l’objectif sera d’améliorer la partie hardware et software au même temps.
Je début sur le monde de Linux donc si tu connais de documentation qui peux m’aider ça serait super.

Merci.

Savez vous où je peux trouver les code des pilotes USB pour les lire et modifier?, sur un dossier spécifique??

Merci par avance.

Dans les sources du kernel, repertoire drivers/usb
J’imagine que y’a tout (connais rien à l’USB)

La commande pour trouver le répertoire est :

#cd /lib/modules/$(uname -r)
#cd kernel
#ls -l

Dans le répertoire j’ai trouver les fichiers avec ext .ko, est-ce que quelqu’un a une idée du logiciel à utiliser pour les ouvrir.

Merci.

.ko, c’est du binaire ELF
C’est une shared lib adapté pour le kernel
C’est pas avec ca que tu vas modifier quoi que ce soit

Les fichiers .ko sont des fichiers binaires, tu ne peux donc pas les ouvrir (sauf en hexa, mais bon…). Les sources du kernel sont à installer séparément, cherche le paquet linux-source-x.y.zz correspondant à la version de ton noyau et va voir ensuite dans /usr/src/ pour les sources C du kernel.
Je me permet d’ajouter que si tu n’as aucune connaissance en C, il va te falloir un peu de patience avant d’espérer pouvoir modifier un driver…

Bonjour,

Le code source des pilotes est disponible dans l’archive des sources du noyau que vous utilisez.

[quote="Juan Pablo"
Dans le répertoire j’ai trouver les fichiers avec ext .ko, est-ce que quelqu’un a une idée du logiciel à utiliser pour les ouvrir.[/quote]

À vous lire, on pourrait penser que vous imaginez que les pilotes sont écrits dans un language interprété (tel que basic ou shell).
Si c’est le cas, vous êtes dans l’erreur : le code source du noyau est écrit en C et assembleur et nécessite une compilation.

Créer ou modifier un pilote suppose :

  • d’être capable de compiler un noyau, de l’installer et de le tester en parallèle avec un noyau fonctionnel : il ne manque pas de documentation sur Internet pour expliquer comment réaliser cette première étape ;
  • de modifier le code source d’un pilote : je recommande fortement la lecture du Linux Device Drivers (bien que je ne sois pas sûr qu’il soit à jour).

On peut éventuellement se passer de la première étape, en ne compilant que le code du pilote et en le chargeant dynamiquement, mais ça me semble risqué lorsqu’on est débutant.

Cordialement

Dominique