Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2584 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [Expliqué]Pourquoi doit-on compiler son driver?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Expliqué]Pourquoi doit-on compiler son driver?

n°873761
kryzantem
Posté le 26-12-2006 à 19:14:59  profilanswer
 

Bonjour,
 
J'ai récupéré une carte 3com (3c996b-t) à base de chipset Broadcom (bcm5700).
Sur le site de 3com, un driver est disponible sous license GNU GPL:
http://www.3com.com/products/en_US [...] order=desc
 
Après décompression, plusieurs versions disponibles dans Server/Linux/Driver celle que j'utilise est:
bcm5700-8.2.18.tar.gz
 
Lorsque j'essaie de le compiler, voici ce que j'obtiens:
 
homer:~/bcm5700-8.2.18/src# make
make -C  SUBDIRS=/root/bcm5700-8.2.18/src modules
make: *** SUBDIRS=/root/bcm5700-8.2.18/src: Aucun fichier ou répertoire de ce type. Arrêt.
make: *** [default] Erreur 2
homer:~/bcm5700-8.2.18/src#
 
Pourquoi doit-on compiler son propre driver(si ce-dernier n'est pas déjà inclus dans le noyau), ne pourrait-on pas récupérer une version précompilée pour son architecture?
 
Il doit manifestement y avoir une bonne raison qui m'échappe...
 
Merci d'avance pour votre aide  :hello:


Message édité par kryzantem le 29-12-2006 à 22:49:04
mood
Publicité
Posté le 26-12-2006 à 19:14:59  profilanswer
 

n°873784
kryzantem
Posté le 26-12-2006 à 21:08:25  profilanswer
 

pas d'idée?

n°873789
alien cons​piracy
hardtrance addict
Posté le 26-12-2006 à 21:16:05  profilanswer
 

Ca par contre c'est laid :
 
homer:~/bcm5700-8.2.18/src# make
make -C  SUBDIRS=/root/bcm5700-8.2.18/src modules


Message édité par alien conspiracy le 26-12-2006 à 21:16:28
n°873790
alien cons​piracy
hardtrance addict
Posté le 26-12-2006 à 21:16:59  profilanswer
 

Sinon le driver n'est pas inclus directement dans ta distrib ?

n°873791
kryzantem
Posté le 26-12-2006 à 21:25:53  profilanswer
 

non, le driver n'est pas inclu dans le noyau(2.6.18).
Qu'est ce qu'il devrait y avoir comme répertoire dans SUBDIRS à la place?

n°873796
alien cons​piracy
hardtrance addict
Posté le 26-12-2006 à 21:49:19  profilanswer
 

Tu  es loggués en root c'est ca que j'ai voulu faire remarquer.  
 
C'est quoi ta distribution ?

n°873827
kryzantem
Posté le 26-12-2006 à 23:30:34  profilanswer
 

Tout d'abord merci pour tes réponses.
 
Je ne suis pas dans ma session graphique habituelle et je n'utilise pas la session root comme session de tous les jours. Cependant, vu que je dois faire une tâche nécessitant des droits systèmes,(ajout du driver compilé dans /lib/modules/...etc...), je suis bien obligé d'opérer en tant que root..
 
Ma distribution c'est Debian Sarge.
 
Sinon pour mon problème, j'ai trouvé, il me manquait des sources (paquets kernel-headers + kernel-source correspondants à mon noyau)
Ca me paraît une abomination maintenant que j'ai compris le processus de compilation et tout et tout...  ;)  
 
Sinon je ne sais toujours pas pourquoi on ne trouve que des sources de drivers sur internet et jamais de version pré-compilé(exception faite des drivers propriétaires naturellement :)).
Je ne suis pas en train de dire que ce serait mieux bien au contraire mais je me mets à la place du novice qui n'a jamais entendu parler de compilation(je reconnais que j'éxagère un peu car linux et novice généralement ça fait pas bon ménage) et qui veut quelque chose de fonctionnel et de rapide à mettre en oeuvre.
"Mais c'est pas long de compiler un driver, pis en plus c'est adapté à son système?" me direz-vous; maintenant que je l'ai fait, je me rends compte que c'est clair que c'est pas spécialement long certes, sauf kan on sé pa comment ki fo faire  :pt1cable:  
 
:d
 
j'attends vos réactions :hello:

Message cité 2 fois
Message édité par kryzantem le 26-12-2006 à 23:40:25
n°873831
alien cons​piracy
hardtrance addict
Posté le 26-12-2006 à 23:55:31  profilanswer
 

kryzantem a écrit :

Tout d'abord merci pour tes réponses.
 
