Forum Linux.debian/ubuntu Je ne peut pas charger un pilote wifi

Posté par  .
Étiquettes : aucune
0
15
juin
2010
La machine utilisée est un ordi-prise sheevaplug, Processeur ARM, Marvell kirkwood

Pour la compilation j'ai installé les paquets "build-essential" et "linux-headers-2.6.32-5-all" via aptitude sur l'ordi-prise.

Comme les liens étaient mort dans /lib/modules/2.6.32.5/ (il renvoyaient vers des dossiers inexistants) je les ai remplacés en faisant:

rm /lib/modules/2.6.32.5/build
rm /lib/modules/2.6.32.5/source
ln -s /usr/src/linux-headers-2.6.32-5-kirkwood/ /lib/modules/2.6.32.5/build
ln -s /usr/src/linux-headers-2.6.32-5-common/ /lib/modules/2.6.32.5/source

J'ai ensuite compilé le driver en faisant un "make" et tout c'est bien passé.
Le probleme est qu'ensuite lorsque j'essai de charger le pilote:

insmod rt2870sta.ko

J'obtient une erreur:

insmod: error inserting 'rt2870sta.ko': -1 Invalid module format

Je ne comprend pas cette erreur de format du module car j'ai compilé le driver sur la machine qui doit l'utiliser (pas de compilation croisé).

Si quelqu'un a une idée pour resoudre le probleme, je suis preneur.
  • # fatche

    Posté par  (Mastodon) . Évalué à 2.

    Fatche t'a installé les outils de compilo sur le sheevaplug ?? hardcore !
    Tu l'aurai eu plus simple de faire du croisé. En général les liens pétés sont tout à fait normaux, ils correspondent simplement au fait que la "construction" du système pour le rendre installable s'est faite un peu à l'arrache, puisqu'il n'y a pas besoin de tout ça pour que ça fonctionne.

    Que donne un simple
    file rt2870sta.ko
    ?
    Et comment l'as tu construit exactement, après avoir fait les liens ? Ca sent la mauvaise utilisation des ""macros"" (connais pas le terme exact) de construction.

    Et puis, pourquoi ne pas te compiler le noyal avec le support rt2870 en dur, ça permet d'avoir un noyal sans support module et tout est prêt pour le matos, illico. Non ?

    M'enfin, bon suis loin d'être un spé...
  • # Dans le Makefile peut etre ?

    Posté par  (site web personnel) . Évalué à 3.

    Vérifie si TARGET = LINUX

    Fuse : j'en Use et Abuse !

    • [^] # Re: Dans le Makefile peut etre ?

      Posté par  . Évalué à 1.

      J'ai bien un TARGET = LINUX dans mon fichier "Makefile".

      Pour ce qui est de la complication croisée je veux bien mais c'est plus compliqué qu'une simple compilation. Et je ne parle pas de compiler tout un kernel alors que je n'arrive meme pas a faire de la cross compilation pour un simple driver.

      Apres avoir compilé le driver sur la sheevaplug, si je fais un:
      modinfo rt2870sta.ko | grep vermagic

      ca me renvoi:
      vermagic: 2.6.32-5-kirkwood mod_unload modversions ARMv5

      d'autre part un "uname -r" me renvoi:
      2.6.32.5

      Du coup ca dois venir des "linux-headers" car ceuw que j'utilise pour comppiler sont bien les kirkwood.

      les linux-headers correspondant a mon noyeaux sont disponible sur
      http://sheeva.with-linux.com

      mais je ne sais pas comment les utiliser. Quand je télécharge l'archive et que je la decompresse j'obtient un dossier "/usr" qui contient lui meme un dossier "/include"

      je ne sais pas quoi faire de ce dossier, si je dois le copier quelque part ou autre.

      Qu'elqu'un a une idee.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.