Installer driver propriétaire ralink sur ubun [Résolu/Fermé]

Signaler
Messages postés
2049
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
13 novembre 2016
-
 la quiche -
Bonjour,

Je viens d'installer ubutnu 8.04 beta sur mon nouveau desktop, et contrairement a ce que j'espérai ma carte wifi n'est pas directement reconnue.

Il s'agit du chipset Ralink RT2870, et ralink propose un driver sur son site. très bien! sauf que je ne suis pas assez douer pour comprendre leur mode d'emplois.

D'ou question, quelqu'un connait-il un bon tuto que je n'aurai pas trouvé? Ou alors un(e) surdoué(e) peut-il m'aider, genre jipicy, mamiemando, kilian, lami20j, jeanbi ou autre?

là j'en suis à "In Makefile, set the MODE = STA", ok, "TARGET = Linux", ok aussi, mais ou je cale, c'est "define the linux kernel source include file path LINUX_SRC modify to meet your need" Il y a un peu trop de LINUX_SRC pour que je sache quel chemin mettre pour quoi.

extrait du makefile à modifier :

ifeq ($(PLATFORM),5VT)
LINUX_SRC = /opt/fvt_11N_SDK_0807/fvt131x_SDK_11n/linux-2.6.17
CROSS_COMPILE = /opt/crosstool/uClibc_v5te_le_gcc_4_1_1/bin/arm-linux-
endif

ifeq ($(PLATFORM),IKANOS)
LINUX_SRC = /home/sample/projects/LX_2618_RG_5_3_00r4_SRC/linux-2.6.18
CROSS_COMPILE = mips-linux-
endif

ifeq ($(PLATFORM),SIGMA)
LINUX_SRC = /root/sigma/smp86xx_kernel_source_2.7.172.0/linux-2.6.15
CROSS_COMPILE = /root/sigma/smp86xx_toolchain_2.7.172.0/build_mipsel_nofpu/staging_dir/bin/mipsel-linux-
endif

ifeq ($(PLATFORM),INIC)
UCOS_SRC = /opt/uCOS/iNIC_rt2880
CROSS_COMPILE = /usr/bin/mipsel-linux-
endif

ifeq ($(PLATFORM),STAR)
LINUX_SRC = /opt/star/kernel/linux-2.4.27-star
CROSS_COMPILE = /opt/star/tools/arm-linux/bin/arm-linux-
endif

ifeq ($(PLATFORM),PC)
# Linux 2.6
LINUX_SRC = /lib/modules/$(shell uname -r)/build
# Linux 2.4 Change to your local setting
#LINUX_SRC = /usr/src/linux-2.4
LINUX_SRC_MODULE = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/
CROSS_COMPILE =
endif

ifeq ($(PLATFORM),IXP)
LINUX_SRC = /project/stable/Gmtek/snapgear-uclibc/linux-2.6.x
CROSS_COMPILE = arm-linux-
endif

ifeq ($(PLATFORM),INF_TWINPASS)
# Linux 2.6
#LINUX_SRC = /lib/modules/$(shell uname -r)/build
# Linux 2.4 Change to your local setting
LINUX_SRC = /project/stable/twinpass/release/2.0.1/source/kernel/opensource/linux-2.4.31/
CROSS_COMPILE = mips-linux-
endif

73 réponses

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 487
et le résultat après le chargement de module
root@debian:~/src/2007_1220_RT2870_Linux_STA_v1.2.1.0# cd os/linux/
root@debian:~/src/2007_1220_RT2870_Linux_STA_v1.2.1.0/os/linux# /sbin/insmod rt2870sta.ko
root@debian:~/src/2007_1220_RT2870_Linux_STA_v1.2.1.0/os/linux# lsmod | grep rt2870
rt2870sta             406424  0
usbcore               125832  9 rt2870sta,usb_storage,usbhid,dvb_usb_nova_t_usb2,dvb_usb,uhci_hcd,ohci_hcd,ehci_hcd
root@debian:~/src/2007_1220_RT2870_Linux_STA_v1.2.1.0/os/linux#

Messages postés
2049
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
13 novembre 2016
134
Salut,

desole, j'ai fini par aller dormir hier soir.

vu ton experience, j'ai efface tout le repertoire, et redetare le driver, make directement sans rien changer, et

renisaac@renisaac-desktop:~/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0$ make
make -C tools
make[1]: Entering directory `/home/renisaac/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0/tools'
gcc -g bin2h.c -o bin2h
make[1]: Leaving directory `/home/renisaac/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0/tools'
/home/renisaac/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0/tools/bin2h
cp -f os/linux/Makefile.6 /home/renisaac/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0/os/linux/Makefile
make -C /lib/modules/2.6.24-15-generic/build SUBDIRS=/home/renisaac/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0/os/linux modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.24-15-generic'
CC [M] /home/renisaac/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0/os/linux/../../os/linux/rt_main_dev.o
/home/renisaac/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0/os/linux/../../os/linux/rt_main_dev.c: In function ‘rt_ieee80211_if_setup’:
/home/renisaac/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0/os/linux/../../os/linux/rt_main_dev.c:671: warning: assignment from incompatible pointer type
/home/renisaac/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0/os/linux/../../os/linux/rt_main_dev.c:694: warning: passing argument 1 of ‘dev_get_by_name’ from incompatible pointer type
/home/renisaac/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0/os/linux/../../os/linux/rt_main_dev.c:694: error: too few arguments to function ‘dev_get_by_name’
/home/renisaac/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0/os/linux/../../os/linux/rt_main_dev.c: In function ‘rt28xx_probe’:
/home/renisaac/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0/os/linux/../../os/linux/rt_main_dev.c:1157: error: implicit declaration of function ‘SET_MODULE_OWNER’
make[2]: *** /home/renisaac/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0/os/linux/../../os/linux/rt_main_dev.o Error 1
make[1]: *** [_module_/home/renisaac/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0/os/linux] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-15-generic'
make: *** [LINUX] Error 2
renisaac@renisaac-desktop:~/compilationdriverralink/2007_1220_RT2870_Linux_STA_v1.2.1.0$

donc pas mieux.

j'ai aussi essaye ce matin avec ndiswrapper, tout se passe parfaitement, ndiswrapper voit ma carte, mais iwconfig, et donc networkmanager ne voient tjr rien :

renisaac@renisaac-desktop:~$ ndiswrapper -l
netr28u : driver installed
device (13D3:3247) present
renisaac@renisaac-desktop:~$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

renisaac@renisaac-desktop:~$

ndiswrapper est bien charge dans le noyeau me dis lsmod

lami20j, ou quelqu'un d'autre, une idee comment avoir le wifi sur cette satane becane?

renisaac
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 487
Salut,

en fait tu n'as pas besoin de renseigner la variable CROSS_COMPILE
pourquoi?

Puisque dans le ficher config.mk on as
 CC := $(CROSS_COMPILE)gcc
 LD := $(CROSS_COMPILE)ld
ce qui veut dire que si la variable CROSS_COMPILE et vide
au aura
 CC := gcc
 LD := ld
Ca ne pose pas de problèmes pour la compilation puisque normalement gcc et ld se trouve dans la variable PATH
lami20j@debian:~$ whereis {gcc,ld} | cut -d" " -f2; echo $PATH
/usr/bin/gcc
/usr/bin/ld
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
lami20j@debian:~$
donc les commandes peuvent être appelle directement par leur nom sans avoir besoin d'utiliser le chemin complet

En bref, après la décompression de l'archive, fait directement
make
Pour l'info,
dans mon cas j'avais un kernel compilé par moi même, mais ça de devrait pas poser des problèmes avec l'installation des sources kernel avec le gestionnaire de paquetage.


Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 487
et cette commande
sudo ndiswrapper -m

tu l'as fait?
Messages postés
2049
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
13 novembre 2016
134
re-

le problem n'a pas l'aire d'etre le fait qu'il ne trouve pas un compilateur, ni mes sources, mais la ligne 1157 de os/linux/rt_main_dev.c fourni avec le driver qui a une variable implicite SET_MODULE_OWNER qui ne semble pas bonne, et ce dans les deux essai, avec fichies de config modifier ou pas. il faudrai donc que je trouve ou et comment modifer cette variable.