Je ne suis pas dans ma session graphique habituelle et je n'utilise pas la session root comme session de tous les jours. Cependant, vu que je dois faire une tâche nécessitant des droits systèmes,(ajout du driver compilé dans /lib/modules/...etc...), je suis bien obligé d'opérer en tant que root..
 
Ma distribution c'est Debian Sarge.
 
Sinon pour mon problème, j'ai trouvé, il me manquait des sources (paquets kernel-headers + kernel-source correspondants à mon noyau)
Ca me paraît une abomination maintenant que j'ai compris le processus de compilation et tout et tout...  ;)  
 
Sinon je ne sais toujours pas pourquoi on ne trouve que des sources de drivers sur internet et jamais de version pré-compilé(exception faite des drivers propriétaires naturellement :)).
Je ne suis pas en train de dire que ce serait mieux bien au contraire mais je me mets à la place du novice qui n'a jamais entendu parler de compilation(je reconnais que j'éxagère un peu car linux et novice généralement ça fait pas bon ménage) et qui veut quelque chose de fonctionnel et de rapide à mettre en oeuvre.
"Mais c'est pas long de compiler un driver, pis en plus c'est adapté à son système?" me direz-vous; maintenant que je l'ai fait, je me rends compte que c'est clair que c'est pas spécialement long certes, sauf kan on sé pa comment ki fo faire  :pt1cable:  
 
:d
 
j'attends vos réactions :hello:

Pour un novice tu n'a pas choisi la meilleur distrib, tu ne t'es pas bien renseigner avant de choisir. Et si  on ne trouve pas de driver précompilé  c'est parcqu'il faudrait en faire un pour chaque version de noyau, et plus généralement les dévéloppeurs fournissent les sources et c'est aux dévéloppeurs de la distrib de fournir les paquets précompiler pour leur distrib.

n°873834
alien cons​piracy
hardtrance addict
Posté le 26-12-2006 à 23:56:34  profilanswer
 

Pour le Root renseigne toi sur l'utilisation de su (et j'insiste parcque  ce logguer dans une session graphique comme root c'est le mal).

n°873857
M300A
Sehr hopfen, vielen IBU, wow!
Posté le 27-12-2006 à 08:43:31  profilanswer
 

heuu bcm5700 c'est pas remplacé par tg3 :heink:

mood
Publicité
Posté le 27-12-2006 à 08:43:31  profilanswer
 

n°873869
ph75
Posté le 27-12-2006 à 10:03:48  profilanswer
 

Sinon une solution, au moins d'attente, peut être de passer par ndiswrapper, si ça marche.
Ce n'est pas très "propre", mais ça permet de patienter le temps de compiler le vrai driver.
Chez moi je l'utilise pour une carte Wifi linksys qui n'est pas supportée, et ça marche nickel en 24h/24.

n°873889
kryzantem
Posté le 27-12-2006 à 11:57:13  profilanswer
 

alien cons piracy>

kryzantem a écrit :

Tout d'abord merci pour tes réponses.
Je ne suis pas dans ma session graphique habituelle et je n'utilise pas la session root comme session de tous les jours. Cependant, vu que je dois faire une tâche nécessitant des droits systèmes,(ajout du driver compilé dans /lib/modules/...etc...), je suis bien obligé d'opérer en tant que root..


 
Je passe déjà par su.
Pour info, c'est pas parce que j'ai eu quelques problèmes pour compiler que je suis novice.
En effet, Debian fait bien les choses et on ne doit pas souvent recompiler ses propres pilotes car la plupart sont inclus sous formes de modules du noyau pré-compilé.
 

M300A a écrit :

heuu bcm5700 c'est pas remplacé par tg3 :heink:


C'est fort possible; maintenant que t'en parles je vois dans la liste de mes modules qu'il y en a un qui s'appelle tg3, si ça se trouve le pilote était présent dans le noyau mais n'a pas été chargé automatiquement...?? Je n'avais rien à compiler, c'est juste que le pilote n'était pas charger automatiquement.
D'ailleurs comment LINUX sait quels pilotes charger sachant que certains le sont automatiquement au démarrage MAIS n'apparaissent pas dans /etc/modules.. là encore j'ai besoin de vos lumières...
 
 

ph75 a écrit :

Sinon une solution, au moins d'attente, peut être de passer par ndiswrapper, si ça marche.
Ce n'est pas très "propre", mais ça permet de patienter le temps de compiler le vrai driver.
Chez moi je l'utilise pour une carte Wifi linksys qui n'est pas supportée, et ça marche nickel en 24h/24.


