Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
compiler pour installer un driver
Envoyé par: xunil2003

Bonsoir,

Je suis sur Mandriva 2009 et donc je veut compiler pour installer un driver.
Je ne c'est pas si j'ai fait une ereur, un oubli, car Make m'annonce "Erreur 2", comment faire pour corriger le probleme, bref Voila ce que j'ai fait :

root@localhost X10]# ls
iplc-driver.tgz

[root@localhost X10]# tar zxvf iplc-driver.tgz
iplc/
iplc/driver/
iplc/driver/linux-2.6/
iplc/driver/linux-2.6/cm19a.d/
iplc/driver/linux-2.6/cm19a.d/Module.symvers
iplc/driver/linux-2.6/cm19a.d/cm19a.c.bak
iplc/driver/linux-2.6/cm19a.d/cm19a.c
iplc/driver/linux-2.6/cm19a.d/Makefile
iplc/driver/linux-2.6/cm19a.d/device.h
iplc/driver/linux-2.6/Makefile.cm15a
iplc/driver/linux-2.6/.iplc.o.d
iplc/driver/linux-2.6/Module.symvers
iplc/driver/linux-2.6/Makefile.iplc
iplc/driver/linux-2.6/device.c
iplc/driver/linux-2.6/iplc.c
iplc/driver/linux-2.6/iplc.d/
iplc/driver/linux-2.6/iplc.d/Module.symvers
iplc/driver/linux-2.6/iplc.d/iplc.c
iplc/driver/linux-2.6/iplc.d/Makefile
iplc/driver/linux-2.6/iplc.d/device.h
iplc/driver/linux-2.6/iplc.d/Makefile.other
iplc/driver/linux-2.6/iplc.d/config.h
iplc/driver/linux-2.6/iplc.d/iplc.c.bak
iplc/driver/linux-2.6/ha22.d/
iplc/driver/linux-2.6/ha22.d/Module.symvers
iplc/driver/linux-2.6/ha22.d/ha22.c
iplc/driver/linux-2.6/ha22.d/Makefile
iplc/driver/linux-2.6/ha22.d/device.h
iplc/driver/linux-2.6/ha22.d/Makefile.other
iplc/driver/linux-2.6/ha22.d/config.h
iplc/driver/linux-2.6/Makefile
iplc/driver/linux-2.6/cm15a.d/
iplc/driver/linux-2.6/cm15a.d/Module.symvers
iplc/driver/linux-2.6/cm15a.d/cm15a.c.bak
iplc/driver/linux-2.6/cm15a.d/Makefile
iplc/driver/linux-2.6/cm15a.d/device.h
iplc/driver/linux-2.6/cm15a.d/cm15a.c
iplc/driver/linux-2.6/device.h
iplc/driver/linux-2.6/lj.d/
iplc/driver/linux-2.6/lj.d/lj.c.bak
iplc/driver/linux-2.6/lj.d/Module.symvers
iplc/driver/linux-2.6/lj.d/Makefile
iplc/driver/linux-2.6/lj.d/device.h
iplc/driver/linux-2.6/lj.d/lj.c
iplc/driver/linux-2.6/cm15a.c
iplc/driver/linux-2.4/
iplc/driver/linux-2.4/iplc.c
iplc/driver/linux-2.4/Makefile
iplc/driver/lkmpg-2.6.pdf
iplc/driver/lkmpg-2.4.pdf
iplc/COPYING
iplc/INSTALL
iplc/README
[root@localhost X10]# cd iplc/driver/linux-2.6/cm15a.d/

[root@localhost cm15a.d]# ls -R
.:
cm15a.c@ cm15a.c.bak* device.h Makefile Module.symvers

[root@localhost cm15a.d]# make
make -C /lib/modules/2.6.27.19-desktop-1mnb/build SUBDIRS=/home/srvweb/Téléchargement/Web/X10/iplc/driver/linux-2.6/cm15a.d modules
make: *** /lib/modules/2.6.27.19-desktop-1mnb/build: Aucun fichier ou dossier de ce type. Arrêt.
make: *** [default] Erreur 2
[root@localhost cm15a.d]# ls

Merci d'avance, salutations.

Poste le Wednesday 5 August 2009 23:12:22
Répondre     Citer    
Re: compiler pour installer un driver
Envoyé par: twocats

Et le ./configure y pue du genoux ?

-------------------
La réponse est 42

Poste le Thursday 6 August 2009 14:18:26
Répondre     Citer    
Re: compiler pour installer un driver
Envoyé par: xunil2003

bonjour,

Je ne comprend pas ce qui ce passe ??? car il n'y a pas de ./configure ???

Le seul repertoire qui a un fichier du genre configure est celui-ci : iplc/driver/linux-2.6/iplc.d/config.h

J'ai fait un test :
[[root@localhost iplc.d]# ./config.h
bash: ./config.h: Permission non accordée

A savoir tout mes packages sont installé.

Il y a un type qui explique comment il si est prie pour installer le driver, voila ce qui dit :


Mon premier essai:

- Mon contexte:
qui peut etre différent du votre auxquels il y aura sans doute des variantes mais je ne peux pas les identifiées pour le moment) on fera évoluer la doc ensuite.

- linux debian etch
- kernel 2.6.18-5-ixp4xx
- hardware Linksys NSLU2



- Requirements: packages
- gcc
- libusb-0.1-4
- linux-headers-2.6.18-5-ixp4xx # Mandatory to be able to compile choose the headers of your kernel version (uname -a)

- Usefull Tools:
- usbutils

- Downloads:
- iplc-driver.tgz: thanks to ncherry@linuxha.com
[www.linuxha.com]

- Compilation & installation:
1.
Code:
tar zxvf iplc-driver.tgz

2.
Code:
cd iplc/driver/linux-2.6/cm15a.d/

or Linux 2.4 if you need support for 2.4
3.
Code:
ls -R

so you can see where everything is
4.
Code:
make

5.
Code:
sudo insmod ./cm15a.ko

You need to be root. this is to load the driver in memory. It will scan usb bus and attach any "X10 Wireless Technology, Inc." device.
6.
Code:
ls -l /dev/cm15a*

You shoudl see /dev/cm15a0

Pour vérification:
- Quand vous faites un:
Code:
lsusb
vous devez voir quelque chose comme cela:
- Bus 001 Device 009: ID 0bc7:0001 X10 Wireless Technology, Inc.

- Dans
Code:
dmesg
vous devez voir les logs suivants quand vous montez le driver en mémoire avec la commande insmod
/root/iplc/iplc/driver/linux-2.6/cm15a.d/cm15a.c: cm15a USB #252 now attached to major 180 minor 252
usbcore: registered new driver cm15a
/root/iplc/iplc/driver/linux-2.6/cm15a.d/cm15a.c: X10 CM15A USB Driver v0.03

- quand vous faites un
Code:
lsmod

vous devez voir:
Module Size Used by
cm15a 17744 0



- Mes logs de compilations:
TITI_NAS:~/iplc/iplc/driver/linux-2.6/cm15a.d# make
make -C /lib/modules/2.6.18-5-ixp4xx/build SUBDIRS=/root/iplc/iplc/driver/linux-2.6/cm15a.d modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.18-5-ixp4xx'
CC [M] /root/iplc/iplc/driver/linux-2.6/cm15a.d/cm15a.o
Building modules, stage 2.
MODPOST
CC /root/iplc/iplc/driver/linux-2.6/cm15a.d/cm15a.mod.o
LD [M] /root/iplc/iplc/driver/linux-2.6/cm15a.d/cm15a.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.18-5-ixp4xx'
rm -rf *.mod.c *.o *~ .*cmd .tmp_versions


- Maintenant vous avez un driver cm15a qui est monté et qui devrait marcher. Il ne reste plus qu'à lui envoyer des ordres......
Pour cela il "suffit" d'ouvrir le device et de lui envoyer des commandes en hexa! Oh Yeah!!!
Pour cela il y a un module perl: [users.zoominternet.net] à mettre dans votre répertoire de bibliothèque perl a priori chez moi /usr/lib/perl5/ControlX10/CM15A.pm

Merci d'avance. Salutations.

Poste le Saturday 8 August 2009 18:48:29
Répondre     Citer    
Re: compiler pour installer un driver
Envoyé par: xunil2003

J'ai essaié a nouveau mon driver mais sans les autres driver compacté ne concernant pas mon materiel, voila ce que j'ai fait, mais il n'y a pas de configure ?


[root@localhost X10]# tar zxvf cm15a-driver.tgz
cm15a-driver/
cm15a-driver/README
cm15a-driver/driver/
cm15a-driver/driver/linux-2.4/
cm15a-driver/driver/linux-2.4/Makefile
cm15a-driver/driver/linux-2.4/cm15a.c
cm15a-driver/driver/linux-2.4/Makefile~
cm15a-driver/driver/linux-2.4/cm15a.c~
cm15a-driver/driver/linux-2.6/
cm15a-driver/driver/linux-2.6/Makefile
cm15a-driver/driver/linux-2.6/cm15a.c
cm15a-driver/INSTALL
cm15a-driver/COPYING

[root@localhost cm15a-driver]# ls
COPYING driver/ INSTALL README

root@localhost cm15a-driver]# ./INSTALL
bash: ./INSTALL: Permission non accordée
[root@localhost cm15a-driver]#

[root@localhost cm15a-driver]# cd /cm15a-driver/driver/linux-2.6/
[root@localhost linux-2.6]# ls
cm15a.c* Makefile*