Renisaac
Messages postés
2049
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
13 novembre 2016
134
pour ndiswrapper, non, je ne l'ai pas fait car j'ai configurer avec ndisgtk.
De plus j'avais verifie avec lsmod que le modul est bien charge.

ce que je pensais est effectivement confirme :

renisaac@renisaac-desktop:~$ sudo ndiswrapper -m
[sudo] password for renisaac:
module configuration already contains alias directive (repete plusieurs fois)
renisaac@renisaac-desktop:~$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.
renisaac@renisaac-desktop:~$
Messages postés
2049
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
13 novembre 2016
134
pour info, si vu que tu a l'aire de connaitre le c, la partie incriminee :

#if LINUX_VERSION_CODE <= 0x20402 // Red Hat 7.1
net_dev = alloc_netdev(sizeof(PRTMP_ADAPTER), "eth%d", ether_setup);
#else
net_dev = alloc_etherdev(sizeof(PRTMP_ADAPTER));
#endif
if (net_dev == NULL)
{
printk("alloc_netdev failed\n");

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15)
module_put(THIS_MODULE);
#endif //LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15)
#else
MOD_DEC_USE_COUNT;
#endif
goto err_out;
}

// sample
// if (rt_ieee80211_if_setup(net_dev) != NDIS_STATUS_SUCCESS)
// goto err_out;

SET_MODULE_OWNER(net_dev);

netif_stop_queue(net_dev);
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 487
Avec ndiswrapper tu dois avoir une interface wlan0 que je ne l'as voit pas

donc laisse un peu tomber ndisgtk et

utilises plutôt
sudo ndiswrapper -m
sudo modprobe ndiswrapper


Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 487
je t'ai envoyé un mail
Messages postés
2049
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
13 novembre 2016
134
je t'ai repondu, je cherche rapidos un tuto

renisaac
Messages postés
2049
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
13 novembre 2016
134
pour le ndiswrapper :

renisaac@renisaac-desktop:~$ lsmod | grep ndiswrapper
ndiswrapper 192920 0
usbcore 146028 8 ati_remote,ndiswrapper,lirc_atiusb,usb_storage,libusual,ehci_hcd,ohci_hcd
renisaac@renisaac-desktop:~$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

renisaac@renisaac-desktop:~$
Messages postés
2049
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
13 novembre 2016
134
resume de la methode ndiswrapper.

j'ai suivit le tuto tres clair de ubuntu ; http://doc.ubuntu-fr.org/ndiswrapper

en resume ; creation dans home de install_wifi, copie de mon driver pour vista, installation par synaptique du paquet ndiswrapper-common et ndiswrapper-utils-1.9
pour confgurer, j'ai d'abord choisi d'installer ndisgtk, qui q tout trouve, et reconnu le materiel. mais probleme, network setting ne vois toujours rien.

je passe donc a la metode manuelle tout se passe bien, je verifie qu'il est bien installe ;

renisaac@renisaac-desktop:~$ ndiswrapper -l
netr28u : driver installed
device (13D3:3247) present

je cree le module, mais il existe deja ;

renisaac@renisaac-desktop:~$ sudo ndiswrapper -m
[sudo] password for renisaac:
module configuration already contains alias directive

module configuration already contains alias directive

module configuration already contains alias directive
...

je n'ai pas de module a blaklister, donc je passe directement au chargement du module, je verifie dans la fouler avec iwconfig :

renisaac@renisaac-desktop:~$ sudo modprobe ndiswrapper
renisaac@renisaac-desktop:~$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

par aquit de consiance, je decharge et je recharge le module :

renisaac@renisaac-desktop:~$ sudo modprobe -r ndiswrapper
renisaac@renisaac-desktop:~$ sudo modprobe ndiswrapper
renisaac@renisaac-desktop:~$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

pour info, voici mon lsmod :

