# Can't access DVD device (permissions problem?)

## evoweiss

Hi all,

I'm not sure what happened and when, but I have been having problems accessing my DVD drives. If I try to access it as the user, say, via xine, mplayer, or eject, I get some variant of:

```
eject: unable to open `/dev/hdc'
```

or

```
Couldn't open DVD device: /dev/hdc (Permission denied)
```

However, mounting and umounting /mnt/cdrom (linked to /dev/hdc) work without fail.

In root, however, there seems to be no problem, so I am guessing it's some problem with permissions.

My /etc/fstab is as follows and hasn't changed since forever:

```

/dev/hdc                /mnt/cdrom      auto            noauto,ro,user          0 0

/dev/hdd                /mnt/cdrom1     auto            noauto,ro,user          0 0

```

All of this worked fine until just now. Any help figuring out and solving the problem would be hugely appreciated.

Best,

Alex

----------

## NeddySeagoon

evoweiss, 

Please update your kernel to use libata

----------

## evoweiss

Hi Neddy,

 *NeddySeagoon wrote:*   

> Please update your kernel to use libata

 

I tried to follow the guide, but wasn't able to get the system to boot afterwards. That's the first time in ages that's happened to me. I am, thus, for the first time in a long time, a bit lost. If you could lend me a hand in figuring it all out, I'd be grateful.

I suspect you'll need to know a bit more about my system, so here goes. It's a 2002 machine with two HDDs (IDE), a DVD/CD-ROM drive, and a DVD+RW drive. I also have the kernel configured to work with USB sticks and a USB drive.

lspci gives me.

```
00:00.0 Host bridge: Intel Corporation 82875P/E7210 Memory Controller Hub (rev 02)

00:01.0 PCI bridge: Intel Corporation 82875P Processor to AGP Controller (rev 02)

00:06.0 System peripheral: Intel Corporation 82875P/E7210 Processor to I/O Memory Interface (rev 02)

00:1d.0 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02)

00:1d.1 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (rev 02)

00:1d.2 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (rev 02)

00:1d.3 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (rev 02)

00:1d.7 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02)

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev c2)

00:1f.0 ISA bridge: Intel Corporation 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge (rev 02)

00:1f.1 IDE interface: Intel Corporation 82801EB/ER (ICH5/ICH5R) IDE Controller (rev 02)

00:1f.2 IDE interface: Intel Corporation 82801EB (ICH5) SATA Controller (rev 02)

00:1f.3 SMBus: Intel Corporation 82801EB/ER (ICH5/ICH5R) SMBus Controller (rev 02)

00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02)

01:00.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5200] (rev a1)

02:01.0 Communication controller: Conexant Systems, Inc. Device 2702 (rev 01)

02:08.0 Ethernet controller: Intel Corporation 82562EZ 10/100 Ethernet Controller (rev 02)

```

My /etc/fstab is as follows:

```

/dev/hda1               /boot           ext3            noauto,noatime          1 2

/dev/hda3               /               ext3            noatime                 0 1

/dev/hda2               none            swap            sw                      0 0

/dev/hdb1               /mnt/hdb1       ext3            noatime                 0 2

/dev/hdc                /mnt/cdrom      auto            noauto,ro,user          0 0

/dev/hdd                /mnt/cdrom1     auto            noauto,ro,user          0 0

# NOTE: USB memory stick and USB drive

/dev/sda1               /mnt/usbdrive   ext4            auto,rw,user,exec       0 0

/dev/sdb1               /mnt/memstick   auto            noauto,rw,user,exec     0 0

# NOTE: The next line is critical for boot!

none                    /proc           proc            defaults                0 0

# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for

# POSIX shared memory (shm_open, shm_unlink).

# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will

#  use almost no memory if not populated with files)

# Adding the following line to /etc/fstab should take care of this:

shm                     /dev/shm        tmpfs           nodev,nosuid,noexec     0 0

#none                   /dev/shm        tmpfs           defaults                0 0
```

The relevant line in grub.conf is

```

title=Gentoo Linux Kernel 2.6.31-gentoo-r10-feb-23-2010

root (hd0,0)

kernel (hd0,0)/boot/kernel-2.6.31-gentoo-r10-feb-23-2010 root=/dev/hda3 apm=off hdc=ide-cd hdd=ide-cd video=vesafb:mtrr:3

#initrd (hd0,0)/boot/initrd-2.6.31-gentoo-r10-feb-23-2010

```

I'll post my .config file in the next message.

Best,

Alex

----------

## evoweiss

The relevant parts of the .config file are here. Let me know if I'm missing something.

Is there a way to generate the right kernel options for this new approach using genkernel or something?

```

