compiler les sources d'un module

compiler les sources d'un module - Hardware - Linux et OS Alternatifs

Marsh Posté le 11-05-2004 à 20:09:26    

Voilà j'ai acheté une carte réseaux PCMCIA CNet CNF401 et les pilotes  livrés pour linux sont uniquement les sources....
 
Alors je suppose qu'il faut les compiler pour obtenir un module puis le charger... Mais comment fait on??
 
Merci  :D


Message édité par djmacou le 11-05-2004 à 20:09:55
Reply

Marsh Posté le 11-05-2004 à 20:09:26   

Reply

Marsh Posté le 11-05-2004 à 20:36:59    

Il ne t'ont pas fourni une quelconque doc avec les drivers ?

Reply

Marsh Posté le 11-05-2004 à 20:52:25    

non un fichier .h et un fichier .c et c'est tout...

Reply

Marsh Posté le 11-05-2004 à 20:55:31    

même pas un makefile ?


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 11-05-2004 à 20:57:52    

même pas ces deux fichiers + un readme.txt pour dire qu'ils ont été testé sous redhat 6.2 avec un kernel 2.2 c tout

Reply

Marsh Posté le 11-05-2004 à 20:59:04    

ben à coup sur ils sont dans le noyau actuel

Reply

Marsh Posté le 11-05-2004 à 21:14:44    

il sont pas dans le 2.4 ni dans le 2.6 enfin je crois pas :
 
-La carte est basé sur le rtl-8139 qui est suporté par les 2 noyau mais pour les carte PCI... Dans les kernel pour les modules des cartes ethernet PCMCIA il n'y sont pas...

Reply

Marsh Posté le 12-05-2004 à 10:25:52    

Pas d'idées?

Reply

Marsh Posté le 12-05-2004 à 14:10:26    

ben contacte ton constructeur  
compile tout ce que tu peux dans ton noyau, et fais des tests ...
je vois même pas d'entrée PCMIA dans la configuration, je sais pas du tout comment ça marche, t'es sur que ce genre de matériel ne passe pas par une sorte d'émulation ?

Reply

Marsh Posté le 12-05-2004 à 14:52:26    

oui je vois pas pourquoi... Les sources de modules ca ce compile non?

Reply

Marsh Posté le 12-05-2004 à 14:52:26   

Reply

Marsh Posté le 12-05-2004 à 15:18:43    

oui mais y a 2 numéros de différences au niveau de la version du noyau. le 2.2 est archi obsolète. tu peux essayer (si tu sais le faire) mais je doute que cela fonctionne

Reply

Marsh Posté le 12-05-2004 à 15:19:30    

t'as qu'a renommer ton topic en "pas de driver pour ma carte réseau PCMIA" pour voir si des gens qui utilisent ce genre de matériel ont la solution

Reply

Marsh Posté le 12-05-2004 à 15:22:52    

je peux dire une connerie??
 
normalement, peu importe que ta carte soit en pcmcia ou en pci, c'est le chip réseau qui définit le module à utiliser. le kernel trouve ta carte pcmcia et la gère comme une carte pcmcia, ensuite, il voit que c'est du réseau et trouve le module pour le chip réseau.
 
t'as testé au moins??

Reply

Marsh Posté le 12-05-2004 à 15:39:06    

bas c'est exactement ce que je pense

Reply

Marsh Posté le 12-05-2004 à 16:54:20    

Pour un 2.4 :
  cc -O -DMODULE -D__KERNEL__ -c ton_fichier.c dvrait te donner ton module.
 
Pour un 2.6 :
(c ma methode, doit y en avoir d'autres plus propres :/)
Dans le repertoire tu crees un Makefile
avec :  
obj-m += ton_fichier.o
et  
make -C /usr/src/linux SUBDIRS=$PWD modules
devrait te produire ce qu'il faut (.ko ?)

Reply

Marsh Posté le 12-05-2004 à 17:05:46    

attention, ça va oopser

Reply

Marsh Posté le 12-05-2004 à 17:17:42    

oops ?

Reply

Marsh Posté le 12-05-2004 à 17:37:10    

ouais, à plein nez, m'enfin bon, si les magicSysRq sont activées, t'es pas obligé de rebooter à la sauvage! ;-)

Reply

Marsh Posté le 12-05-2004 à 18:09:57    

Citation :

t'as testé au moins??


oui j'ai essayer lors de l'install de l'installer avec le noyau mais il ne voulais pas m'installer ce module, je vais retester ca....
 

Citation :

Pour un 2.4 :  
  cc -O -DMODULE -D__KERNEL__ -c ton_fichier.c dvrait te donner ton module.  
 
Pour un 2.6 :  
(c ma methode, doit y en avoir d'autres plus propres )  
Dans le repertoire tu crees un Makefile  
avec :  
obj-m += ton_fichier.o  
et  
make -C /usr/src/linux SUBDIRS=$PWD modules  
devrait te produire ce qu'il faut (.ko ?)


 
Merci je vais tester ca aussi dans 2h :D
 

Reply

Marsh Posté le 18-09-2004 à 09:08:34    

j'ai récupéré un vieux portable vaio pcg-f400 et cette petite carte CNF401 à 20 euro marche bien sous windaube 98 mais je n'ai réussi à compiler un driver que sous le kernel 2.4.26.
J'aurais l'avoir dans l'installation woody en 2.4.18-bf2.4 mais il n'existe pas de module compatible.
Le bout de code rtl8139.c fourni pour redhat est bidouillé à partir de la version de http://www.scyld.com/rtl8139.html et même en récupérant toutes les infos de ce site et avec mes trois notions de C je n'arrive pas à compiler un module avec kernel-source-2.4.18 et kernel-headers-2.4.18-bf2.4.
De toute façon je suis passé à sid avec kernel-source-2.6.8 et kernel-headers-2.6.8-1-686 alors le vieux module à l'origine de tous ceux là le 8139too (option RealTek RTL-8139 PCI Fast Ethernet Adapter support) dans Device Drivers/Networking support/Ethernet (10 or 100Mbit) de Linux Kernel Configuation ne fonctionne pas si mal.
Je comprends pas qu'il existe une version du 8139too.o en 2.2.20-idepci ou 2.2.20-compact et pas en 2.4.18-bf2.4 et pas moyen de forcer la verson par insmod -f.

Reply

Marsh Posté le 18-09-2004 à 23:16:21    

en définitive avec kernel-source-2-6.8 et kernel-headers-2.6.8-1-286 il est aussi possible d'avoir 8139too.o en module dans la config au niveau de Network device support/Ethernet(10 or 100Mbits) en cochant la ligne RealTek RTL-8139 PCI Fast Ethernet Adapter support  
j'ai essayé de recopier le 9139too.o de /lib/modules/2.4.18/kernel/drivers/net en /lib/modules/2.4.18-bf2.4/kernel/drivers/net mais même avec insmod -f 8139too pas moyen de forcer ce module dans la saveur bf24
dommage mon disque dur est minuscule j'aurais bien réinstallé encore une fois avec rien d'autre que bf24 si j'avais pu obtenir un module compatible :jap:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed