CD-ROM detected but won't mount

What works, and doesn't, for you. Be specific, and please include Puppy version.
Post Reply
Message
Author
ncsu1983
Posts: 13
Joined: Sun 24 Feb 2008, 01:34

CD-ROM detected but won't mount

#1 Post by ncsu1983 »

I installed Puppy 3.01 on a Compaq Armada 7350MT that has one swappable slot for a floppy or cd-rom. Puppy detects and mounts the floppy drive. However, Puppy returns an error when it tries to mount the cd-rom.

I edited /etc/fstab to include the cd-rom

Code: Select all

/dev/hdb  /mnt/hdb  auto     noauto,rw  0 0
The cd-rom module is listed when I run lsmod, and hdb shows up when I run dmesg. Any ideas to detect and mount the cd-rom would be greatly appreciated. This is the only problem I've come across, and I don't know how to solve it.

P. S. FWIW, the BIOS for this machine was a on small utility partition of the HDD that was erased when I installed Puppy.

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#2 Post by Jesse »

Hi,
One thing that stands out as incorrect is that the mount option "rw" isn't right for cdroms, it means "mount the file system in read and write mode", which isn't how cdroms work. Instead you should have "ro" which is "read only mode".
Try it out at the command line like this:

Code: Select all

mount /dev/hdb /mnt/hdb -t iso9660 -o ro
If it still fails, what is the error message from the mount command?
Jesse

ncsu1983
Posts: 13
Joined: Sun 24 Feb 2008, 01:34

#3 Post by ncsu1983 »

Thanks for the suggestion.

This is the relevant listing for my /etc/fstab file

Code: Select all

/dev/fd0      /mnt/floppy  auto     noauto,rw              0 0
/dev/hdb      /mnt/cdrom   iso9660  ro,noauto,user,exec    0 0
When I tried to mount the cd-rom as suggested, I received the following error message

Code: Select all

# mount /dev/hdb /mnt/hdb -t iso9660 -o ro
mount:  mounting /dev/hdb on /mnt/hdb failed
Next I tried

Code: Select all

# mount /dev/hdb /mnt/hdb
This produced the same error message, which didn't surprise me. Unfortunately, the error message offers no more clues. I do have a disk inserted, and when I open the tray, the cd spins to a stop.

Here's some info from /proc

Code: Select all

# cat /proc/ide/hdb/model
COMPAQ CRD-S88P
# cat /proc/ide/hdb/settings
name                    value           min             max             mode
----                    -----           ---             ---             ----
current_speed           33              0               70              rw
dsc_overlap             1               0               1               rw
init_speed              33              0               70              rw
io_32bit                0               0               3               rw
keepsettings            0               0               1               rw
nice1                   1               0               1               rw
number                  1               0               3               rw
pio_mode                write-only      0               255             w
unmaskirq               0               0               1               rw
using_dma               0               0               1               rw
# cat /proc/ide/hdb/driver  
ide-cdrom version 4.61

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#4 Post by Jesse »

Hi,

Check the directory /mnt/cdrom or /mnt/hdb where you are mounting, make sure that there are no files there.
Check that the cdrom disk can be identified by using either of these commands: /usr/lib/mut/bin/guess_fstype /dev/hdb
/sbin/guess_fstype /dev/hdb
If it can read from the cdrom it should say "iso9660" that indicates the disk can be read from and identified.

Here is the full list of error codes that mount can fail with (from the C api), check that you're good for each condition.

EACCES
A component of a path was not searchable. (See also path_resolution(2).) Or, mounting a read-only filesystem was attempted without giving the MS_RDONLY flag. Or, the block device source is located on a filesystem mounted with the MS_NODEV option.
EAGAIN
A call to umount2() specifying MNT_EXPIRE successfully marked an unbusy file system as expired.
EBUSY
source is already mounted. Or, it cannot be remounted read-only, because it still holds files open for writing. Or, it cannot be mounted on target because target is still busy (it is the working directory of some task, the mount point of another device, has open files, etc.). Or, it could not be unmounted because it is busy.
EFAULT
One of the pointer arguments points outside the user address space.
EINVAL
source had an invalid superblock. Or, a remount (MS_REMOUNT) was attempted, but source was not already mounted on target. Or, a move (MS_MOVE) was attempted, but source was not a mount point, or was '/'. Or, an unmount was attempted, but target was not a mount point. Or, umount2() was called with MNT_EXPIRE and either MNT_DETACH or MNT_FORCE.
ELOOP
Too many link encountered during pathname resolution. Or, a move was attempted, while target is a descendant of source.
EMFILE
(In case no block device is required:) Table of dummy devices is full.
ENAMETOOLONG
A pathname was longer than MAXPATHLEN.
ENODEV
filesystemtype not configured in the kernel.
ENOENT
A pathname was empty or had a nonexistent component.
ENOMEM
The kernel could not allocate a free page to copy filenames or data into.
ENOTBLK
source is not a block device (and a device was required).
ENOTDIR
The second argument, or a prefix of the first argument, is not a directory.
ENXIO
The major number of the block device source is out of range.
EPERM
The caller does not have the required privileges.

I hope that helps.

Jesse

ncsu1983
Posts: 13
Joined: Sun 24 Feb 2008, 01:34

#5 Post by ncsu1983 »

Check the directory /mnt/cdrom or /mnt/hdb where you are mounting, make sure that there are no files there.
Both /mnt/cdrom and /mnt/hdb are empty.
Check that the cdrom disk can be identified by using...

Code: Select all

/usr/lib/mut/bin/guess_fstype /dev/hdb
My results

Code: Select all

# /usr/lib/mut/bin/guess_fstype /dev/hdb
unknown
I wonder if I might have a bad cd-rom device.

Jesse
Posts: 466
Joined: Sun 08 May 2005, 16:07
Location: Auckland, NZ

#6 Post by Jesse »

Hi,

Its possible that the drive is bad, but try a few things out, like see if it will boot from a cdrom, check your bios settings for the drive things like LBA/DMA modes. Also try another linux distro, or even windows, to see if it does actually work. It might just be the cdrom disc, so try a few other discs too.

Jesse

ncsu1983
Posts: 13
Joined: Sun 24 Feb 2008, 01:34

#7 Post by ncsu1983 »

Jesse,

Thanks for the suggestions. This is an **OLD** laptop in which the BIOS originally was installed on a small utility partition on the HDD that had been removed before I came on scene.

Since the cd-rom drive didn't (or doesn't) work, I must use an adapter to install any kind of OS. Before installing Puppy, I tried Wolvix, BeaFanatix, and DSL. Wolvix and BeaFanatix failed to boot. DSL booted up, but still did not detect the cd-rom.

So I bought a refurbished cd-rom. That didn't work with DSL, either. I subsequently switched to Puppy because this particular box didn't care much for DSL, plus I wanted some more robust packages.

Fortunately, the currently installed cd-rom is detected by Pup Drive Mounter as as Compaq CRD-S88P. Unfortunately, when I try to mount it, the following error message appears:

Code: Select all

FAILURE! In the case of removable media, the most common reason is the media is not currently inserted. Or, you forgot to unmount the previously inserted media. If so, please remedy.
But, as stated earlier, I do have a cd inserted, and there is nothing else mounted at /mnt/hdb.

Hmmm...

Th3_uN1Qu3
Posts: 141
Joined: Sun 27 May 2007, 17:31
Location: Bucharest, Romania

#8 Post by Th3_uN1Qu3 »

Try to mount it at /mnt/cdrom/. Hd* is usually for hard drive partitions.
[b]Toshi Portege 4010[/b] | PIII Tualatin 933MHz | 512MB RAM | Cyberblade 16MB | 30GB | WiFi, IrDA | ~5 hrs runtime | WinMe :( |

[img]http://img230.imageshack.us/img230/8125/userbar654682fy5.gif[/img]

ncsu1983
Posts: 13
Joined: Sun 24 Feb 2008, 01:34

#9 Post by ncsu1983 »

Th3_uN1Qu3,

Thank you for your suggestion. I had tried that earlier, but the cd-rom failed to mount.

Listed below is a partial output from dmesg:

Code: Select all

# first reference to UNINSTALLED floppy drive
pnp: Device 00:11 disabled.
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077

    ide0: BM-DMA at 0xb140-0xb147, BIOS settings: hda:DMA, hdb:DMA
Probing IDE interface ide0...
hda: FUJITSU MHR2010AT, ATA DISK drive

# first reference to /hdb
hdb: COMPAQ CRD-S88P, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hda: max request size: 512KiB
hda: 19640880 sectors (10056 MB) w/2048KiB Cache, CHS=16383/255/63, (U)DMA
hda: cache flushes supported
 hda: hda1 hda2
Here's information from /proc/ide/ide0/hdb:

Code: Select all

# cat driver
ide-default version 0.9.newide
# cat media
cdrom
# cat model
COMPAQ CRD-S88P
# cat settings
name                    value           min             max             mode
----                    -----           ---             ---             ----
current_speed           33              0               70              rw
init_speed              33              0               70              rw
io_32bit                0               0               3               rw
keepsettings            0               0               1               rw
nice1                   1               0               1               rw
number                  1               0               3               rw
pio_mode                write-only      0               255             w
unmaskirq               0               0               1               rw
using_dma               1               0               1               rw
So it appears Puppy has detected the cd-rom, but just cannot mount it. I'm sure the solution is very close, probably closer (and easier) than I realize.

Thanks to all who have been helping me.

Post Reply