# 

# Generic Driver Options

# 

CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"

CONFIG_STANDALONE=y

CONFIG_PREVENT_FIRMWARE_BUILD=y

CONFIG_FW_LOADER=y

CONFIG_FIRMWARE_IN_KERNEL=y

CONFIG_EXTRA_FIRMWARE=""

# CONFIG_SYS_HYPERVISOR is not set

# CONFIG_CONNECTOR is not set

# CONFIG_MTD is not set

# CONFIG_PARPORT is not set

CONFIG_PNP=y

CONFIG_PNP_DEBUG_MESSAGES=y

#

# Protocols

#

CONFIG_PNPACPI=y

CONFIG_BLK_DEV=y

# CONFIG_BLK_DEV_FD is not set

# CONFIG_BLK_CPQ_DA is not set

# CONFIG_BLK_CPQ_CISS_DA is not set

# CONFIG_BLK_DEV_DAC960 is not set

# CONFIG_BLK_DEV_COW_COMMON is not set

CONFIG_BLK_DEV_LOOP=y

# CONFIG_BLK_DEV_CRYPTOLOOP is not set

# CONFIG_BLK_DEV_NBD is not set

# CONFIG_BLK_DEV_SX8 is not set

# CONFIG_BLK_DEV_UB is not set

CONFIG_BLK_DEV_RAM=y

CONFIG_BLK_DEV_RAM_COUNT=16

CONFIG_BLK_DEV_RAM_SIZE=4096

# CONFIG_BLK_DEV_XIP is not set

# CONFIG_CDROM_PKTCDVD is not set

# CONFIG_ATA_OVER_ETH is not set

# CONFIG_BLK_DEV_HD is not set

# CONFIG_MISC_DEVICES is not set

CONFIG_HAVE_IDE=y

CONFIG_IDE=y

# Please see Documentation/ide/ide.txt for help/info on IDE drives

#

CONFIG_IDE_XFER_MODE=y

CONFIG_IDE_TIMINGS=y

CONFIG_IDE_ATAPI=y

# CONFIG_BLK_DEV_IDE_SATA is not set

CONFIG_IDE_GD=y

CONFIG_IDE_GD_ATA=y

# CONFIG_IDE_GD_ATAPI is not set

CONFIG_BLK_DEV_IDECD=y

CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y

# CONFIG_BLK_DEV_IDETAPE is not set

# CONFIG_BLK_DEV_IDEACPI is not set

# CONFIG_IDE_TASK_IOCTL is not set

CONFIG_IDE_PROC_FS=y

#

# IDE chipset support/bugfixes

#

CONFIG_IDE_GENERIC=y

# CONFIG_BLK_DEV_PLATFORM is not set

# CONFIG_BLK_DEV_CMD640 is not set

# CONFIG_BLK_DEV_IDEPNP is not set

CONFIG_BLK_DEV_IDEDMA_SFF=y

#

# PCI IDE chipsets support

#

CONFIG_BLK_DEV_IDEPCI=y

CONFIG_IDEPCI_PCIBUS_ORDER=y

# CONFIG_BLK_DEV_GENERIC is not set

# CONFIG_BLK_DEV_RZ1000 is not set

CONFIG_BLK_DEV_IDEDMA_PCI=y

# CONFIG_BLK_DEV_AEC62XX is not set

# CONFIG_BLK_DEV_ALI15X3 is not set

CONFIG_BLK_DEV_AMD74XX=y

# CONFIG_BLK_DEV_ATIIXP is not set

# CONFIG_BLK_DEV_CMD64X is not set

# CONFIG_BLK_DEV_TRIFLEX is not set

# CONFIG_BLK_DEV_CS5530 is not set

# CONFIG_BLK_DEV_CS5535 is not set

# CONFIG_BLK_DEV_CS5536 is not set

# CONFIG_BLK_DEV_HPT366 is not set

# CONFIG_BLK_DEV_JMICRON is not set

# CONFIG_BLK_DEV_SC1200 is not set

CONFIG_BLK_DEV_PIIX=y

# CONFIG_BLK_DEV_IT8172 is not set

# CONFIG_BLK_DEV_IT8213 is not set

# CONFIG_BLK_DEV_IT821X is not set

# CONFIG_BLK_DEV_NS87415 is not set

# CONFIG_BLK_DEV_PDC202XX_OLD is not set

# CONFIG_BLK_DEV_PDC202XX_NEW is not set

# CONFIG_BLK_DEV_SVWKS is not set

# CONFIG_BLK_DEV_SIIMAGE is not set

# CONFIG_BLK_DEV_SIS5513 is not set

# CONFIG_BLK_DEV_SLC90E66 is not set

# CONFIG_BLK_DEV_TRM290 is not set

# CONFIG_BLK_DEV_VIA82CXXX is not set

# CONFIG_BLK_DEV_TC86C001 is not set

CONFIG_BLK_DEV_IDEDMA=y

#

# SCSI device support

#

# CONFIG_RAID_ATTRS is not set

CONFIG_SCSI=y

CONFIG_SCSI_DMA=y

CONFIG_SCSI_NETLINK=y

# CONFIG_SCSI_PROC_FS is not set

#

# SCSI support type (disk, tape, CD-ROM)

#

CONFIG_BLK_DEV_SD=y

# CONFIG_CHR_DEV_ST is not set

# CONFIG_CHR_DEV_OSST is not set

CONFIG_BLK_DEV_SR=y

# CONFIG_BLK_DEV_SR_VENDOR is not set

CONFIG_CHR_DEV_SG=y

# CONFIG_CHR_DEV_SCH is not set

# CONFIG_SCSI_MULTI_LUN is not set

# CONFIG_SCSI_CONSTANTS is not set

# CONFIG_SCSI_LOGGING is not set

# CONFIG_SCSI_SCAN_ASYNC is not set

CONFIG_SCSI_WAIT_SCAN=m

#

# SCSI Transports

#

CONFIG_SCSI_SPI_ATTRS=y

CONFIG_SCSI_FC_ATTRS=y

# CONFIG_SCSI_ISCSI_ATTRS is not set

# CONFIG_SCSI_SAS_LIBSAS is not set

# CONFIG_SCSI_SRP_ATTRS is not set

CONFIG_SCSI_LOWLEVEL=y

# CONFIG_ISCSI_TCP is not set

# CONFIG_SCSI_BNX2_ISCSI is not set

CONFIG_BLK_DEV_3W_XXXX_RAID=y

# CONFIG_SCSI_3W_9XXX is not set

# CONFIG_SCSI_ACARD is not set

# CONFIG_SCSI_AACRAID is not set

CONFIG_SCSI_AIC7XXX=y

CONFIG_AIC7XXX_CMDS_PER_DEVICE=32

CONFIG_AIC7XXX_RESET_DELAY_MS=5000

CONFIG_AIC7XXX_DEBUG_ENABLE=y

CONFIG_AIC7XXX_DEBUG_MASK=0

CONFIG_AIC7XXX_REG_PRETTY_PRINT=y

# CONFIG_SCSI_AIC7XXX_OLD is not set

CONFIG_SCSI_AIC79XX=y

CONFIG_AIC79XX_RESET_DELAY_MS=4000

# CONFIG_AIC79XX_DEBUG_ENABLE is not set

CONFIG_AIC79XX_DEBUG_MASK=0

# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set

# CONFIG_SCSI_AIC94XX is not set

# CONFIG_SCSI_MVSAS is not set

# CONFIG_SCSI_DPT_I2O is not set

# CONFIG_SCSI_ADVANSYS is not set

# CONFIG_SCSI_ARCMSR is not set

# CONFIG_MEGARAID_NEWGEN is not set

# CONFIG_MEGARAID_LEGACY is not set

# CONFIG_MEGARAID_SAS is not set

# CONFIG_SCSI_MPT2SAS is not set

# CONFIG_SCSI_HPTIOP is not set

# CONFIG_SCSI_BUSLOGIC is not set

# CONFIG_LIBFC is not set

# CONFIG_LIBFCOE is not set

# CONFIG_FCOE is not set

# CONFIG_FCOE_FNIC is not set

# CONFIG_SCSI_DMX3191D is not set

# CONFIG_SCSI_EATA is not set

# CONFIG_SCSI_FUTURE_DOMAIN is not set

# CONFIG_SCSI_GDTH is not set

# CONFIG_SCSI_IPS is not set

# CONFIG_SCSI_INITIO is not set

# CONFIG_SCSI_INIA100 is not set

# CONFIG_SCSI_STEX is not set

# CONFIG_SCSI_SYM53C8XX_2 is not set

# CONFIG_SCSI_QLOGIC_1280 is not set

# CONFIG_SCSI_QLA_FC is not set

# CONFIG_SCSI_QLA_ISCSI is not set

# CONFIG_SCSI_LPFC is not set

# CONFIG_SCSI_DC390T is not set

# CONFIG_SCSI_NSP32 is not set

