Solaris Express Release Notes

x86: Default DMA Setting for CD and DVD Devices Might Cause Problems for Certain Systems (6227829)

In the current Solaris release, Direct Memory Access (DMA) for CD and DVD devices is enabled by default. On some older x86 hardware, drives and controllers might not function properly if DMA is enabled. Different systems might generate different error messages. A typical error message is similar to the following example:


WARNING: /pci@0,0/pci-ide@f,1/ide@0 (ata0)
timeout: abort request, target=0 lun=0
WARNING: /pci@0,0/pci-ide@f,1/ide@0 (ata0)
timeout: abort request, target=0 lun=0
WARNING: /pci@0,0/pci-ide@f,1/ide@0 (ata0)
timeout: abort request, target=0 lun=0
WARNING: /pci@0,0/pci-ide@f,1/ide@0 (ata0)
timeout: reset bus, target=0 lun=0

Note, however, that such messages are generic and might also apply to failures that are not related to the default DMA setting.

Workaround: Disable DMA for CD or DVD devices by using the eeprom system command. Perform the following steps.

  1. Become superuser.

  2. Issue the following command:


    # eeprom atapi-cd-dma-enabled=0
    
  3. Reboot the system.

When you perform subsequent system boots, the DMA remains disabled until you enable the setting again.

If you are booting the system by using an optical device, do not use the eeprom command. Instead, edit the kernel command line by using the GRand Unifier Bootloader (GRUB) menu. Follow these steps.

  1. Configure your system to boot from a DVD or CD.

  2. Insert the appropriate media in your system.

  3. Boot the system.

    After the memory test and hardware detection are completed, the GRUB menu is displayed.

  4. Using the arrow keys, select the appropriate installation option and press e.

    A list of boot commands is displayed.

  5. Select the boot command that begins with kernel and press e.

    The kernel command is displayed on the screen in edit mode, similar to the following example:


    grub edit>kernel /boot/multiboot kernel/unix -B install_media=cdrom
  6. Using the arrow keys, navigate to the end of the command line and add the following argument:

    atapi-cd-dma-enabled=0

    The edited kernel command should be similar to the following example:


    grub edit>kernel /boot/multiboot kernel/unix -B 
    install_media=cdrom atapi-cd-dma-enabled=0
  7. After adding the argument, press Enter.

    The modified kernel command is displayed in the GRUB menu.

  8. To boot the system, press b.

For more information about boot arguments you can use with command lines, see Chapter 8, Installing From the Network (Command Reference), in Solaris Express Installation Guide: Network-Based Installations. See also Chapter 11, GRUB Based Booting (Tasks), in System Administration Guide: Basic Administration.