ATA(4D) Devices ATA(4D)
NAME
ata - AT attachment disk driver
SYNOPSIS
ide@unit-addressDESCRIPTION
The
ata driver supports disk and ATAPI CD/DVD devices conforming to
the AT Attachment specification including IDE interfaces. Support is
provided for both parallel ATA (PATA) and serial ATA (SATA)
interfaces.
Refer to the
Solaris x86 Hardware Compatibility List for a list of
supported controllers.
PRECONFIGURE
A PCI IDE controller can operate in compatibility mode or in PCI-
native mode. If more than one controller is present in the system,
only one can operate in compatibility mode.
If two PATA drives share the same controller, you must set one to
master and the other to slave. If both a PATA disk drive and a PATA
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.
Supported Settings
Supported settings for the primary controller when in compatibility
mode are:
o IRQ Level: 14
o I/O Address: 0x1F0
Supported settings for the secondary controller when in compatibility
mode are:
o IRQ Level: 15
o I/O Address: 0x170
Note -
When in PCI-native mode, the IRQ and I/O address resources are
configured by the system BIOS.
Known Problems and Limitations
o This driver does not support any RAID features present on
a PATA/SATA controller. As a result, you should configure
BIOS to select IDE mode rather than RAID mode. Some
systems may require updating BIOS to allow switching
modes.
o On some systems, the SATA controller must have option ROM
enabled or BIOS will not consider SATA drives as bootable
devices.
o Panasonic LK-MC579B and the Mitsumi FX34005 IDE CD-ROM
drives are not supported and cannot be used to install the
Solaris operating environment.
o CMD-604 is unable to 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 address 0x1F0.
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 the
CD.
A Compact Flash(CF) card can work as an ATA disk through a
CF-to-ATA adapter. If both card and adapter implement
Compact Flash Version 2.0, DMA is supported. If either of
them does not, you should set ata-disk-dma-enabled to '0.'
CONFIGURATION
The ata driver properties are usually set in
ata.conf. However, it
may be convenient, or in some cases necessary, for you to set some of
the DMA related properties as a system global boot environment
property. You set or modify properties in the boot environment
immediately prior to booting the illumos kernel using the boot loader
command line. You can also set boot environment properties using the
eeprom(8) command or by editing the
bootenv.rc configuration file. If
a property is set in both the driver's
ata.conf file and the boot
environment, the
ata.conf property takes precedence.
Property modifications other than with the boot loader command line
are not effective until you reboot the system. Property
modifications via the boot loader command line do not persist across
future boots.
Direct Memory Access is enabled for disks and atapi CD/DVD by
default. If you want to disable DMA when booting from a CD/DVD, you
must first set atapi-cd-dma-enabled to 0 using the boot loader
command line.
ata-dma-enabled This property is examined before the DMA
properties discussed below. If it is set
to '0,' DMA is disabled for all ATA/ATAPI
devices, and no further property checks
are made. If this property is absent or is
set to '1,' DMA status is determined by
further examining one of the other
properties listed below.
ata-disk-dma-enabled This property is examined only for ATA
disk devices, and only if ata-dma-enabled
is not set to '0.'
If ata-disk-dma-enabled set to '0,' DMA is
disabled for all ATA disks in the system.
If this property is absent or set to '1,'
DMA is enabled for all ATA disks and no
further property checks are made. If
needed, this property should be created by
the administrator using the boot loader
command line or the
eeprom(8) command.
atapi-cd-dma-enabled This property is examined only for ATAPI
CD/DVD devices, and only if ata-dma-
enabled is not set to '0.'
If atapi-cd-dma-enabled is absent or set
to '0,' DMA is disabled for all ATAPI
CD/DVD's. If set to '1,' DMA is enabled
and no further property checks are made.
The Solaris installation program creates
this property in the boot environment with
a value of '1.' It can be changed with the
boot loader command line or
eeprom(8) as
shown in the Example section of this
manpage.
atapi-other-dma-enabled This property is examined only for non-
CD/DVD ATAPI devices such as ATAPI tape
drives, and only if ata-dma-enabled is not
set to '0.'
If atapi-other-dma-enabled is set to '0,'
DMA is disabled for all non-CD/DVD ATAPI
devices. If this property is absent or set
to '1,' DMA is enabled and no further
property checks are made.
If needed, this property should be created
by the administrator using the boot loader
command line or the
eeprom(8) command.
drive0_block_factor drive1_block_factor 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 significantly 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 recommended that tuning be
performed using a duplicate of the
/platform/i86pc/kernel directory subtree.
This ensures that a bootable kernel
subtree exists in the event of a failed
test.
ata-revert-to-defaults revert--<diskmodel> When rebooting or shutting down, the
driver can set a feature which allows the
drive to return to the power-on settings
when the drive receives a software reset
(SRST) sequence. If this property is
present and set to 1, the driver will set
the feature to revert to defaults during
reset. Setting this property to 1 may
prevent some systems from soft-rebooting
and would require cycling the power to
boot the system. If this property is not
present the system will not set the
feature to revert to defaults during
reset.
To determine the string to substitute for
<diskmodel>, boot your system (you may
have to press the reset button or power-
cycle) and then view
/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
characters 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.
EXAMPLES
Example 1: Sample ata Configuration File
# for higher performance - set block factor to 16 drive0_block_factor=0x1 drive1_block_factor=0x1 max_transfer=0x100 flow_control="dmult" queue="qsort" disk="dadk" ; Example 2: Revert to defaults property
revert-st320420a=1; 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
Example 3: Change DMA property using the boot loader command line
To change a DMA property using the boot loader command line:
1. Reset the system.
2. Press "Esc" to interrupt the timeout.
3. Enter: boot -B atapi-cd-dma-enabled=1
Example 4: Change DMA Property with eeprom(8)
To enable DMA for optical devices while the Solaris kernel is running
with the
eeprom(8) system command:
eeprom 'atapi-cd-dma-enabled=1'
FILES
/platform/i86pc/kernel/drv/ata Device driver.
/platform/i86pc/kernel/drv/ata.conf Configuration file.
/boot/solaris/bootenv.rc Boot environment variables file for Solaris x86.
eeprom(8) can be
used to modify properties in this file.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|Architecture | x86 |
+---------------+-----------------+
SEE ALSO
attributes(7),
eeprom(8) INCITS T13 ATA/ATAPI-7 specifications
August 18, 2016 ATA(4D)