OVH Cloud OVH Cloud

module compilé..et ensuite ?

13 réponses
Avatar
mathieu
salut à tous

victoire, le module rt2500.ko (carte MSI PCI 54G)a bien été compilé
surma machien.
Pour cela j'ai pris la nouvelle version des sources
(http://www.ralinktech.com.tw/drivers/Linux/RT2500STA-Linux-1.3.0.2.tar.gz)

un fois dans le répertoire Module:

cp ./2.6.x/Makefile .
puis
make -C /usr/src/linux-2.6.3-7/ SUBDIRS=$PWD modules

et, miracle, tout se compile d'un coup.
Maintenant, j'ai bien un fichier rt2500.ko dans le répertoire

j'ai pensé le copier dans /lib/modules/linux-2.6.3-7/kernel/drivers/net
j'ai vu que les modules dans le répertoire était sous forme ko.gz mais
je ne m'y suis pas arrêté

ensuite j'ai modifié comme suit mon /etc/module.conf

alias ra0 rt2500

avant, j'avais compilé l'utilitaire de ralink et vu que la carte
fonctionnait bien.
mais, au démarrage suivant, le module n'est pas chargé

je voudrais qu'il le soit et qu'il se configure tout seul (client dhcp).

quelle est la solution ?

@+

10 réponses

1 2
Avatar
Nicolas George
mathieu wrote in message <4103a855$0$6052$:
Maintenant, j'ai bien un fichier rt2500.ko dans le répertoire


La commande pour charger un module à la main est insmod, suivi d'un nom
de fichier. La première chose à faire est de voir si ça fonctionne comme
ça.

j'ai pensé le copier dans /lib/modules/linux-2.6.3-7/kernel/drivers/net
^^^^^^^

Ce module ne vient pas du noyau, mais d'une tierce partie, il n'a donc
pas sa place dans le sous-répertoire kernel. Il faut normalement faire
un répertoire par « origine » de modules tiers qu'on installe.

Avatar
Jerome Lambert
Le Sun, 25 Jul 2004 12:52:22 +0000, Nicolas George a écrit :

mathieu wrote in message <4103a855$0$6052$:
Maintenant, j'ai bien un fichier rt2500.ko dans le répertoire


La commande pour charger un module à la main est insmod, suivi d'un nom
de fichier. La première chose à faire est de voir si ça fonctionne comme
ça.

j'ai pensé le copier dans /lib/modules/linux-2.6.3-7/kernel/drivers/net
^^^^^^^

Ce module ne vient pas du noyau, mais d'une tierce partie, il n'a donc
pas sa place dans le sous-répertoire kernel. Il faut normalement faire
un répertoire par « origine » de modules tiers qu'on installe.


/kernel/3rdparty/ n'est pas fait pour ça? C'est pourtant un
sous-répertoire de /kernel

--
Jerome

"Je ne suis pas un bon investisseur. Mon objectif n'est pas d'être le plus riche
du cimetière." Steve Jobs.


Avatar
Nicolas George
Jerome Lambert wrote in message
:
/kernel/3rdparty/ n'est pas fait pour ça? C'est pourtant un
sous-répertoire de /kernel


Je n'ai rien de tel, avec un noyau officiel. Une mandrakerie,
peut-être ?

Avatar
mathieu

mathieu wrote in message <4103a855$0$6052$:

Maintenant, j'ai bien un fichier rt2500.ko dans le répertoire



La commande pour charger un module à la main est insmod, suivi d'un nom
de fichier. La première chose à faire est de voir si ça fonctionne comme
ça.


oi oui, ca passe puisque j'ai pu tester le réseau et la réception

j'ai pensé le copier dans /lib/modules/linux-2.6.3-7/kernel/drivers/net


^^^^^^^
Ce module ne vient pas du noyau, mais d'une tierce partie, il n'a donc
pas sa place dans le sous-répertoire kernel. Il faut normalement faire
un répertoire par « origine » de modules tiers qu'on installe.
euh, ca suffirait à résoudre le pb ou c'est juste une question

"d'éthique" (que je sivrais par ailleurs )

@+


Avatar
TiChou
Dans le message <news:ce0br4$1img$,
*Nicolas George* tapota sur f.c.o.l.configuration :

Jerome Lambert wrote:
/kernel/3rdparty/ n'est pas fait pour ça? C'est pourtant un
sous-répertoire de /kernel


Je n'ai rien de tel, avec un noyau officiel. Une mandrakerie,
peut-être ?


Oui, c'en est une. C'est dans ce répetoire qu'ils mettent certains drivers
propriétaires.

Ils ne savent sûrement pas que c'est dans un des répertoires suivant qu'il
faut plutôt les mettre :

/lib/modules/2.X où X est à remplacer selon la version du noyau. Dans se
répertoire on peut alors créer l'arborescence voulue.

/lib/modules/atm
/lib/modules/block
/lib/modules/boot
/lib/modules/cdrom
/lib/modules/fc4
/lib/modules/fs
/lib/modules/ide
/lib/modules/ieee1394
/lib/modules/ipv4
/lib/modules/ipv6
/lib/modules/kernel
/lib/modules/misc
/lib/modules/mtd
/lib/modules/net
/lib/modules/pcmcia
/lib/modules/scsi
/lib/modules/sound
/lib/modules/video

--
TiChou


Avatar
Nicolas George
mathieu wrote in message <4103b4ea$0$6069$:
oi oui, ca passe puisque j'ai pu tester le réseau et la réception


Dans ce cas, il suffit probablement de surveiller attentivement les
messages au boot pour voir un éventuel message d'erreur qui expliquera
tout. Si le module, chargé manuellement, fonctionne, le reste est
normalement facile.

euh, ca suffirait à résoudre le pb ou c'est juste une question
"d'éthique" (que je sivrais par ailleurs )


Ça ne change rien au problème, mais ce n'est pas non plus une question
d'éthique, plutôt une question de pratique : si tu installes un nouveau
noyau, il est bien plus facile de retrouver ce qu'il faut compiler en
plus si c'est bien rangé.

Avatar
Nicolas George
"TiChou" wrote in message :
Ils ne savent sûrement pas que c'est dans un des répertoires suivant qu'il
faut plutôt les mettre :


Tiens, où trouves-tu cette liste ? Personnellement, j'aurais plutôt
tendance à faire un répertoire par origine de modules :

/lib/modules/`uname -r`/gatos
/lib/modules/`uname -r`/nvidia
/lib/modules/`uname -r`/linux-ecc
...

(bon, d'accord, il y a peu de chance d'avoir besoin de gatos et de
nvidia en même temps)

Avatar
TiChou
Dans le message <news:ce0ebv$1jmp$,
*Nicolas George* tapota sur f.c.o.l.configuration :

Ils ne savent sûrement pas que c'est dans un des répertoires suivant
qu'il faut plutôt les mettre :


Tiens, où trouves-tu cette liste ?


C'est la liste des répertoires parcourus, en plus du répertoire
/lib/modules/`uname -r`, par les commandes 'depmod', 'insmod' et 'modprobe'.
En lançant la commande 'depmod' en mode verbeux, on peut voir tout les
chemins scannés par cette commande.

Personnellement, j'aurais plutôt tendance à faire un répertoire par
origine de modules :

/lib/modules/`uname -r`/gatos
/lib/modules/`uname -r`/nvidia
/lib/modules/`uname -r`/linux-ecc
...

(bon, d'accord, il y a peu de chance d'avoir besoin de gatos et de
nvidia en même temps)


Oui, mais le problème c'est qu'à la moindre installation des modules du
noyau, il faudra réinstaller les modules propriétaires.

Je prends l'exemple d'un modem USB (le Sagem 800) sur une de mes
machines. J'ai placé le module dans le répertoire /lib/modules/usb.
Ainsi, lors d'une mise à jour de noyau (patche sécurité par exemple), je
n'ai pas besoin de recompiler ou de réinstaller mon module, car le
répertoire /lib/modules/usb ne sera pas modifié ou supprimé par le
'make modules_install'.
Lors d'une mise à niveau du noyau, si la version du noyau nouvellement
installé est suffisamment proche du précédent noyau, je n'ai généralement
pas non plus besoin de recompiler et de réinstaller ce module.

--
TiChou


Avatar
mathieu
hugh
oi oui, ca passe puisque j'ai pu tester le réseau et la réception



Dans ce cas, il suffit probablement de surveiller attentivement les
messages au boot pour voir un éventuel message d'erreur qui expliquera
tout. Si le module, chargé manuellement, fonctionne, le reste est
normalement facile.


oui mais évidemment, ca ce passe pas comme ça
au démarrage, /var/log/message me dit ok au chargement du module
cependant, un lsmod me montre qu'il n'est pas chargé

pour le chargé, je dois aller dans le répertoire où il se trouve et
faire insmod rt2500. si je le fais d'un autre endroit, le module n'est
pas trouvé.Il doit donc y avoir là un pb, le module n'est apparement pas
"visible" pour le système.

pour avoir le réseau il me suffit de faire ensuite /sbin/ifconfig ra0
inet 192.168.201.78 up

une fois le réseau monté, je peux pinguer mon serveur, ma passerelle
mais pas www.free.fr. j'utilise normalement dhcp et là, c'est moi qui
rentre l'adresse à la main.

pas moyen de configurer la carte à partir de l'utilitaire mandrake.

Par contre, celui de gestion du matériel la voie bien.

bref, je ne sais comment m'en sortir


euh, ca suffirait à résoudre le pb ou c'est juste une question
"d'éthique" (que je sivrais par ailleurs )



Ça ne change rien au problème, mais ce n'est pas non plus une question
d'éthique, plutôt une question de pratique : si tu installes un nouveau
noyau, il est bien plus facile de retrouver ce qu'il faut compiler en
plus si c'est bien rangé.


ok

mais j'ai regardé et dans mon rep /lib/module, je n'ai que kernel ou
build comme autres sous-répertoires.
je fais quoi moi ? (même si je compte pas compiler mon noyau)

@+


Avatar
TiChou
Dans le message <news:4103d560$0$29368$,
*mathieu* tapota sur f.c.o.l.configuration :

au démarrage, /var/log/message me dit ok au chargement du module
cependant, un lsmod me montre qu'il n'est pas chargé


Vous en êtes sûr qu'il vous dit « ok » ? Permettez moi d'en douter. Regardez
plutôt dans dmesg.

pour le chargé, je dois aller dans le répertoire où il se trouve et
faire insmod rt2500. si je le fais d'un autre endroit, le module n'est
pas trouvé.


La commande 'depmod -a' a-t-elle été lancée après l'installation du module ?

[...]

--
TiChou

1 2