Oui enfin je trouve dommage de ne pas profiter d'un driver disponible juste parce qu'on a des problèmes à compiler, non? Ndis Wrapper ça doit sauver pas mal de monde qui se retrouve avec une carte wifi sans driver pour linux  :)

Message cité 1 fois
Message édité par kryzantem le 27-12-2006 à 11:59:31
n°873910
alien cons​piracy
hardtrance addict
Posté le 27-12-2006 à 12:55:46  profilanswer
 

kryzantem a écrit :

alien cons piracy>
 
 
Je passe déjà par su.
Pour info, c'est pas parce que j'ai eu quelques problèmes pour compiler que je suis novice.
En effet, Debian fait bien les choses et on ne doit pas souvent recompiler ses propres pilotes car la plupart sont inclus sous formes de modules du noyau pré-compilé.
 
 
C'est fort possible; maintenant que t'en parles je vois dans la liste de mes modules qu'il y en a un qui s'appelle tg3, si ça se trouve le pilote était présent dans le noyau mais n'a pas été chargé automatiquement...?? Je n'avais rien à compiler, c'est juste que le pilote n'était pas charger automatiquement.
D'ailleurs comment LINUX sait quels pilotes charger sachant que certains le sont automatiquement au démarrage MAIS n'apparaissent pas dans /etc/modules.. là encore j'ai besoin de vos lumières...
 
 
 
Oui enfin je trouve dommage de ne pas profiter d'un driver disponible juste parce qu'on a des problèmes à compiler, non? Ndis Wrapper ça doit sauver pas mal de monde qui se retrouve avec une carte wifi sans driver pour linux  :)


Oké je croyais que tu découvrais, excuse moi.  
Normalement il n'y a  que  make install qui necessite les privilèges root, c'est  pour ca que je pensais que tu avait ouvert une session graphique en root.

n°873947
kryzantem
Posté le 27-12-2006 à 14:28:32  profilanswer
 

pas de problèmes, en tout cas, ça m'a permis de me rendre compte que (quand t'as les bons paquets) c'est trivial de compiler et qu'un système sur mesure n'est pas une tâche inacessible après tout...
 
Merci pour tes réponses :)

n°873996
M300A
Sehr hopfen, vielen IBU, wow!
Posté le 27-12-2006 à 16:45:55  profilanswer
 

Tu t'en est sorti finalement?
 
Si c'est du broadcom net extrem etc je suis quasiment sur que le module à utiliser est tg3.
 
Si c'est plus récent tu as les modules bnx et bnx2 dans les 2.6.18.
 
Ceci dit, udev te chargera automatiquement les bons modules pour ton matos, donc si tu as tg3 de loadé...

n°874014
Dark_Schne​ider
Close the World, Open the Net
Posté le 27-12-2006 à 18:44:04  profilanswer
 

raison qui fait qu'il faut compiler les drivers : le noyau Linux n'a pas une API stabilisé ( idem pour l'ABI ). Donc il faut recompiler les modules afin qu'ils utilisent la bonne ABI. Dans le cas du changement de l'API, une recompilation ne suffit pas ( il faut modifier les sources ). De plus même pour un même noyau, utiliser une version différente de GCC pour compiler le noyau et le module peut poser problème notamment parce que gcc peut changer l'ABI.
API : http://fr.wikipedia.org/wiki/Inter [...] grammation
ABI : http://en.wikipedia.org/wiki/Appli [...] _interface
pkoi le noyau linux n'a pas une API stabilisée : http://www.kroah.com/log/linux/sta [...] sense.html


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°874172
kryzantem
Posté le 28-12-2006 à 15:26:58  profilanswer
 

Dark_Schne ider> Merci pour tes précisions :jap:
 
M300A> Oui, je crois que je me suis précipité dans la compilation d'un driver bcm5700 (obsolète qui plus est)  parce que lorsque j'ai enfiché mar carte PCI, elle n'a pas été détectée...
Au bout du compte, il me semble que c'est un slot PCI défectueux qui a provoqué le problème parce tg3 est présent dans mes modules et un # rmmod tg3 entraîne la disparition de l'ethX.
De plus, une carte fonctionnelle et disposant d'un pilote adéquate ne marche pas non plus dans ce même slot..
 
Je ne sais pas s'il y a une quelconque corrélation avec le module bcm5700 mais lorsque je supprime ce dernier, j'ai un message au boot m'indiquant que bcm5700 est absent :??:...
A investiguer
 
Au final, j'aurais au pire appris des choses :)
++


Message édité par kryzantem le 28-12-2006 à 16:05:26
n°879062
kenyan
Posté le 18-01-2007 à 09:02:17  profilanswer
 

M300A a écrit :

Tu t'en est sorti finalement?
 
Si c'est du broadcom net extrem etc je suis quasiment sur que le module à utiliser est tg3.
 
Si c'est plus récent tu as les modules bnx et bnx2 dans les 2.6.18.
 
Ceci dit, udev te chargera automatiquement les bons modules pour ton matos, donc si tu as tg3 de loadé...


 
 
j ai le meme probleme. j ai le pilote tg3 mais  
il ne reconnait pas la carte au boot
et un insmod tg3.o envoie des messages d errurs...vous croyez quil faut recompiler le pilote?
j ai aussi entendu parler de pb de noyau?

n°879816
kryzantem
Posté le 21-01-2007 à 14:14:44  profilanswer
 

Qu'as tu comme version de noyau ?
C'est tg3.ko qu'il faut charger  
/lib/modules/$(uname -r)/kernel/drivers/net/tg3.ko
 
moi aussi au premier reboot, il ne me l'a pas détecté mais comme je l'ai dis précédemment je soupçonne un problème de port PCI défectueux.
 
Regarde avec lsmod si tg3 fait partie des modules qui sont chargés


Message édité par kryzantem le 21-01-2007 à 14:15:10
n°880515
ails
Mwen ké trouvé un bon chimin
Posté le 23-01-2007 à 15:22:40  profilanswer
 

salut j ai telecharger TG3 sur broadcom et je l ai mi dans "home" sur ma machine fedora core 1
 
je lit le fichier .txt avec le fichier que j ai dl et la je suis l instruction
 
tar xvzf tg3-3.ver.tar.gz
la il me dezip le fichier si j ai bien compris parce que je debute sous linux.
 
enssuite je continu et la j ai "src make" ou est src pour fair make ??? /usr/src ??? ou c tout autre chose ?
 
bref je bloque i need help pleas merci d avance

n°880749
kryzantem
Posté le 24-01-2007 à 11:25:52  profilanswer
 

tu te rends dans le répertoire des sources de tg3 puis tu fais make, il faut au préalable que tu aies les paquets kernel-headers voire kernel-source de  ta distrib (correspondant donc à ton  noyau).
 
Renseignes toi sur comment compiler puis installer un driver, par exemple sur lea-linus: site très instructif pour les débutants..
:hello:

n°880799
ails
Mwen ké trouvé un bon chimin
Posté le 24-01-2007 à 13:42:20  profilanswer
 

merci j y go dessuite je pensse que l prob est la puisque qd j execute insmod tg3.o ou ok ou modprob tg3.o ok sa me dit modul introuvable
 
si vs avez d autre info je prend merci go to lea ^^

n°880818
Velhcro
Cosworth Addicted
Posté le 24-01-2007 à 14:07:55  profilanswer
 

:o  tu n'as pas été voir sur léa toi  ;)

 

il faut faire :

 

sudo modprobe tg3

 

sans extension...


Message édité par Velhcro le 24-01-2007 à 14:08:09
n°880833
THRAK
- THR4K -
Posté le 24-01-2007 à 14:38:13  profilanswer
 

Sur mon ultra-portable j'utilise Debian Etch depuis un bon bout de temps déjà et je n'ai jamais eu de problème avec le module tg3 (y compris lors de l'installation -ça devait être une beta2 de l'installateur).
 
En gros ça à fonctionné tout seul dès le départ avec un noyau version 2.6.15 + udev, et ça fonctionne toujours (heureusement  :D ) avec un 2.6.16 (oui je sais il y a le 2.6.18 sous Etch, pour l'instant je n'ai pas fait la transition).
 
Extrait d'un lscpi (info sur mon chipset broadcom utilisant tg3) :


[...]
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 01)
[...]


---------------
THRAK (def.) : 1) A sudden and precise impact moving from intention, direction and commitment, in service of an aim. 2) 117 guitars almost striking the same chord simultaneously.
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [Expliqué]Pourquoi doit-on compiler son driver?

 

Sujets relatifs
Différence de puissance entre Madwifi et driver Windowsdriver nvidia
Suse 10.2 galère install driver nvidiavlc fullscreen et xorg7 (et driver ati)
installation driver imprimante Canon laser couleurDriver pour la Pinnacle PCTV dual Dvb-T Diversity usb
Problème pour compiler beagle[Suse 10.0] Driver video pour K8M890 (via)
cross compiler une appli maison vers win32[resolu] spca5xx driver webcam
Plus de sujets relatifs à : [Expliqué]Pourquoi doit-on compiler son driver?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR