Journal : detecter la demande d'ejection quand un cd est montee

Posté par Matthieu C () le 03 janvier 2004
0
J'avais lu quelque part que c'etait possible, et comme j'avais un peu de temps je me suis mis a regarder dans la doc atapi : il existe 2 commandes possibles, mais apparament aucune marche.

En desespoir de cause je me met a chercher sur la kernel ml et je trouve un bout de code qui fait a peu pres ce que je veux : http://www.ussg.iu.edu/hypermail/linux/kernel/0202.0/0603.html(...)

Le seul pb est que quand on monte un cd, puis le demonte, le kernel continue a locker la porte du cd jusqu'a que l'on kille l'appli (ie ferme /dev/cdrom), j'ai donc deplacer l'ouverture du periph (/dev/cdrom) dans la boucle et je le ferme apres chaque utilisation.

Il reste un autre pb, c'est que sur les vieux lecteur (chez moi 2000), l'evenement "eject request" n'est pas recuperer :(.
Peut etre qu'en regardant du cote de GPCMD_GET_MEDIA_STATUS a la place de GPCMD_GET_EVENT_STATUS_NOTIFICATION ça marcherais.

Bref, je suis assez content, et je pense que ça va me permettre de monter demonter les cdrom automatiquement en le couplant avec CDROM_DRIVE_STATUS qui permet de savoir si un cd est present ou non...

PS: un exemple d'utilisation de CDROM_DRIVE_STATUS http://www.sslug.dk/emailarkiv/cprog/1999_10/msg00045.html(...) (penser a corriger le bug CDROM_DRIVE_STATUS -> CDROM_DISC_STATUS dans le 2nd ioctl...

> Lire le journal (7 commentaires, moyenne: 0,6).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Re: detecter la demande d'ejection quand un cd est montee

Posté par Jak () le 03/01/2004 à 15:24. (lien). Évalué à 1.

C'est un truc dans le genre de supermount, mais juste pour les CD/DVD, que tu veux faire c'est ça ?
Ça peut être intéressant, ça.

--
« Le savoir, n'est-ce pas, est un bien précieux. Trop précieux pour ne pas être partagé. »
- Battologio d'Epanalepse, in De Cape et de Crocs, Acte VII (Ayroles & Masbou)
  • [^]Re: detecter la demande d'ejection quand un cd est montee

    Posté par Matthieu C () le 03/01/2004 à 17:18. (lien). Évalué à 1.

    le truc que j'ai fais est en userspace : c'est deja plus propre que supermount qui n'a jamais rellement marché chez moi.

    J'ai a peu pres finis le truc et pour chaque device a surveiller on lance un demon, et celui ci envoi a un script des evenement un peu a la hotplug (par exemple "/dev/cdrom0 add DATA_1")
    Ensuite ce script decide ce qu'il faut faire (monter si ce n'est pas un cd audio,...)

    Bon il me reste quelque test a faire avant de le mettre en ligne...

    • [^]Re: detecter la demande d'ejection quand un cd est montee

      Posté par snt () le 03/01/2004 à 19:12. (lien). Évalué à 1.

      C'est interessant comme approche. Ca evitera sans doute le probleme avec supermount qui fait que par exemple sous konqueror, ca freeze pendant quelques secondes lorsqu'il fait un cd dans /mnt ( sans doute parce que le lecteur de CD est marqué comme monté et que c'est à ce moment que supermount vérifie l'état du tout ).

      Tu peux m'ajouter à la liste de tes testeurs.

    • [^]Re: detecter la demande d'ejection quand un cd est montee

      Posté par Jak () le 04/01/2004 à 10:49. (lien). Évalué à 1.

      J'ACHÈTE !

      --
      « Le savoir, n'est-ce pas, est un bien précieux. Trop précieux pour ne pas être partagé. »
      - Battologio d'Epanalepse, in De Cape et de Crocs, Acte VII (Ayroles & Masbou)

[+] Re: detecter la demande d'ejection quand un cd est montee

Posté par Benjamin (Jabber id, page perso, ) le 03/01/2004 à 15:28. (lien). Évalué à -1.

Indonesian villagers claim to have captured a python that is almost 49 feet long and weighs nearly 990 pounds, a local official said.

On m'a toujours dit que python c'était long, et lourd ;)

  • [^]Re: detecter la demande d'ejection quand un cd est montee

    Posté par Benjamin (Jabber id, page perso, ) le 03/01/2004 à 15:29. (lien). Évalué à 0.

    grrr! sorry, je m'a gourré de journal ;(

Re: detecter la demande d'ejection quand un cd est montee

Posté par mat1 () le 12/02/2004 à 15:05. (lien). Évalué à 1.

Si ça peut aider ...
rpm -q -i magicdev :
Description :
Magicdev est un démon qui s'exécute à l'intérieur de l'environnement
GNOME et détecte le moment auquel un CD est retiré ou inséré. Magicdev
manipule des programmes exécutables en cours d'exécution sur le CD,
mettant à jour le gestionnaire de fichiers et jouant des CD audio.


Je ne peux pas tester actuelle.

Revenir en haut de page