[root@localhost linux-2.6]# make
make -C /lib/modules/2.6.27.24-desktop-1mnb/build SUBDIRS=/home/serveurweb/Téléchargement/Web/Driver/X10/cm15a-driver/driver/linux-2.6 modules
make: *** /lib/modules/2.6.27.24-desktop-1mnb/build: Aucun fichier ou dossier de ce type. Arrêt.
make: *** [default] Erreur 2
[root@localhost linux-2.6]#


Puis la j'essai celui d'un programmateur.

cm15d-20051130.tbz


[root@localhost cm15d]# ls
clients.c cm15d.h funcs.c options.c parse_user.c uucp_locking.c
clients.h defs.h io.c options.h setclock.c uufuncs.h
cm15d.c fini.c Makefile parse_device.c setup.c x10.h

[root@localhost cm15d]# make
gcc -g -O3 -Wall -DUUCP -DDEVICE=\"/dev/usb/cm15a0\" -DSERVICE=\"cm15d\" -DNOM=\"cm15d\" -c cm15d.c
gcc -g -O3 -Wall -DUUCP -DDEVICE=\"/dev/usb/cm15a0\" -DSERVICE=\"cm15d\" -DNOM=\"cm15d\" -c parse_device.c
gcc -g -O3 -Wall -DUUCP -DDEVICE=\"/dev/usb/cm15a0\" -DSERVICE=\"cm15d\" -DNOM=\"cm15d\" -c parse_user.c
parse_user.c: In function ‘parse_user’:
parse_user.c:101: attention : the address of ‘myid’ will always evaluate as ‘true’
gcc -g -O3 -Wall -DUUCP -DDEVICE=\"/dev/usb/cm15a0\" -DSERVICE=\"cm15d\" -DNOM=\"cm15d\" -c options.c
gcc -g -O3 -Wall -DUUCP -DDEVICE=\"/dev/usb/cm15a0\" -DSERVICE=\"cm15d\" -DNOM=\"cm15d\" -c clients.c
clients.c: In function ‘new_client’:
clients.c:76: attention : pointer targets in passing argument 3 of ‘accept’ differ in signedness
gcc -g -O3 -Wall -DUUCP -DDEVICE=\"/dev/usb/cm15a0\" -DSERVICE=\"cm15d\" -DNOM=\"cm15d\" -c uucp_locking.c
gcc -g -O3 -Wall -DUUCP -DDEVICE=\"/dev/usb/cm15a0\" -DSERVICE=\"cm15d\" -DNOM=\"cm15d\" -c setclock.c
setclock.c: In function ‘setclock’:
setclock.c:70: attention : pointer targets in passing argument 1 of ‘time’ differ in signedness
setclock.c:71: attention : pointer targets in passing argument 1 of ‘localtime’ differ in signedness
setclock.c:91: attention : pointer targets in passing argument 2 of ‘dwrite’ differ in signedness
setclock.c:99: attention : pointer targets in passing argument 1 of ‘sprintf’ differ in signedness
setclock.c:100: attention : pointer targets in passing argument 2 of ‘fdperror’ differ in signedness
gcc -g -O3 -Wall -DUUCP -DDEVICE=\"/dev/usb/cm15a0\" -DSERVICE=\"cm15d\" -DNOM=\"cm15d\" -c setup.c
gcc -g -O3 -Wall -DUUCP -DDEVICE=\"/dev/usb/cm15a0\" -DSERVICE=\"cm15d\" -DNOM=\"cm15d\" -c fini.c
gcc -g -O3 -Wall -o cm15d cm15d.o parse_device.o parse_user.o options.o clients.o funcs.c io.c uucp_locking.o setclock.o setup.o fini.o -lnss_nis -lwrap
io.c: In function ‘fdperror’:
io.c:276: attention : assignment makes pointer from integer without a cast
/usr/bin/ld: cannot find -lwrap
collect2: ld a retourné 1 code d'état d'exécution
make: *** [cm15d] Erreur 1


Si quelqu'un pouvez me donner de plus ample renseignement, ce serai simpatique.
Merci d'avance.

Poste le Saturday 8 August 2009 19:38:06
Répondre     Citer    
Re: compiler pour installer un driver
Envoyé par: twocats

As-tu installer kernel-headers ?
Un make ne se fait pas en root, c'est inutile (mais un make install si).
Apprends les BASES de la compilation avant de balancer des commandes dans tout les sens : INSTALL est sans doute le fichier TEXTE expliquant comment installer le programme, c'est n'importe quoi de le lancer comme un exécutable ! Et évite de faire des copier-coller alors qu'un lien suffit pour le tuto que tu as tenté de suivre, on se perds entre ce qu'il dit et ce que tu as fais personnellement.

-------------------
La réponse est 42

Poste le Sunday 9 August 2009 17:23:58
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
compiler pour installer un driver
Posez dans ce forum les questions qui ne trouvent pas place dans les autres...

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons