CDROM/DVD Problems

SuSE 8.1 CD-ROM/DVD-ROM SCSI Emulation Fix


This is NOT the SuSE database fix.

SYMPTOM.  Your computer is equipped with a CD-RW drive and one or several "ordinary" CD drives. After installing SuSE Linux 8.1, one or more of the CD drives cannot be mounted.

CAUSE.  Some modules are missing from initrd.

From SuSE Linux 8.1 on, the CD drive support is no longer compiled and kept in the kernel, but implemented by way of modules (cdrom and ide-cd). As opposed to the module ide-scsi, those modules (cdrom and ide-cd) are not included in initrd. That is why the SCSI emulation reaches all drives and not only those listed in the kernel parameter hdX=ide-scsi.

Procedure 1. SOLUTION

  1. Open the YaST Sysconfig Editor. YaST2->System->Editor for /etc/sysconfig. Select Base-Administration->Common-Basics->initrd_modules.

  2. Insert the modules cdrom and ide-cd after the root=/dev/hdaX listing. Be careful not to remove any of the modules listed, since they are necessary for booting.

  3. Edit the /boot/grub/menu.lst file, making the following additions in this order:

     max_scsi_luns=1  hdb=ide-scsi  hdc=ide-scsi 

    (in the linux kernel line, after the root=/dev/hdaX entry).

  4. Now, execute the mk_initrd command as root. To do this open a terminal program like konsole or xterm and log in as root with the command su -. Then enter the command mk_initrd. If your boot manager is LILO, reinstall it with the command lilo -v. As GRUB is the standard boot loader from SuSE Linux 8.1 on, this will not apply for most. This will allow all devices to be emulated as SCSI.

  5. Reboot the system for changes to take effect.

  6. Now determine the SCSI device numbers assigned to your physical IDE devices using the cdrecord -scanbus command. The command output will give you the numbers needed to link your newly emulated SCSI devices.

    EXAMPLE: If there is a 0) before your DVD device, then your DVD device should be linked to SCSI device 0. Hence, the command you would use is ln -sf /dev/sr0 /dev/dvd. If it was your CD-ROM instead of your DVD-ROM you would use ln -sf /dev/sr0 /dev/cdrom.

    If your CD writer follows after a 1), then the command will be ln -sf /dev/sr1 /dev/cdrecorder. The combination of sr0 and sr1 and the devices cdrom, dvd and cdrecorder depends on the numbers listed in the line from the cdrecord -scanbus output.

  7. Using the information obtained from the cdrecord -scanbus command (see Step 3), point all devices (dvd, cdrecorder and cdrom) to their respective scsi device.

    Example: ln -sf /dev/sr0 /dev/dvd links the dvd to the scsi device sr0.

  8. Type hwscan --list as root. Note all keys for each CD device. There will likely be multiple entries for any given CD device. Delete each of the noted CD device entries in the /var/lib/hardware/unique-keys directory.


    Deleting the unique-key CD device entries can easily be done in Konqueror as root. To do so, log in as root, follow the hwscan --list portion of this step from a konsole session.

    Then open Konqueror, delete any of the unique-key files associated with a CD device, (right click and delete).

  9. Open a konsole session and type the hwscan --cdrom command to populate the newly added (and correct) unique-key CD device entries.

  10. Reboot your system and you should have two working devices with no errors at boot up.

Updated: Tue, 03 Feb 2004
Valid CSS!Valid HTML 4.01!