PDA

View Full Version : Problem with CDROm after kernel compilation



bcalder
03-13-2004, 12:05 PM
I'm having trouble on my unstable (knoppix 3.2 installed to HD) system & haven't found a solution in the forum. The original system installed to HD recognizes the CD player fine. When I compile my own kernel (2.4.22, 2.4.24 or 2.6, with SCSI & SCSI generic support ), I'm getting a "/dev/cdrom is not a valid block device" error. Here's the relevant output from dmesg:
=========================================
hdd: CD-224E, ATAPI CD/DVD-ROM drive
ide-cd: passing drive hdd to ide-scsi emulation.
hdd: attached ide-scsi driver.
SCSI subsystem driver Revision: 1.00
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
Vendor: TEAC Model: CD-224E Rev: K.0B
Type: CD-ROM ANSI SCSI revision: 02
=========================================

... but no joy. When I boot my original kernel (the original that was installed to HD), the cdrom attaches fine. Here's dmesg from that boot, after HDD was passed to ide-scsi:

========================================
SCSI subsystem driver Revision: 1.00
SCSI host adapter emulation for IDE ATAPI devices
Vendor: TEAC Model: CD-224E Rev: K.0B
Type: CD-ROM ANSI SCSI revision: 02
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
sr0: scsi3-mmc drive: 24x/24x xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.12
========================================

Looks like what's missing in the first instance is the last three lines. Even I can figure out it's using sr0. In /dev, sr0 is symlinked to sda1.
When I use cdrecord --scanbus to see if the problem system is even seeing the cd player, I get an encouraging response:

===============================================
Linux sg driver version: 3.1.25
Using libscg version 'schily-0.8'.
scsibus0:
0,0,0 0) 'TEAC ' 'CD-224E ' 'K.0B' Removable CD-ROM
===============================================

I'm stumped ... /dev/cdrom is a symlink to scd0. sr0 is also a symlink to scd0. At boot HDD, the cd player, is getting passed to the ide-scsi driver, sg is being utilized I've tried mounting /dev/sda1, /dev/scd0, /dev/sr0. The only way I can get the thing to show up is to boot my original kernel, Knoppix installed to the hard disc, which isn't great because my compiled kernel otherwise is rockin'. I know I'm letting my frustration get in the way & I'm missing something really basic, so any help would be appreciated. Did I overlook a compilation option?

Stephen
03-13-2004, 07:47 PM
Looks like what's missing in the first instance is the last three lines. Even I can figure out it's using sr0. In /dev, sr0 is symlinked to sda1.



That looks strange to me it should be linked /dev/scd0 you may want to change that if this is really the case and you have not made a typo. If you want to look at a config file that works with ide-scsi it is here (http://www3.ns.sympatico.ca/scormier/config-2.6.2) and is from my old 2.6.2 kernel.



>$ ll /dev/sr0
lrwxrwxrwx 1 root root 4 2004-03-12 23:09 /dev/sr0 -> scd0

bcalder
03-13-2004, 08:16 PM
Uh ... I actually did make a typo. My ll output looks just like yours, /dev/sr0 is symlinked to scd0, not sda1 (a hangover from trying to get my USB CF card reader going!!)

How do you have your cdrom set up in /etc/fstab??

I'm going to look at your config file to see if I skipped anything.

Stephen
03-13-2004, 09:24 PM
I use this line here and it works fine for my dvd burner.


/dev/scd0 /cdrom iso9660 ro,user,noauto 0 0

bcalder
03-15-2004, 02:55 PM
OK, I recompiled my 2.4.22 kernel without SCSI emulation. Now, the OS sees HDD & uses the ide-cdrom driver. The problem is, I don't know where/how to mount it. When try to mount it after boot, I'm getting a kernel panic (this may have been an audio CD. Should I modify fstab to use /dev/hdd & mount at /cdrom??

Also, where is the kernel make-config located so I can campare my parameters with yours, Stephen?

TIA!!


==============================================
Mar 14 10:17:23 gwlap kernel: Kernel command line: BOOT_IMAGE=2.4.22 ro root=306 hda=scsi hdb=scsi hdc=scsi hde=scsi apm=power-off nomce
Mar 14 10:17:23 gwlap kernel: ide_setup: hda=scsi
Mar 14 10:17:23 gwlap kernel: ide_setup: hdb=scsi
Mar 14 10:17:23 gwlap kernel: ide_setup: hdc=scsi
Mar 14 10:17:23 gwlap kernel: ide_setup: hde=scsi
Mar 14 10:17:23 gwlap kernel: hdd: attached ide-cdrom driver.
Mar 14 10:17:23 gwlap kernel: hdd: ATAPI 24X CD-ROM drive, 128kB Cache, DMA
Mar 14 10:17:23 gwlap kernel: Uniform CD-ROM driver Revision: 3.12

mount -t iso9660 /dev/hdd /cdrom
hdd:communication error: status=0x51 <<<<<<PANIC!!>>>>>>>

Stephen
03-15-2004, 09:42 PM
If you used the Debian kernel package then the conifg is in the /boot/ directory along with the kernel image and system map. If not then the config is in the top level directory of the kernel source as .config. You should be trying to mount a data CD not an audio there is no file system that will be read by Knoppix.