renisaac@renisaac-desktop:~$ lsmod
Module Size Used by
ndiswrapper 192920 0
isofs 36388 0
udf 88612 0
rfcomm 41744 2
l2cap 25728 13 rfcomm
bluetooth 61156 4 rfcomm,l2cap
ppdev 10372 0
acpi_cpufreq 10796 1
cpufreq_userspace 5284 0
cpufreq_conservative 8712 0
cpufreq_stats 7104 0
cpufreq_powersave 2688 0
cpufreq_ondemand 9740 1
freq_table 5536 3 acpi_cpufreq,cpufreq_stats,cpufreq_ondemand
container 5632 0
dock 11280 0
video 19856 0
output 4736 1 video
sbs 15112 0
sbshc 7680 1 sbs
battery 14212 0
iptable_filter 3840 0
ip_tables 14820 1 iptable_filter
x_tables 16132 1 ip_tables
nls_iso8859_1 4992 1
nls_cp437 6656 1
vfat 14464 1
fat 54556 1 vfat
ac 6916 0
sbp2 24072 0
parport_pc 36260 0
lp 12324 0
parport 37832 3 ppdev,parport_pc,lp
saa7134_alsa 15424 5
ipv6 267780 12
saa7134 131920 1 saa7134_alsa
snd_hda_intel 344600 1
ati_remote 12936 0
compat_ioctl32 2304 1 saa7134
videobuf_dma_sg 14980 2 saa7134_alsa,saa7134
videobuf_core 18820 2 saa7134,videobuf_dma_sg
nvidia 7825536 34
snd_pcm_oss 42144 0
snd_mixer_oss 17920 1 snd_pcm_oss
ir_kbd_i2c 10768 1 saa7134
ir_common 36100 2 saa7134,ir_kbd_i2c
agpgart 34760 1 nvidia
lirc_atiusb 19232 0
snd_pcm 78596 3 saa7134_alsa,snd_hda_intel,snd_pcm_oss
videodev 29440 1 saa7134
lirc_dev 15732 1 lirc_atiusb
i2c_core 24832 3 saa7134,nvidia,ir_kbd_i2c
sr_mod 17956 0
cdrom 37408 1 sr_mod
v4l2_common 18304 2 saa7134,videodev
v4l1_compat 15492 2 saa7134,videodev
snd_page_alloc 11400 2 snd_hda_intel,snd_pcm
snd_hwdep 10500 1 snd_hda_intel
serio_raw 7940 0
snd_seq_dummy 4868 0
snd_seq_oss 35584 0
snd_seq_midi 9376 0
snd_rawmidi 25760 1 snd_seq_midi
snd_seq_midi_event 8320 2 snd_seq_oss,snd_seq_midi
snd_seq 54224 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer 24836 2 snd_pcm,snd_seq
snd_seq_device 9612 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
button 9232 0
snd 56996 15 saa7134_alsa,snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_hwdep,snd_seq_dummy,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
shpchp 34452 0
evdev 13056 0
pci_hotplug 30880 1 shpchp
soundcore 8800 1 snd
pcspkr 4224 0
psmouse 40336 0
pata_acpi 8320 0
ata_generic 8324 0
ext3 136712 1
jbd 48404 1 ext3
mbcache 9600 1 ext3
sg 36880 0
sd_mod 30720 7
usb_storage 73664 0
libusual 19108 1 usb_storage
ahci 28420 6
pata_amd 14212 0
ohci1394 33584 0
forcedeth 51980 0
ieee1394 93752 2 sbp2,ohci1394
libata 159344 4 pata_acpi,ata_generic,ahci,pata_amd
scsi_mod 151436 6 sbp2,sr_mod,sg,sd_mod,usb_storage,libata
ehci_hcd 37900 0
ohci_hcd 25348 0
usbcore 146028 8 ndiswrapper,ati_remote,lirc_atiusb,usb_storage,libusual,ehci_hcd,ohci_hcd
thermal 16796 0
processor 36872 2 acpi_cpufreq,thermal
fan 5636 0
fbcon 42912 0
tileblit 3456 1 fbcon
font 9472 1 fbcon
bitblit 6784 1 fbcon
softcursor 3072 1 bitblit
fuse 50580 11
renisaac@renisaac-desktop:~$


