# [cdrom] gros problème, impossible d'ejecter et de demonter

## danielk

Bonjour, 

J'ai un problème assez penible avec ma gentoo: quand j'allume mon portable, mon lecteur cd marche tres bien, je peit l'ouvrir, mettre un cd ou dvd dedans puis le lire sans probleme...

MAIS... il m'est alors impossible de changer de disque, je ne peut pas ouvrir le lecteur :

```
localhost ~ # eject

umount: /mnt/cdrom: device is busy

umount: /mnt/cdrom: device is busy

eject: unmount of `/mnt/cdrom' failed
```

Je ne peut meme pas le demonter (meme en forcant avec "-f") et il me met toujour "device is busy".

pourtant je ne vois pas en quoi il est occupé...

Meme quand j'ouvre le lecteur avec un trombone et que je change de disque, linux est aveugle, rien a faire pour le lire.

Si quelqu'un peut m'aider sur ce probleme... je suis encore un grand débutant.

Qu'est ce qu'il faudrait mettre dans fstab? ou est ce que le probleme viens d'ailleur?

pour l'instant dans fstab j'ai :

/dev/cdroms/cdrom0      /mnt/cdrom      iso9660         auto,exec,users,ro        0 0

voila, un grand merci d'avance à tous ceux qui prendrons le temps de m'aider.

----------

## nico_calais

essaye avec umount -l /mnt/cdrom

----------

## El_Goretto

Ca peut faire çà quand tu as un navigateur de fichier encore ouvert sur le lecteur en question. Pour konqueror, changer de repertoire fonctionne, mais je me rappelle que pour nautilus, je galérait parfois un peu trop à mon goût pour ne pas le killer violemment.

Après çà, ça doit rentrer dans l'ordre. Sinon regarde si tu n'as pas d'autres processus en rapport avec le lecteur de CD/DVD.

----------

## fribadeau

Que te donne la commande 

```
fuser /mnt/cdrom
```

en tant que root, bien sûr...

----------

## danielk

Merci pour vos réponses.

alors lorsque je tape "umount -l /mnt/cdrom"  ben apparement ca marche, il me demonte le lecteur, mais ensuite quand je et un autre cd, je peut remonter le lecteur, mais il ne lit plus le disque....

sinon je n'ai pas konqueror d'ouvert, ni une autre application qui est en rapport avec le lecteur (dumoins à ma connaissance).

finalement : 

```
localhost ~ # fuser /mnt/cdrom

/mnt/cdrom:          17731
```

voila, alors je comprend pas trop, mais il y a toujours un probleme...

----------

## kernelsensei

si tu veux voir ce que c'est, fais 

```
ps aux|grep 17731
```

 et pour le tuer, 

```
kill 17731
```

----------

## danielk

alors j'ai fait

```
localhost cdrom # ps aux|grep 17731

daniel   17731  0.0  2.7  43816 28400 ?        S    09:43   0:05 konqueror [kdeinit] konqueror --silent

root     19333  0.0  0.0   1504   460 pts/2    R+   11:24   0:00 grep 17731
```

puis j'ai tuer avec "kill"

mais ca ne change rien, quand je veux demonter, le lecteur est toujours ocupé, eject marche une fois sur dix, mais surtout impossible de lire le cd.

help  :Crying or Very sad: 

----------

## nico_calais

As tu un autre O/S sur ton PC ?

Je me demande si c'est pas ton lecteur qui en aurait pris un coup..

faudrais tester sur un autre O/S (pour ne pas le citer   :Rolling Eyes: ).

Si c'est hardware et pas software, essaie de nettoyer la lentille, ca peut peut etre fonctionner..

----------

## danielk

ben oui j'ai windaube xp sur mon portable egalement, mais la aucun probleme avec le lecteur...

je suis presque sur que c'est un probleme de configuration, parce que quand je reboot, ca marche sans probleme....  sauf que si je dois redemarrer à chaques fois que je change de cd.....  :Evil or Very Mad:   :Evil or Very Mad:   :Evil or Very Mad: 

----------

## yoyo

Tout d'abord, est-ce que c'est un cd audio ??

Deuxième question, utilises-tu "ivman" ou "gnome-volume-manager" pour monter tes périphériques automatiquement ?? Et quelle version utilises-tu ??

----------

## danielk

non ce n'est pas un cd audio, j'ai essayé avec differents cd et dvd de donnée.

sinon je n'utilise aucun logiciel pour monter automatiquement (ni ivman, ni gnome_vol...)

je suis egalement en train d'essayer differentes option dans fstab, mais rien à faire...

----------

## kernelsensei

est ce que le process a bien été tué ? (verifie avec ps aux)

----------

## fribadeau

 *danielk wrote:*   

> sinon je n'utilise aucun logiciel pour monter automatiquement (ni ivman, ni gnome_vol...)

 

As-tu HAL ? (ps -ef|grep hal)

----------

## danielk

oui quand je kill, le process a bel et bien disparu, et maintenant quand j'essaye de remonter mon lecteur :

```
localhost linux # mount /mnt/cdrom

