Pour utiliser une webcam de marque mal identifiée j'ai récupéré un driver
spca5xx
depuis
http://www.redhat.com/archives/rhl-list/2005-April/msg04332.(...)
grâce à des indications glanées ici (merci aux John Doe et Baud123). J'ai regardé le README, il faut compiler le module, en effet. J'essaie de comprendre, j'essaie de lancer des lignes de commande avec
insmod ... make install ...
Mais en fait je suis vraiment dépassé en jouant dans cette division qui n'est pas la mienne. La pédagogie de la barre haute, c'est bien, mais là je patauge. J'indique que je débute, et qu'il me manque donc à chaque fois des étapes. Avant de lancer telle ou telle commande, par exemple :
insmod -f./le_module
ne faut-il pas s'être au préalable placé dans un répertoire approprié, ou avoir fait une opération préparatrice ?
# insmod
Posté par B16F4RV4RD1N . Évalué à 1.
sinon en général cela peut être : (en root)
./configure
make
make install
ensuite, (toujours en root) :
modprobe nom_du_module
ou alors :
insmod /chemincompletdumodule/sousrepertoireetc/nom_du_module
tant pour l'un que pour l'autre, il n'y a pas à être dans un répertoire en particulier. L'opération préparatrice, c'est la compilation...
Il faut également que tu aies les sources et les bibliothèques pour ton noyau.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # dkms-spca
Posté par fff . Évalué à 2.
Si tu préfère l'installeur graphique, fait une recherche sur spca.
FFF
[^] # Re: dkms-spca
Posté par okeanos . Évalué à 1.
Creating symlink /var/lib/dkms/spca5xx/0.57.00/source ->
/usr/src/spca5xx-0.57.00
DKMS: add Completed.
Error! Your kernel source for kernel 2.6.12-12mdk-i686-up-4GB cannot be found at
/lib/modules/2.6.12-12mdk-i686-up-4GB/build or /lib/modules/2.6.12-12mdk-i686-up-4GB/source.
You can use the --kernelsourcedir option to tell DKMS where it's located.
Error! Could not locate spca5xx.ko.gz for module spca5xx in the DKMS tree.
You must run a dkms build for kernel 2.6.12-12mdk-i686-up-4GB (i586) first.
Là, ça redevient très abstrait pour moi ; j'ai essayé --kernelsourcedir : cela donne "command not found". FFF, toi qui parais bien éclairé, vois-tu où est le problème et surtout comment y répondre.
[^] # Re: dkms-spca
Posté par B. franck . Évalué à 3.
[^] # Re: insmod
Posté par okeanos . Évalué à 1.
[^] # Re: insmod
Posté par B16F4RV4RD1N . Évalué à 2.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: insmod
Posté par liberforce (site web personnel) . Évalué à 2.
Hop, on cherche la liste des paquetages qui commencent par kernel-2.6 ou kernel-source-2.6 (regarde la page de man de urpmq -y):
[liberforce@donald]$ urpmq -y kernel | egrep "^(kernel|kernel-source)-2.6"
kernel-2.6.17.5mdv
kernel-2.6.17.6mdv
kernel-2.6.17.8mdv
kernel-source-2.6.17.5mdv
kernel-source-2.6.17.6mdv
kernel-source-2.6.17.8mdv
On cherche ensuite le nom du module dkms à installer... On sait que c'est le pilote spca-quelquechose...
[liberforce@donald]$ urpmq -y spca
dkms-spca5xx
spca5xx-kernel-2.6.17-2mdvlegacy
Ah tiens, il y a aussi un kernel spécial qui intègre le pilote déjà compilé pour les machines un peu vieilles. Bon, nous ce qui nous intéresse c'est dkms-spca5xx.
Tu installes le dernier kernel, les sources correspondant à la même version, ainsi que le module dkms qu'on a vu :
urpmi kernel-2.6.17.8mdv kernel-source-2.6.17.8mdv dkms-spca5xx
Tu redémarres pour utiliser le nouveau kernel. Ça devrait être bon...
[^] # Re: insmod
Posté par liberforce (site web personnel) . Évalué à 2.
[^] # Re: insmod
Posté par okeanos . Évalué à 1.
Ce matin, je trouve tes messages, alors que je me bagarre depuis une dizaine de jours pour me sortir de cette affaire de module... Ce qui m'a conduit à l'épineuse compilation du noyau. Ce doit être formateur de galérer ! Tes indications semblaient devoir me libérer, et je méditais déjà le message de remerciements : je suivis donc ton chemin. Avec la mandriva 2006 ça donne la version du noyau 2.6.12-27 ; bref je lance toutes les commandes et ça roule ! Petite ou grande erreur ? Au lieu de redémarrer, j'ai arrêté le système ; depuis à chaque fois que je démarre j'ai l'ordinateur qui se lance et qui bascule normalement sur le système; pingouin, rebours des 9 secondes, écran noir avec :
BIOS Data check successful
et la deuxième ligne qui saute avant même que je ne réussisse à la lire, ça quitte le système, on revient sur l'ordinateur qui rebascule sur le système et le cycle se répète.
Impossible de voir l'opération de boot se poursuivre ! Sur l'écran d'ouverture du système (avec le pingouin et le compteur de secondes), il y a ces deux indications :
Failsafe
2612-27
Il semble donc que le noyau ait été recompilé, mais avec perte des modules nécessaires au boot. C'est vraiment la panade ! Y a-t-il une voie de sortie ou faut-il faire une réinstallation intégrale ?
[^] # Re: insmod
Posté par liberforce (site web personnel) . Évalué à 2.
Quand tu as cet écran qui est affiché par LILO (le Linux loader), choisis avec les flèches du clavier "2612-27", et appuis sur entrée. Tu démarreras sur le noyau 2.6.12-27.
Ensuite j'ai du mal à comprendre ce qui ce passe réellement d'après tes explications... C'est pas très clair tout ça, mais c'est normal, tu n'as pas encore les mots pour décrire les éléments que tu vois. Ça s'acquiert avec un peu de pratique.
Si l'ordinateur redémarre tout de même en boucle, j'ai bien peur que la réinstallation soit la voie la plus simple... Une occasion pour passer à la Mandriva 2007 peut être.
Sache en tout ca que tu n'as pas à recompiler ton noyau (je ne crois pas que tu l'ais fait d'ailleurs). Tout au plus tu as dû compiler un module qui est utilisé par ton noyau, mais comme je te l'ai dit, ce n'est normalement pas nécessaire. Ensuite, redémarrer ou arrêter la machine revient au même, pas de risque à ce sujet.
Juste une question, tu te trouves dans quel coin ? France, région parisienne ? Si tu es intéressé par un coup de fil un de ces soir, envoie moi un message à liberforce fr st , avec ton n° de tel fixe (je suis dégroupé total, je peux pas appeler gratos sur des portables). J'essaierai de voir ce que je peux faire, c'est plus facile de vive voix.
@+
[^] # Re: insmod
Posté par okeanos . Évalué à 1.
A plus !
# Pour les bases, consulte :
Posté par slack . Évalué à 2.
En particulier les parties
5.3. Pages de manuel
5.4. Opérations de base sur les répertoires
5.5. Notions sur les chemins Unix
7.1. Notions de base
7.1.1. Définition des termes
[^] # Re: Pour les bases, consulte :
Posté par okeanos . Évalué à 1.
# à lire en premiet
Posté par B. franck . Évalué à 2.
Dans notre cas:
1- vérifier que le gcc qui est installé est celui qui a servi à compiler le noyau qu'on utilise (uname -a)
2- ./configure &&make && sudo make install
3- modprobe spca5xx
4- on regarde si ça a fait quelquechose: tail /var/log/messages
5- vlc et on ouvre un périphérique de capture
(et ne pas oublier de placer l'utilisateur dans le groupe video, de se reconnecter pour que celà prenne effet)
[^] # Re: à lire en premiet
Posté par okeanos . Évalué à 1.
[^] # Re: à lire en premiet
Posté par liberforce (site web personnel) . Évalué à 2.
Ça a dérivé en GNU Compiler Collection, car gcc sait gérer d'autres langages que le C à présent.
[^] # Re: à lire en premiet
Posté par okeanos . Évalué à 1.
Before trying to compile the driver, ensure that you've configured your
kernel, and updated the dependencies:
'make [config|menuconfig|xconfig]; make dep'.
mais cette commande ne me donne rien, ou plutôt ceci :
make: *** Pas de règle pour fabriquer la cible « [config ». Arrêt.
bash: menuconfig: command not found
bash: xconfig]: command not found
Puis j'ai :
Make sure, when compiling the driver, you use the same version of compiler as
was used to compile your kernel. Not doing so can create incompatible binaries.
Ouais je veux bien mais comment je fais pour m'en assurer ? Ensuite, cela ça m'échappe carrément :
As root, check the output of lsmod for videodev.
Dans l' INSTALL, on a :
Module compile outside the kernel tree but need the source of your running
kernel installed and configured.
be sure your kernel include usb and v4l stuff
Kernel 2.6.x
make clean
make
if all goes right as root :
make install
To test please use the command line spcaview tool.
You need libsdl installed with the header from your distro or goto http://www.libsdl.org
Voilà ce que me donne 'make clean' :
make clean
make: *** Pas de règle pour fabriquer la cible « clean ». Arrêt.
Ce point 'To test please use the command line spcaview tool.', je ne le comprends pas non plus. Comme je l'ai déjà écrit, je ne joue pas dans ma division avec cette affaire de webcam, de module et de compilation. Mais je compte persévérer, surtout avec de l'aide...
[^] # quelques pistes
Posté par slack . Évalué à 1.
Avant de compiler un module, découvre la compilation du noyau.
Un problème à la fois !
Installe tous les outils pour développer (gcc, binutils .. ) et les sources du noyau. Ensuite, dans un terminal, place toi dans le répertoire des sources. Souvent il faut taper :
Je ne connais pas ta distribution. Il te faudra adapter le chemin.
La ligne ci-dessous permet de configurer son noyau :
Cela signifie que tu dois ensuite lancer l'une l'une des 3 lignes ci-dessous :
Consulte la documentation citée et lorsque tu auras compilé un noyau fonctionnel, tu pourras ensuite compiler un module.
[^] # Re: quelques pistes
Posté par okeanos . Évalué à 1.
'Installe tous les outils pour développer (gcc, binutils .. ) et les sources du noyau.'
Comprends pas ; les "installer" ? mais d'où vers où ?
[^] # Re: quelques pistes
Posté par B. franck . Évalué à 1.
je pense qu'à ce stade il serait hélas plus rapide/simple de changer de webcam... (sans vouloir être médisant)
[^] # Re: à lire en premiet
Posté par B. franck . Évalué à 2.
Déjà, il te faut les sources de ton noyau: utilise urpmi pour les installer (uname -a pour savoir quelle version installer)
ensuite tu pourras compiler le module puisque c'est un prérequis.
Ouais je veux bien mais comment je fais pour m'en assurer ?
cat /proc/version te donnera la version de gcc utilisé pour compiler ton noyau, ensuite tu fais un gcc --version et tu vérifies l'égalité entre les 2 versions. S'il y a différence, il te faudra soit recompiler le noyau soit réinstaller le gcc utilisé pour compiler le noyau.
Ensuite, cela ça m'échappe carrément :
As root, check the output of lsmod for videodev.
sudo modprobe videodev
et vérifie les dernières lignes de /var/log/messages
Au fait, gcc est bien installé oui...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.