devfs
[Top] [All Lists]

/dev/cdrom and devfs v213

To: devfs@xxxxxxxxxxx
Subject: /dev/cdrom and devfs v213
From: A Guy Called Tyketto <tyketto@xxxxxxxxxx>
Date: Sun, 19 May 2002 15:04:50 -0700
Sender: owner-devfs@xxxxxxxxxxx
User-agent: Mutt/1.3.28i
        I'll make it short.

        Has anyone had a problem with a non-root user trying to access 
/dev/cdrom?

        I have an IDE cd-rw in my linux box (2.5.16), w/devfs enabled at boot. 
2.5.16 compiled cleanly, and booted successfully. However, when running a 
simple cd audio program, like workbone or xplaycd, neither are able to access 
/dev/cdrom as a non-root user. my setup:

bradl@bellicha:~> ls -l /dev/cdrom
lr-xr-xr-x    1 root     root           13 May 19 01:21 /dev/cdrom -> 
cdroms/cdrom0
bradl@bellicha:~> ls -l /dev/cdroms/cdrom0 
lr-xr-xr-x    1 root     root           33 Dec 31  1969 /dev/cdroms/cdrom0 -> 
../ide/host1/bus1/target0/lun0/cd

bradl@bellicha:~> ls -l /dev/ide/host1/bus1/target0/lun0/cd 
brw-rw-rw-    1 root     root      22,   0 Dec 31  1969 
/dev/ide/host1/bus1/target0/lun0/cd

        strace on workbone returns:

open("/dev/cdrom", O_RDONLY)            = 3  "..., 55
ioctl(3, CDROMSUBCHNL, 0xbfffe654)      = -1 EACCES (Permission denied)
rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_START, {B38400 opost isig -icanon -echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
write(1, "\n", 1
)                       = 1
ioctl(0, SNDCTL_TMR_START, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
rt_sigaction(SIGINT, {SIG_DFL}, {SIG_IGN}, 8) = 0
munmap(0x40017000, 4096)                = 0
_exit(0)                                = ?

        strace on xplaycd returns:

read(5, "/dev/ide/host0/bus0/target0/lun0"..., 4096) = 1003
read(5, "", 4096)                       = 0
close(5)                                = 0
munmap(0x4001a000, 4096)                = 0
open("/dev/cdrom", O_RDONLY)            = 5
ioctl(5, CDROMSUBCHNL, 0xbfffe584)      = -1 EACCES (Permission denied)
close(5)                                = 0
ioctl(4, SOUND_MIXER_READ_CD, 0xbffff5b0) = 0
open("/etc/mtab", O_RDONLY)             = 5
fstat64(0x5, 0xbfffddec)                = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x4001a000
read(5, "/dev/ide/host0/bus0/target0/lun0"..., 4096) = 1003
read(5, "", 4096)                       = 0
close(5)                                = 0
munmap(0x4001a000, 4096)                = 0
open("/dev/cdrom", O_RDONLY)            = 5
ioctl(5, CDROMSUBCHNL, 0xbfffe484)      = -1 EACCES (Permission denied)
close(5)                                = 0

        my current devfsd.conf has:

#
# Uncomment this if you want the old /dev/cdrom symlink
# (e.g. those specifying CD-ROM type, mouse port, modem port etc)
#
#LOOKUP         ^cdrom$         CFUNCTION GLOBAL symlink cdroms/cdrom0 $devpath
#REGISTER       ^cdrom/cdrom0$  CFUNCTION GLOBAL symlink cdroms/cdrom0 cdrom
#UNREGISTER     ^cdrom/cdrom0$  CFUNCTION GLOBAL unlink cdrom

REGISTER       ^cdroms/cdrom0$ CFUNCTION GLOBAL mksymlink $devname cdrom
UNREGISTER     ^cdroms/cdrom0$ CFUNCTION GLOBAL unlink cdrom

        Anything I'm missing here? This worked in 2.5.7, which, IIRC, used 
devfs v211.

                                                        BL.


<Prev in Thread] Current Thread [Next in Thread>