mount: wrong fs type, bad option, bad superblock on /dev/cdroms/cdrom0,

       or too many mounted file systems
```

dans fstab:

/dev/cdroms/cdrom0      /mnt/cdrom      iso9660         auto,users,exec,ro      0 0

----------

## danielk

 *Quote:*   

> As-tu HAL ? (ps -ef|grep hal)

 

je ne sais pas, ca donne ca:

```
localhost linux # ps -ef|grep hal

root     23189 17819  0 12:38 pts/2    00:00:00 grep hal
```

au fait c'est quoi HAL??

----------

## nico_calais

Excuse moi de te poser cette question, mais est-ce un lecteur externe USB ?

J'avais eu un problème presque identique avec le mien. 

Généralement, j'ai aussi ce genre d'erreur avec les clés USB.

Sinon, je ne pense pas que cela vienne du fstab.

----------

## fribadeau

 *danielk wrote:*   

> au fait c'est quoi HAL??

 

Hardware Abstraction Layer. 

Et non, tu ne l'as pas...

Rapidement, c'est une sous-couche des produits permettant de faire des auto-mount. (D'accord, trop rapide comme explication.  :Twisted Evil:   Mais là, pas le temps pour plus.   :Wink:  )

Mais je suis un peu perdu.

Tu montes ton CD DATA.

Tu le un-mount (avec -l)

Tu kill konqueror

Tu ne peux plus le monter.

Là, donne-nous le résultat de la commande 

```
mount
```

----------

## danielk

 *nico_calais wrote:*   

> Excuse moi de te poser cette question, mais est-ce un lecteur externe USB ?
> 
> J'avais eu un problème presque identique avec le mien. 
> 
> 

 

non non c'est le lecteur de mon ordinateur portable, interne, c'est un graveur dvd matshita.

a noter qu'il marche tres bien avex XP et si je me rapelle bien avec mandrake aussi.

----------

## danielk

 *fribadeau wrote:*   

>  *danielk wrote:*   au fait c'est quoi HAL?? 
> 
> Là, donne-nous le résultat de la commande 
> 
> ```
> ...

 

```

localhost ~ # mount

/dev/hda8 on / type ext3 (rw,noatime)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

udev on /dev type tmpfs (rw,nosuid)

devpts on /dev/pts type devpts (rw)

/dev/hda6 on /mnt/H type vfat (rw,umask=0000,utf8)

/dev/hda7 on /mnt/D type vfat (rw,umask=0000,utf8)

none on /dev/shm type tmpfs (rw)

usbfs on /proc/bus/usb type usbfs (rw)

/dev/hda1 on /mnt/C type ntfs (rw)

```

----------

## danielk

ben j'ai du nouveau, mais c'est toujours pas terrible.

j'ai redemarrer, et depuis je peux demonter et remonter, m'enfin c'est relatif puisque il faut d'abord que je kill le numero en rapport avec le lecteur...

Je peux donc sortir le cd en tapant "eject" seulement, car en appuyant sur le bouton ca ne fait rien.

ensuite quand il y a un nouveau cd dans le lecteur, je peux le remonter puis voir le ou les fichiers dessus, mais il sont faux...

je m'explique avec un cas concret :   

-j'ai mis un dvd avec 13 divx d'environs 230 Mo chacun...   je peux les lire sans probleme!

