Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1484 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  [linux k2.6] Comment gérer le chargement auto d'un .ko

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[linux k2.6] Comment gérer le chargement auto d'un .ko

n°738404
allawos
Posté le 07-10-2005 à 14:59:00  profilanswer
 

Bonjour à tous.
 
J'ai interfacé des caméras usb à l'aide d'un module usb, que je génère sous la forme d'un fichier monmodule.ko.
Si je fais "insmod monmodule.ko", il se lance bien et tout fonctionne.
 
Je souhaiterai faire en sorte que le module ne soit chargé que si le device correspondant est pluggué. Je crois que cela est possible avec ce nouveau kernel (2.6) mais je n'ai pas réussi à trouver la solution.
 
J'ai gunzippé mon fichier en monmodule.ko.gz, je l'ai copié dans /lib/modules/2.6.8.1-12mdk/kernel/drivers/usb/misc/ et j'ai essayé de rebooté (avec le device pluggué au PC), cela ne fonctionne pas.
J'ai en plus rajouté les lignes correspondant à mon device (IdProd et IdVend) dans les fichiers /etc/hotplug/usb.usermap et dans lib/modules/2.4.20-8/modules.usbmap mais cela ne fonctionne toujours pas.
 
Est-ce que je dois copier le fichier .ko.gz ailleurs ? Est-ce que je dois configurer d'autres ficheirs ? Est-ce nécessaire d'éditer les fichiers usb.usermap et modules.usbmap ?
Je suis un peu perdu donc si certains d'entre vous connaissent la solution ...
 
Merci d'avance.

mood
Publicité
Posté le 07-10-2005 à 14:59:00  profilanswer
 

n°738429
allawos
Posté le 07-10-2005 à 16:52:25  profilanswer
 

J'avance un peu ...
J'ai viré les lignes dans usb.usermap et modules.usbmap mais j'ai laissé le fichier monmodule.ko.gz dans  /lib/modules/2.6.8.1-12mdk/kernel/drivers/usb/misc/.
 
J'ai lancé, sous root, la comande depmode, ce qui a pour effet d'ajouter dans le fichier /lib/modules/2.6.8.1-12mdk/modules.dep, la ligne :
/lib/modules/2.6.8.1-12mdk/kernel/drivers/usb/misc/monmodule.ko.gz: /lib/modules/2.6.8.1-12mdk/kernel/drivers/usb/core/usbcore.ko.gz
 
Je reboote la machine et la, super, mon module est bien lancé à l'initialisation. Mon problème est maintenant que le module, lors de son appel à usb_register_dev, me crée un fichier /dev/myname. Fichier qui est ensuite ouvert/fermé/écrit/lu lors de la communication avec le device.
 
Le souci, c'est que les droits d'accès sur ce fichiers sont rw uniquement pour root, et pas pour les autres utilisateurs.
 
J'utilisais auparavant la commande :  
mknod -m 666 /dev/myname c 180 0, qui elle donnait les bons droits d'accès,  
 
... mais comment faire pour que mon module donne tout seul les bons droits ... ??? Est-ce une option de la fonction usb_register_dev() ???
 
Merci encore d'avance :D


Message édité par allawos le 07-10-2005 à 16:55:03
n°738431
allawos
Posté le 07-10-2005 à 17:05:14  profilanswer
 

Bon OK, manifestement, il faut mettre la bonne valeur à l'attribut  mode du usb_classe_driver ... reste plus qu'à trouver quel flag permet de spécifier 666 ...

n°738432
allawos
Posté le 07-10-2005 à 17:14:07  profilanswer
 

Je comprend pas :( ... j'ai mis ca dans le mode de mon usb_class_driver :
S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH
Ce qui, si je comprend bien donne les droits en lecture/ecriture à tout le monde ... et ca change rien au niveau de mon /dev/myname ...
 
... personne a une idée ???

n°738446
Mjules
Modérateur
Parle dans le vide
Posté le 07-10-2005 à 18:22:40  profilanswer
 

pour créer les fichiers dans /dev quand la caméra est branchée et attribuer les bons droits, regarde du coté de udev et /etc/udev
 
pour charger le module au démarrage, place le dans /etc/modprobe.preload
 
pour autocharger le module au branchement, devfs le faisait mais je sais pas si udev peut le faire (surement mais j'en sais pas plus)


---------------
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.
n°738755
Dark_Schne​ider
Close the World, Open the Net
Posté le 08-10-2005 à 16:25:59  profilanswer
 

udev ne le peut ps, mais hotplug peut s'en chargé.
 
lors que tu branches le devices, le noyau et/ou hotplug consulte la table de pci id, cela entraine une action de hotplug si cela correspond qui peut se charger de charger le module.


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°739360
allawos
Posté le 10-10-2005 à 09:43:49  profilanswer
 

Pourtant ce que je lis sur udev semble correspondre ... pour que le node /dev/myname soit créé si le device est pluggué.
Je jetterai un oeuil à hotplug quand m^eme ... merci bien !
 
...mais du coup, je vais reposer ma question, car mon problème se situe plus au niveau du node /dev/myname, qui est généré automatiquement lorsque le module est lancé.
Je n'arrive pas à faire en sorte que les droits d'accès sur ce fichier soient corrects ... :(


Message édité par allawos le 10-10-2005 à 12:56:12
n°739529
Dark_Schne​ider
Close the World, Open the Net
Posté le 10-10-2005 à 18:10:19  profilanswer
 

les droits d'accès se conf au niveau de udev. cf /etc/udev/rules.d/


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°739683
allawos
Posté le 11-10-2005 à 09:51:52  profilanswer
 

Euh ... les droits d'accès du node /dev/mydevice ... créé automatiquement par le module ... se configurent au niveau de udev ????
 
Parcequ'en fait j'ai laissé tomber l'idée de charger le module uniquement lorsque le device est pluggué,
mais j'aurais voulu pouvoir utiliser le node qu'il créé automatiquement : /dev/mydevice
...donc en lui filant les bons droits.
J'ai reposé ma question ici :
http://forum.hardware.fr/hardwaref [...] -1.htm#bas
 
... est-ce que c'est nécessaire de passer par udev pour ca ?

n°739773
Dark_Schne​ider
Close the World, Open the Net
Posté le 11-10-2005 à 16:33:09  profilanswer
 

tu peux donner des droits par défaut lorsque tu charge le module, mais souvent udev passe derrière et applique ses propres droits si le device correspond à un des devices qu'il gère ( au niveau de la classe, etc ... )


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
mood
Publicité
Posté le 11-10-2005 à 16:33:09  profilanswer
 

n°740313
allawos
Posté le 13-10-2005 à 10:08:35  profilanswer
 

OK, merci pour toutes ces infos, comme je l'ai dit dans l'autre post, j'ai effectivement pu, en configuratant /etc/udev/permissions.d/ ... , forcer udev à me créer le device avec les bons droits !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  [linux k2.6] Comment gérer le chargement auto d'un .ko

 

Sujets relatifs
Lenteur de firefox sous linuxWin pré installé -> passage à LINUX
Cherche un imprimante laser n/b compatible linuxMontage auto sous ubuntu
Monitoring sous Linux d'un RAID SCSI SmartArrayquestion sur linux
Damn Small Linuxcomment voir le logiciel de donnée (linux)
[resolu] linux sur un raid scsi, /boot et mbr sur un ideCalendrier des certifications Linux ?
Plus de sujets relatifs à : [linux k2.6] Comment gérer le chargement auto d'un .ko


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR