# Suddenly(?) /dev/sr0 not recognized by system

## Punchcutter

It seems that all of a sudden, my Gentoo system doesn't recognize its optical drive, or create the normal /dev/sr0 device for it. I know the hardware is working, because I can boot a live CD off the drive.  But in Gentoo, if I try, e.g., eject, I get:

```
# eject

eject: tried to use `/dev/sr0' as device name but it is no block device

eject: unable to find or open device for: `cdrom'

```

Of course, trying to mount, etc on the drive doesn't work either. I wondered if something I had emerged recently had broken it, but I checked my emerge.log, and there's nothing that seems relevant. Can someone give me a pointer to where to look in tracking this down?  Here's my --info.

Thanks in advance for any help.

```
Portage 2.1.10.44 (default/linux/x86/10.0, gcc-4.4.5, glibc-2.11.3, 2.6.39-gentoo-r3 i686)

=================================================================

System uname: Linux-2.6.39-gentoo-r3-i686-Intel-R-_Pentium-R-_4_CPU_3.20GHz-with-gentoo-1.12.14

Timestamp of tree: Tue, 21 Feb 2012 05:45:01 +0000

app-shells/bash:          4.1_p9

dev-java/java-config:     2.1.11-r3

dev-lang/python:          2.6.6-r2, 3.1.3-r1

dev-util/cmake:           2.8.6-r4

dev-util/pkgconfig:       0.25-r2

sys-apps/baselayout:      1.12.14-r1

sys-apps/sandbox:         2.4

sys-devel/autoconf:       2.13, 2.63-r1

sys-devel/automake:       1.9.6-r3, 1.11.1

sys-devel/binutils:       2.20.1-r1

sys-devel/gcc:            4.4.5

sys-devel/gcc-config:     1.4.1

sys-devel/libtool:        2.2.10

sys-devel/make:           3.81-r2

sys-kernel/linux-headers: 2.6.36.1 (virtual/os-headers)

sys-libs/glibc:           2.11.3

Repositories: gentoo kde-sunset

ACCEPT_KEYWORDS="x86"

ACCEPT_LICENSE="*"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -march=i686 -pipe -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /usr/share/gnupg/qualified.txt"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"

CXXFLAGS="-O2 -march=i686 -pipe -fomit-frame-pointer"

DISTDIR="/usr/portage/distfiles"

FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"

FFLAGS=""

GENTOO_MIRRORS="ftp://gentoo.cs.utah.edu/gentoo ftp://mirror.usu.edu/gentoo"

LANG="en_US.UTF-8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

LINGUAS="en ja"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/var/lib/layman/kde-sunset"

SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"

USE="X acl acpi alsa berkdb bzip2 cjk cli cracklib crypt cups cxx dbus dri fortran gdbm gnupg gnutls gpm iconv immqt-bc jpeg modules mudflap ncurses nls nptl nptlonly opengl openmp pam pcre pdf png pppd qt3support quicktime readline session ssl sysfs tcpd udev unicode v4l2 vim-syntax x86 xorg xscreensaver zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en ja" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel i915 i830" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

```

----------

## WvR

I think udev is responsible for assigning /dev blocks to the devices in your system. If udev fails to detect the drive, then there may be no rule for the drive (/etc/udev/rules.d/). Google the drive brand and type, maybe it needs some special treatment in udev.

----------

## The Doctor

Let me start by saying that I have no idea what is happening, but it may also be worth checking /dev/ to see if your drive is being called something else.

Also, if you recently updated your kernel double check that you have the driver available for your CD drive.

----------

## Circuitsoft

Check to see if you might just have a /dev/sr1. I've been bit by that. If so, delete /etc/udev/rules.d/70-persistent-cd-rules.udev, or whatever that file is called. Something like that.

----------

