I've got a Mitsumi SR243T 24x CD-ROM drive, and each time I put in a
disc, be it audio or data, the disc gets ejected after a certain
(random) amount of time. It doesn't matter if something is read from the
disc, or if the disc is idle. There are some situations where the volume
can't get unmounted, because some file is still open; in these cases I
get a pop-up message from Nautilus, and the disc stays in the drive.
However, listening to audio CDs, or grabbing them using sound-juicer is
nearly impossible, because after a few tracks the drive ejects the disc
unexpectedly. If I kill hald-addon-storage responsible for polling the
device, and mount everything manually, the problem disappears for data
CDs, but then sound-juicer doesn't find any available CD-ROM devices.

I modified addon-storage.c to output detailed response buffer
information at the part where the eject button press is checked (see
attached patch). Then restarted hald, adding "--daemon=no --verbose=yes"
to the command line. According to the output of hald, it seems that the
drive responds to the "get event/status notification" command with
various event/status notification responses which are unrelated to the
original "Media" event type. As you can see from the hald log snippet
below, the responses don't have the notification class field set as 4
(Media). (I used the SCSI MMC-3 working draft from www.t10.org as a
guide to find out what the bytes in the response buffer mean.) However,
they still contain 0x01 on the lower 4 bits of byte 4 of the buffer
(didn't check this explicitly, but since we are inside an 'if' block
which checks for this condition, I assume this is the case), and
therefore are treated as an eject request.

Using Ubuntu Hardy Alpha with hal version 0.5.10.

--------8<-------------------------------

--- data CD

19:07:24.249 [I] device.c:1836: Removing locks from ':1.63'
[2295]: 19:12:05.938 [D] addon-storage.c:462: emitting condition 'EjectPressed' 
for /dev/scd0
[2295]: 19:12:05.938 [D] addon-storage.c:468: NEA: 0, Notification Class: 0, 
Supported Event Classes: 0
19:12:05.938 [D] hald_dbus.c:3072: 
udi=/org/freedesktop/Hal/devices/storage_model_CD_ROM_SR243T
[2295]: 19:12:07.936 [I] addon-storage.c:346: Checking whether device /dev/scd0 
is locked on HAL
[2295]: 19:12:07.937 [I] addon-storage.c:354: ... device /dev/scd0 is not 
locked on HAL
19:12:24.622 [I] device.c:1836: Removing locks from ':1.64'
[2295]: 19:15:11.972 [D] addon-storage.c:462: emitting condition 'EjectPressed' 
for /dev/scd0
[2295]: 19:15:11.972 [D] addon-storage.c:468: NEA: 0, Notification Class: 2, 
Supported Event Classes: 0
19:15:11.973 [D] hald_dbus.c:3072: 
udi=/org/freedesktop/Hal/devices/storage_model_CD_ROM_SR243T
[2295]: 19:15:13.968 [I] addon-storage.c:346: Checking whether device /dev/scd0 
is locked on HAL
[2295]: 19:15:13.969 [I] addon-storage.c:354: ... device /dev/scd0 is not 
locked on HAL
19:15:32.541 [I] device.c:1836: Removing locks from ':1.65'

--- audio CD

[2295]: 19:52:30.980 [I] addon-storage.c:346: Checking whether device /dev/scd0 
is locked on HAL
[2295]: 19:52:30.981 [I] addon-storage.c:354: ... device /dev/scd0 is not 
locked on HAL
[2295]: 19:53:37.432 [I] addon-storage.c:346: Checking whether device /dev/scd0 
is locked on HAL
[2295]: 19:53:37.433 [I] addon-storage.c:354: ... device /dev/scd0 is not 
locked on HAL
19:55:59.555 [I] device.c:1836: Removing locks from ':1.72'
19:56:05.894 [I] device.c:1836: Removing locks from ':1.73'
[2295]: 19:56:10.620 [D] addon-storage.c:462: emitting condition 'EjectPressed' 
for /dev/scd0
[2295]: 19:56:10.620 [D] addon-storage.c:468: NEA: 0, Notification Class: 1, 
Supported Event Classes: 8
19:56:10.621 [D] hald_dbus.c:3072: 
udi=/org/freedesktop/Hal/devices/storage_model_CD_ROM_SR243T
[2295]: 19:56:12.492 [I] addon-storage.c:346: Checking whether device /dev/scd0 
is locked on HAL
[2295]: 19:56:12.493 [I] addon-storage.c:354: ... device /dev/scd0 is not 
locked on HAL

** Attachment added: "addon-storage-detailed-buffer.patch"
   http://launchpadlibrarian.net/11338997/addon-storage-detailed-buffer.patch

-- 
CDROM drive eject disc after randomly seconds of use
https://bugs.launchpad.net/bugs/47516
You received this bug notification because you are a member of Ubuntu
Bugs, which is a direct subscriber.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to