[arch-general] DVD/CD Device /dev/dvd & Co Symlinks Are Broken

Thomas Bohn thomas at bohnomat.de
Tue Nov 18 11:58:06 EST 2008


When I put my external DVD drive on my computer the devices look like this:

---snip---
/dev/dvd -> /dev/cd/dvd-4:0:0:0
/dev/cd/dvd- -> /dev/sr0
---snip---

I can access the drive via /dev/sr0, /dev/cd/dvd- and even /dev/scd0 but not via
/dev/dvd, because of the wrong enty in /dev/cd

This what I got from the debug messages:

---snip---
Nov 17 23:27:43 proton udevd-event[3301]: '/dev/cd/cdrom-' with target
    '/dev/sr0' has the highest priority 0, create it
Nov 17 23:27:43 proton udevd-event[3301]: creating symlink '/dev/cd/cdrom-' to
    '../sr0'
Nov 17 23:27:43 proton udevd-event[3301]: '/dev/cd/cdrw-' with target '/dev/sr0'
    has the highest priority 0, create it
Nov 17 23:27:43 proton udevd-event[3301]: creating symlink '/dev/cd/cdrw-' to
    '../sr0'
Nov 17 23:27:43 proton udevd-event[3301]: '/dev/cd/dvd-' with target '/dev/sr0'
    has the highest priority 0, create it
Nov 17 23:27:43 proton udevd-event[3301]: creating symlink '/dev/cd/dvd-' to
    '../sr0'
Nov 17 23:27:43 proton udevd-event[3301]: update old symlink
    '/dev/cd/cdrom-4:0:0:0' no longer belonging to 
    '/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/host4/target4:0:0/4:0:0:0/block/sr0'
Nov 17 23:27:43 proton udevd-event[3301]: no reference left, remove
    '/dev/cd/cdrom-4:0:0:0'
Nov 17 23:27:43 proton udevd-event[3301]: update old symlink
    '/dev/cd/cdrw-4:0:0:0' no longer belonging to
    '/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/host4/target4:0:0/4:0:0:0/block/sr0'
Nov 17 23:27:43 proton udevd-event[3301]: no reference left, remove
    '/dev/cd/cdrw-4:0:0:0'
Nov 17 23:27:43 proton udevd-event[3301]: update old symlink
    '/dev/cd/dvd-4:0:0:0' no longer belonging to
    '/devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/host4/target4:0:0/4:0:0:0/block/sr0'
Nov 17 23:27:43 proton udevd-event[3301]: no reference left, remove
    '/dev/cd/dvd-4:0:0:0'
---snip---

The right entries are removed in favour of the wrong entries and I have no idea
why that is. Since I can't find the creation of this symlink anywhere in the
udev scripts. I use the current udev version and the hal version from testing.

But I think it is related to this rule in 81-arch.rules:

---snip---
ENV{ID_CDROM}=="?*", SYMLINK+="cd/cdrom-%b"
ENV{ID_CDROM_CD_RW}=="?*", SYMLINK+="cd/cdrw-%b"
ENV{ID_CDROM_DVD}=="?*", SYMLINK+="cd/dvd-%b"
ENV{ID_CDROM_DVD_R}=="?*", SYMLINK+="cd/dvd-%b"
---snip---

The variable %b is missing. Where does this rule file gets its variables?

I hope someone can help me.

Thomas



More information about the arch-general mailing list