# CONFIG_SCSI_DEBUG is not set

# CONFIG_SCSI_SRP is not set

# CONFIG_SCSI_DH is not set

# CONFIG_SCSI_OSD_INITIATOR is not set

# CONFIG_ATA is not set

# CONFIG_MD is not set

# CONFIG_FUSION is not set
```

Alex

----------

## evoweiss

One thought I had was to use one of Pappy's kernel seeds (if it'll handle my rickety system), but I'd still need to know how to change fstab and grub.conf so that they work given my set-up.

Best,

Alex

----------

## evoweiss

Hi,

The error I am getting is as follows (copying from my screen).

```
VFS: Cannot open root device "sda3" or unknown-block(0,0)

Please append a correct "root=" boot option; here are the available partitions:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Pid: 1, comm: swapper Not tainted 2.6.32-gentoo-r7 #4

Call Trace:

 [<c127975d>] ? panic+0x38/0xd0

 [<c13aaafc>] ? mount_block_root+0x1e6/0x1fa

 [<c13aab49>] ? mount_root+0x399/0x4d

 [<c13aac9a>] ? prepare_namespace+0x13d/0x163

 [<c13aa318>] ? kernel_init+0x0/0x167

 [<c13aa1bc>] ? kernel_init+0x0/0x167

 [<c100321f>] ? kernel_thread_helper+0x7/0x10

```

Best,

Alex

----------

## evoweiss

[bump]

Anyone? I'd really appreciate any further assistance. This has been pretty frustrating. Anything I can post to help I'd be happy to do.

Have a good weekend.

Best,

Alex

----------

## NeddySeagoon

evoweiss,

Please follow this post

Its detailed instructions for setting up the Intel ICHx chipset under libata, according to your lspci 

```
00:1f.1 IDE interface: Intel Corporation 82801EB/ER (ICH5/ICH5R) IDE Controller (rev 02)

00:1f.2 IDE interface: Intel Corporation 82801EB (ICH5) SATA Controller (rev 02) 
```

thats what you have.

----------

## pappy_mcfae

If you want my assistance, you'll need to post your entire .config, as well as the results of lspci -n and cat /proc/cpuinfo. Please post it using pastebin. See my sig for URL.

Cheers,

Pappy

----------

## evoweiss

 *NeddySeagoon wrote:*   

> 
> 
> Please follow this post
> 
> Its detailed instructions for setting up the Intel ICHx chipset under libata, according to your lspci 
> ...

 

Excellent, thanks! That seems to have done the trick. I can now boot and pretty much everything is working fine. 

The only minor hitches now are:

1. My external usb drive is not auto mounting at boot, though that's specified in fstab. Mind you, I can mount it manually, but I get some kind of error (which goes by too quickly) saying it can't do such during boot-up.

2. I don't see a device come up for usb sticks, though I don't have any at home so can't test it and see if it works or not.

I'll see what the story is for number 2, but any advice on dealing with number 1 would be appreciated.

Best,

Alex

----------

## evoweiss

Hey Pappy,

 *pappy_mcfae wrote:*   

> If you want my assistance, you'll need to post your entire .config, as well as the results of lspci -n and cat /proc/cpuinfo. Please post it using pastebin. See my sig for URL.

 

I'll have to get to this a bit later in the week. I'm just swamped with stuff before some major travel I have to do, so I need to prioritize things. Looking forward to it, though!

Alex

----------

## NeddySeagoon

evoweiss,

Look in dmesg.  I suspect that usb is not initalised before /etc/fstab is read, so USB things don't get auto mounted

Add rootdelay=7 to the kernel line in grub.conf.

This adds in an extra delay in the boot sequence, during which, USB will become ready. Its intended for allowing root on USB but it should solve your problem too.

The delay is in seconds ... so thats 7 seconds. You can experiment with other values.

----------

## evoweiss

Hey there,

 *NeddySeagoon wrote:*   

> Look in dmesg.  I suspect that usb is not initalised before /etc/fstab is read, so USB things don't get auto mounted
> 
> Add rootdelay=7 to the kernel line in grub.conf.
> 
> This adds in an extra delay in the boot sequence, during which, USB will become ready. Its intended for allowing root on USB but it should solve your problem too.
> ...

 

That did the trick... I've yet to try the USB stick thing. Maybe tomorrow or maybe later this week. I'm guessing it'll work as my external HDD is working fine. If not, I imagine I've forgotten to set up a driver and can probably find out how to get it working again as I did the first time.

Best,

Alex

P.S. I think we're both in the same neck of the woods.

----------