et je cherche toujour l'erreur
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 487
as-tu extrait le firmware depuis ton fichier sys?
Messages postés
2049
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
13 novembre 2016
134
pas consciement en tout cas!

fourni avec le PC, j'ai tout les driver sur une partition. En plus que le inf, il y a un fichier cat et un fichier sys. je l'ai ai copier tous ensemble dans install_wifi

Bien sur, la carte fonctionne parfaitement sous vista.

Comment faire pour extraire le firmware? je n'ai pas vu ca dans le tuto de ubuntu
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 487
affiche
ls -l install_wifi
ls -l /lib/firmware
Messages postés
2049
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
13 novembre 2016
134
renisaac@renisaac-desktop:~/install_wifi/driver windows/vista/Ralink Wireless LAN$ ls -l
total 596
-rwxrwx--- 1 renisaac renisaac 12894 2008-04-06 10:26 netr28u.cat
-rwxrwx--- 1 renisaac renisaac 28568 2008-04-06 10:26 netr28u.inf
-rwxrwx--- 1 renisaac renisaac 554496 2008-04-06 10:26 netr28u.sys
-rwxrwx--- 1 renisaac renisaac 51 2008-04-06 10:26 version.dat
renisaac@renisaac-desktop:~/install_wifi/driver windows/vista/Ralink Wireless LAN$ ls -l /lib/firmware/
total 8
drwxr-xr-x 4 root root 4096 2008-03-19 22:22 2.6.24-12-generic
drwxr-xr-x 4 root root 4096 2008-04-05 15:10 2.6.24-15-generic
renisaac@renisaac-desktop:~/install_wifi/driver windows/vista/Ralink Wireless LAN$


donc visiblement tu a trouve ou est le pb... chapeau. si tu connais un bon tuto pour extraire mon frimware? je cherche deja sur google

Renisaac
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 487
télécharge ce fichier http://www.ralinktech.com.tw/data/RT71W_Firmware_V1.8.zip

après décompression copie le fichier dans /lib/firmware
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 487
Messages postés
2049
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
13 novembre 2016
134
dans les deux cas il s'agit des frimware pour le chiset RT73 et d'autre, mais jamais mon rt2870.

vais quand meme essayer, mais je n'y crois pas.
as-tu une idee si c'est possible de le premdre de vista?

sinon, j'ai aussi l'installateur pour les driver xp ;

renisaac@renisaac-desktop:~/install_wifi/driver windows/xp/Ralink Wireless LAN$ ls -l
total 6404
-rwxrwx--- 1 renisaac renisaac 1443267 2008-04-06 10:27 data1.cab
-rwxrwx--- 1 renisaac renisaac 31116 2008-04-06 10:27 data1.hdr
-rwxrwx--- 1 renisaac renisaac 3392086 2008-04-06 10:27 data2.cab
-rwxrwx--- 1 renisaac renisaac 492032 2008-04-06 10:27 ISSetup.dll
-rwxrwx--- 1 renisaac renisaac 473 2008-04-06 10:27 layout.bin
-rwxrwx--- 1 renisaac renisaac 373680 2008-04-06 10:27 _setup.dll
-rwxrwx--- 1 renisaac renisaac 455600 2008-04-06 10:27 setup.exe
-rwxrwx--- 1 renisaac renisaac 617 2008-04-06 10:27 setup.ini
-rwxrwx--- 1 renisaac renisaac 256740 2008-04-06 10:27 setup.inx
-rwxrwx--- 1 renisaac renisaac 52715 2008-04-06 10:27 setup.isn
-rwxrwx--- 1 renisaac renisaac 24 2008-04-06 10:27 version.dat

si il y a moyen de l'extraire de la
Messages postés
2049
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
13 novembre 2016
134
renisaac@renisaac-desktop:~/install_wifi$ ls
driver windows LICENSE.ralink-firmware.txt RT71W_Firmware_V1.8.zip rt73.bin
renisaac@renisaac-desktop:~/install_wifi$ sudo cp rt73.bin /lib/firmware/
[sudo] password for renisaac:
renisaac@renisaac-desktop:~/install_wifi$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

devrais-je recharger le module?