ata - AT attachment disk driver
The ata driver supports disk and CD-ROM interfaces conform-
ing to the AT Attachment specification including IDE inter-
faces. It excludes the MFM, RLL, ST506, and ST412 inter-
faces. Support is provided for CD_ROM drives that conform to
the Small Form Factor (SFF) ATA Packet Interface (ATAPI)
specification: SFF-8020 revision 1.2.
If two IDE drives share the same controller, you must set
one to master and the other to slave. If both an IDE disk
drive and an IDE CD-ROM drive utilize the same controller,
you can designate the disk drive as the master with the CD-
ROM drive as the slave, although this is not mandatory. If
there is only one drive on a controller, it must be set to
o IRQ Level: 14
o I/O Address: 0x1F0
o IRQ Level: 15
o I/O Address: 0x170
If an IDE CD-ROM drive is installed, the system BIOS parame-
ter for that device should be:
o Drive Type: Not installed
If an enhanced IDE drive is installed, set the system BIOS
o Enhanced IDE Drive: Enabled
If the BIOS supports autoconfiguration, use this facil-
ity to set the number of heads, cylinders, and sectors
for the IDE disk drive. If this capability is not sup-
ported by the BIOS, use the settings provided by the
Known Problems and Limitations
o Panasonic LK-MC579B and the Mitsumi FX34005 IDE CD-ROM
drives cannot be used to install the Solaris operating
environment and are not supported.
o Some vendors ship PCI-equipped machines with IDE
interfaces on the motherboard. A number of these
machines use the CMD-604 PCI-IDE controller. This
chip provides two IDE interfaces. The primary IDE
interface is at I/O address 0x1F0 and the secondary
interface at 0x170. However, this chip cannot handle
simultaneous I/O on both IDE interfaces. This defect
causes the Solaris software to hang if both interfaces
are used. Use only the primary IDE interface at
o You cannot boot from the third or fourth IDE disk
drives; however you can install Solaris software on
o The Solaris Volume Management software does not work
with the Sony CDU-55E CD-ROM drive no matter how it is
configured (as the master or the slave). Comment out
the following line in the file /etc/vold.conf to
prevent vold from hanging the controller:
# use cdrom drive /dev/rdsk/c*s2 dev_cdrom.so cdrom%d
o NEC CDR-260/CDR-260R/CDR-273 and Sony CDU-55E ATAPI
CD-ROM drives might fail during installation.
o Sony CDU-701 CD-ROM drives must be upgraded to use
firmware version 1.0r or later to support booting from
Direct Memory Access (DMA) and PCI-IDE Systems
Direct Memory Access is enabled by default. To disable DMA
for the ata driver, do the following steps after you have
installed the Solaris operating environment:
1. Run the Solaris (x86 Edition) Device Configuration Assis-
tant from the boot diskette or the installation CD (if
your system supports CD-ROM booting).
Note: After you boot using the boot diskette, the new
ata-dma-enabled property value is preserved on the
diskette. This means that the changed value is in
effect each time you use the boot diskette.
2. Press F2_Continue to scan for devices.
3. Press F2_Continue to display a list of boot devices on
the Boot Solaris menu.
4. Go to the View/Edit Property Settings menu.
5. Press F4_Boot Tasks, select View/Edit Property Settings,
and press F2_Continue.
6. Change the value of the ata-dma-enabled property. A value
of 1 indicates that DMA is enabled and 0 indicates that
DMA is disabled.
o Select the ata-dma-disabled property from the list
and press F3_Change.
o Type 0 and press F2_Continue to disable DMA.
o Press F2_Back to return to the Boot Tasks menu.
o Press F3_Back to return to the Boot Solaris menu.
o Select the device from which you want to install
(network adapter or CD-ROM drive) and press
The driver initializes itself in accordance with the infor-
mation found in the configuration file ata.conf (see
below). The only user configurable items in this file are:
ATA controllers support some amount of buffering
(blocking). The purpose is to interrupt the host
when an entire buffer full of data has been read
or written instead of using an interrupt for each
sector. This reduces interrupt overhead and sig-
nificantly increases throughput. The driver
interrogates the controller to find the buffer
size. Some controllers hang when buffering is
used, so the values in the configuration file are
used by the driver to reduce the effect of
buffering (blocking). The values presented may be
chosen from 0x1, 0x2, 0x4, 0x8 and 0x10.
The values as shipped are set to 0x1, and they
can be tuned to increase performance.
If your controller hangs when attempting to use
higher block factors, you may be unable to reboot
the system. For x86 based systems, it is recom-
mended that the tuning be carried out using a
duplicate of the /platform/i86pc/kernel directory
subtree. This will ensure that a bootable kernel
subtree exists in the event of a failed test.
This value controls the size of individual
requests for consecutive disk sectors. The value
may range from 0x1 to 0x100. Higher values
yield higher throughput. The system is shipped
with a value of 0x100, which should not be
When preparing to reboot (or shutdown), the ata
driver issues a command that allows the disk to
revert to power-on defaults when it receives a
software reset (SRST) sequence. This is usually
appropriate as preparation for the boot sequence.
However, this doesn't work properly on certain
combinations of disk and system ROM (BIOS).
Solaris maintains a list of disks known to cause
this problem; however the list is not all-
inclusive and other models may also be affected.
To disallow revert to power-on defaults for all
ATA disks, set ata-revert-to-defaults to 0.
To disallow revert to power-on defaults only for
disks of a particular model, set revert-
<diskmodel> to 0.
Explicitly set ata-revert-to-defaults or revert-
<diskmodel> (x86 only) to 1 to override Solaris'
built-in list and allow reverting to power-on
defaults for all disks or a particular model of
To determine the string to substitute for
<diskmodel>, boot your system (you may have to
press the reset button or power-cycle) and then
go to /var/adm/messages. Look for the string "IDE
device at targ" or "ATAPI device at targ." The
next line will contain the word "model" followed
by the model number and a comma. Ignore all char-
acters except letters, digits, ".", "_", and "-".
Change uppercase letters to lower case. If the
string revert-<diskmodel> is longer than 31
characters, use only the first 31 characters.
Example 1: Sample ata Configuration File
# for higher performance - set block factor to 16
flow_control="dmult" queue="qsort" disk="dadk" ;
Example 2: ata-revert-to-defaults Property
# tail ata.conf
# timer resolution.
# standby=-1 don't modify the drive's current setting
# standby=0 disable standby timer
# standby=n n == number of seconds to set the timer to
Output of /var/adm/messages:
Aug 17 06:49:43 caesar ata:[ID 640982 kern.info] IDE device at targ 0,
lun 0 lastlun 0x0
Aug 17 06:49:43 caesar ata:[ID 521533 kern.info] model ST320420A, stat
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
Man(1) output converted with