-je change de disque et je met un cd avec un seul divx de 700 Mo, je voix le fichier (divx) sur mon lecteur avec le nom correct, mais il ne fait que 230Mo... et lorsque je lit le fichier video, il me lance le divx de 230Mo du dvd d'avant, et il lit les quelques premières minutes.... TRES BIZARRE

-je remet le dvd de 13 divx, et la il reconnait tout les fichier et il peux tous les lire...

j'y comprend rien, y'aurait-il pas une histoire de cache ou quoi?  en tout cas j'ai beau faire refresh ca ne change rien...

ca deviens vraiment tres bizarre  :Crying or Very sad:   :Evil or Very Mad:   :Crying or Very sad: 

----------

## fribadeau

 *danielk wrote:*   

> ...kill le numero en rapport avec le lecteur...

 

Le process que tu kill, c'est toujours konqueror ?

 *danielk wrote:*   

> Je peux donc sortir le cd en tapant "eject" seulement, car en appuyant sur le bouton ca ne fait rien.

 

ça, c'est tout à fait normal. Tant que le lecteur n'est pas dé-monté, le bouton est désactivé...

Le umount -l que tu fais effectue un "lazy" un-mount. c'est-à-dire qu'il te dit tout de suite que c'est bon mais fait réellement le boulot que quand il n'y a réellement plus de process se servant du lecteur... Dans ton cas, il semble qu'il y en ait un...

 *danielk wrote:*   

> ensuite quand il y a un nouveau cd dans le lecteur, je peux le remonter puis voir le ou les fichiers dessus, mais il sont faux...

 

Normal. le système pense toujours que c'est l'ancien cd qui est dans le lecteur. Le "umount -l" t'a juste permis de tricher...

mais mes explications ci-dessus partent du principe que tu utilises "umount -l".

C'est le cas ?

peux-tu ré-essayer en killant le process puis en faisant le umount sans le "-l". Après 2~3 secondes, essaye le bouton de ton lecteur.

Le eject si ça ne fonctionne pas.

Autre question. Tu fais tout ça en root ou avec ton user ? (essaye aussi en root, pour voir...)

----------

## Gaug

éssai sa dans ton fstab

/dev/cdroms/cdrom0  /mnt/cdrom  iso9660  noauto,ro,user,exec   0 0

à la place de ta ligne qui est

/dev/cdroms/cdrom0 /mnt/cdrom iso9660 auto,ro,users,exec    0 0

----------

## danielk

alors pour le process que je kill, oui apparement c'est toujours konkeror, mais ce process n'apparait seulement quand j'ouvre /mnt/cdrom dans konkeror, et le process est toujours présent meme quand je ferme a fenetre konkeror.

cependant il est à noter que quand il n'y a pas ce process, il n'est pas marqué que mon lecteur est "busy", donc je peur monter, demonter...

maintenant non je n'utilise meme plus mount [-l]... donc le probleme est ailleur je pense.

voici un peu ce que ca donne:

localhost ~ # mount

/dev/hda8 on / type ext3 (rw,noatime)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

udev on /dev type tmpfs (rw,nosuid)

devpts on /dev/pts type devpts (rw)

/dev/hda6 on /mnt/H type vfat (rw,umask=0000,utf8)

/dev/hda7 on /mnt/D type vfat (rw,umask=0000,utf8)

none on /dev/shm type tmpfs (rw)

usbfs on /proc/bus/usb type usbfs (rw)

localhost ~ # mount /mnt/cdrom

localhost ~ # mount

/dev/hda8 on / type ext3 (rw,noatime)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

udev on /dev type tmpfs (rw,nosuid)

devpts on /dev/pts type devpts (rw)

/dev/hda6 on /mnt/H type vfat (rw,umask=0000,utf8)

/dev/hda7 on /mnt/D type vfat (rw,umask=0000,utf8)

none on /dev/shm type tmpfs (rw)

usbfs on /proc/bus/usb type usbfs (rw)

/dev/cdroms/cdrom0 on /mnt/cdrom type iso9660 (ro,nosuid,nodev)

localhost ~ # fuser /mnt/cdrom

/mnt/cdrom:

localhost ~ # umount /mnt/cdrom

localhost ~ # eject

eject: unable to eject, last error: Invalid argument

localhost ~ # mount

/dev/hda8 on / type ext3 (rw,noatime)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

udev on /dev type tmpfs (rw,nosuid)

devpts on /dev/pts type devpts (rw)

/dev/hda6 on /mnt/H type vfat (rw,umask=0000,utf8)

/dev/hda7 on /mnt/D type vfat (rw,umask=0000,utf8)

none on /dev/shm type tmpfs (rw)

usbfs on /proc/bus/usb type usbfs (rw)

localhost ~ # mount /mnt/cdrom

localhost ~ # ls /mnt/cdrom

The Interpreter.avi

localhost ~ # mount

/dev/hda8 on / type ext3 (rw,noatime)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

udev on /dev type tmpfs (rw,nosuid)

devpts on /dev/pts type devpts (rw)

/dev/hda6 on /mnt/H type vfat (rw,umask=0000,utf8)

/dev/hda7 on /mnt/D type vfat (rw,umask=0000,utf8)

none on /dev/shm type tmpfs (rw)

usbfs on /proc/bus/usb type usbfs (rw)

/dev/cdroms/cdrom0 on /mnt/cdrom type iso9660 (ro,nosuid,nodev)

voila par contre quand je fait eject, ca me met un message d'erreur comme quoi cela echoue, mais mon lecteur s'ouvre quand meme....  :Confused: 

Et puis je fait toujours tout en root comme vous pouvez le voir ici.  :Cool: 

donc voila quand je remonte un nouveau disque, il semble etre bien reconnu puisque on voix le bon fichier dessus (ici le divx "The interpreter"), mais le probleme est que ce fichier qui fait normalement 700Mo est precu par linux comme un fichier de 230Mo, c'est à dire comme un des divx du DVD de tout à l'heure. Et il est donc impossible de le lire:

l

```
ocalhost ~ # mplayer /mnt/cdrom/"The Interpreter.avi"

MPlayer 1.0pre7try2-3.3.5-20050130 (C) 2000-2005 MPlayer Team

CPU: Intel  (Family: 6, Stepping: 6)

Detected cache-line size is 64 bytes

MMX2 supported but disabled

CPUflags:  MMX: 1 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1

Compilé pour CPU x86 avec les extensions: MMX SSE SSE2

Warning unknown option cache_min at line 144

Warning unknown option cache_prefill at line 147

85 audio & 196 video codecs

Failed to open /dev/rtc: No such device (it should be readable by the user.)

Opening joystick device /dev/input/js0

Can't open joystick device /dev/input/js0 : No such file or directory

Can't init input joystick

Joue /mnt/cdrom/The Interpreter.avi

AVI: Flux vidéo manquant !? Contactez l'auteur, c'est peut-être un bug :(

XMMS: found plugin: libmikmod.so (MikMod Player 1.2.10)

XMMS: found plugin: libvorbis.so (Ogg Vorbis Player 1.2.10)

XMMS: found plugin: libxmmsmad.so (MAD MPEG Decoder plugin 0.8)

XMMS: found plugin: libxmms-flac.so (Reference FLAC Player v1.1.1)

XMMS: found plugin: libmp4.so (MP4 & MPEG2/4-AAC audio player - 1.2.x)

XMMS: found plugin: libmpg123.so (MPEG Layer 1/2/3 Player 1.2.10)

XMMS: Closing plugin /usr/lib/xmms/Input/libmpg123.so

XMMS: Closing plugin /usr/lib/xmms/Input/libmp4.so

XMMS: Closing plugin /usr/lib/xmms/Input/libxmms-flac.so

XMMS: Closing plugin /usr/lib/xmms/Input/libxmmsmad.so

XMMS: Closing plugin /usr/lib/xmms/Input/libvorbis.so

XMMS: Closing plugin /usr/lib/xmms/Input/libmikmod.so

Sortie... (Fin du fichier)

```

voila si cela peux eclairer quelqu'un?

en tout cas merci pour toute les explications  :Razz: 

ps: Gaug j'ai essayé les 2 ligne dans fstab, mais pour les 2 c'est la meme chose... en tout cas au niceau de mon probleme.

----------

## ghoti

 *danielk wrote:*   

> par contre quand je fait eject, ca me met un message d'erreur comme quoi cela echoue, mais mon lecteur s'ouvre quand meme.... 

 

Qu'as tu exactement comme message si tu rajoutes l'option "-v" :

```
eject -v
```

----------

