Comment 16 for bug 561585

Revision history for this message
Martin Pitt (pitti) wrote :

I'll do some notekeeping/braindumping here to keep track of the bug, please feel free to ignore the techno babble in this comment. :-)

So in all the straces and cdrom_id outputs that we have so far, the CD-ROM could be opened and wasn't busy (which was the cause for bug 554433 -- so it's definitively a different problem here). But cdrom_id only saw ID_CDROM_MEDIA_CD_R=1, but no ID_CDROM_MEDIA_STATE at all (which should be "blank").

Output from Silverwave
--------------------------------
The "old" cdrom_id output indeed shows the correct properties, and it has

  2186 ioctl(3, CDROM_DRIVE_STATUS, 0x7fffffff) = 4

4 means "CDS_DISC_OK", i. e. the drive did detect a medium. in the "new" cdrom_id output however, we get

  1938 ioctl(3, CDROM_DRIVE_STATUS, 0x7fffffff) = 1

1 means "CDS_NO_DISC", i. e. the drive did not detect a medium. A race condition seems unlikely, since the command was done well after the medium was inserted.

An interesting discrepancy is also in the capabilities:
old: 2186 ioctl(3, CDROM_GET_CAPABILITY or SNDRV_SEQ_IOCTL_UNSUBSCRIBE_PORT, 0) = 2227183
new: 1938 ioctl(3, CDROM_GET_CAPABILITY or SNDRV_SEQ_IOCTL_UNSUBSCRIBE_PORT, 0) = 3800047

The difference is 0x180000 == CDC_MRW_W || CDC_MRW

This looks fishy, the drive capabilities shouldn't differ between two runs, or be dependent on the media state.

Output from jocko:
-------------------------
Both traces look identical, and by and large like Silverwave's "new" trace. I. e. the output with "old" (-5) was wrong as well, but this doesn't correspond to the output in comment 4.