Hello udev developers, https://launchpad.net/bugs/356631 reported that many people still have the problem that after ejecting a CD, the CD-ROM tray automatically closes again, causing the killing of fingers and CDs (or small pets :-) ) This problem came up a while ago already, and was solved with introducing this into /lib/udev/rules.d/60-persistent-storage.rules: # probe filesystem metadata of optical drives which have a media inserted KERNEL=="sr*", ENV{ID_CDROM_MEDIA_TRACK_COUNT}=="?*", IMPORT{program}="vol_id --export --skip-raid --offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET} $tempnode" However, this rule (and the corresponding code in cdrom_id [1]) relies on the track/session counts being zero if there is no CD in the drive. However, at least with kernel 2.6.28.8 the affected people get something like ID_CDROM_MEDIA_STATE=blank ID_CDROM_MEDIA_SESSION_NEXT=2894 ID_CDROM_MEDIA_SESSION_COUNT=19194 ID_CDROM_MEDIA_TRACK_COUNT=47323 In other words, if ID_CDROM_MEDIA_STATE=blank, the session/track counts are not reliable. Arguably this could/should be fixed in the kernel, to fix these values to 0 if there is no CD in the drive, or it is blank. However, I wondered if the udev rules should be more robust in that regard, and not even ask for the number of tracks if there is no/empty CD. Affected people verified that adding this rule before the one from above makes things work: KERNEL=="sr*", ENV{ID_CDROM_MEDIA_STATE}=="blank", GOTO="persistent_storage_end" Thanks, Martin [1] if (cd_media_track_count > 0) printf("ID_CDROM_MEDIA_TRACK_COUNT=%d\n", cd_media_track_count); -- Martin Pitt | http://www.piware.de Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)
Attachment:
signature.asc
Description: Digital signature