1ata(7D) Devices ata(7D)
2
3
4
6 ata - AT attachment disk driver
7
9 ide@unit-address
10
11
13 The ata driver supports disk and ATAPI CD/DVD devices conforming to the
14 AT Attachment specification including IDE interfaces. Support is pro‐
15 vided for both parallel ATA (PATA) and serial ATA (SATA) interfaces.
16
17
18 Refer to the Solaris x86 Hardware Compatibility List for a list of sup‐
19 ported controllers.
20
22 A PCI IDE controller can operate in compatibility mode or in PCI-native
23 mode. If more than one controller is present in the system, only one
24 can operate in compatibility mode.
25
26
27 If two PATA drives share the same controller, you must set one to mas‐
28 ter and the other to slave. If both a PATA disk drive and a PATA CD-ROM
29 drive utilize the same controller, you can designate the disk drive as
30 the master with the CD-ROM drive as the slave, although this is not
31 mandatory.
32
33 Supported Settings
34 Supported settings for the primary controller when in compatibility
35 mode are:
36
37 o IRQ Level: 14
38
39 o I/O Address: 0x1F0
40
41
42 Supported settings for the secondary controller when in compatibility
43 mode are:
44
45 o IRQ Level: 15
46
47 o I/O Address: 0x170
48
49 Note -
50
51 When in PCI-native mode, the IRQ and I/O address resources are con‐
52 figured by the system BIOS.
53
54 Known Problems and Limitations
55 o This driver does not support any RAID features present on a
56 PATA/SATA controller. As a result, you should configure BIOS
57 to select IDE mode rather than RAID mode. Some systems may
58 require updating BIOS to allow switching modes.
59
60 o On some systems, the SATA controller must have option ROM
61 enabled or BIOS will not consider SATA drives as bootable
62 devices.
63
64 o Panasonic LK-MC579B and the Mitsumi FX34005 IDE CD-ROM
65 drives are not supported and cannot be used to install the
66 Solaris operating environment.
67
68 o CMD-604 is unable to handle simultaneous I/O on both IDE
69 interfaces. This defect causes the Solaris software to hang
70 if both interfaces are used. Use only the primary IDE inter‐
71 face at address 0x1F0.
72
73 o NEC CDR-260/CDR-260R/CDR-273 and Sony CDU-55E ATAPI CD-ROM
74 drives might fail during installation.
75
76 o Sony CDU-701 CD-ROM drives must be upgraded to use firmware
77 version 1.0r or later to support booting from the CD.
78
79 A Compact Flash(CF) card can work as an ATA disk through a
80 CF-to-ATA adapter. If both card and adapter implement Com‐
81 pact Flash Version 2.0, DMA is supported. If either of them
82 does not, you should set ata-disk-dma-enabled to '0.'
83
85 The ata driver properties are usually set in ata.conf. However, it may
86 be convenient, or in some cases necessary, for you to set some of the
87 DMA related properties as a system global boot environment property.
88 You set or modify properties in the boot environment immediately prior
89 to booting the Solaris kernel using the GRUB boot loader kernel boot
90 command line. You can also set boot environment properties using the
91 eeprom(1M) command or by editing the bootenv.rc configuration file. If
92 a property is set in both the driver's ata.conf file and the boot envi‐
93 ronment, the ata.conf property takes precedence.
94
95
96 Property modifications other than with the GRUB kernel boot command
97 line are not effective until you reboot the system. Property modifica‐
98 tions via the GRUB kernel boot command line do not persist across
99 future boots.
100
101
102 Direct Memory Access is enabled for disks and atapi CD/DVD by default.
103 If you want to disable DMA when booting from a CD/DVD, you must first
104 set atapi-cd-dma-enabled to 0 using the GRUB kernel boot command line.
105
106 ata-dma-enabled This property is examined before the DMA
107 properties discussed below. If it is set to
108 '0,' DMA is disabled for all ATA/ATAPI
109 devices, and no further property checks are
110 made. If this property is absent or is set
111 to '1,' DMA status is determined by further
112 examining one of the other properties listed
113 below.
114
115
116 ata-disk-dma-enabled This property is examined only for ATA disk
117 devices, and only if ata-dma-enabled is not
118 set to '0.'
119
120 If ata-disk-dma-enabled set to '0,' DMA is
121 disabled for all ATA disks in the system. If
122 this property is absent or set to '1,' DMA
123 is enabled for all ATA disks and no further
124 property checks are made. If needed, this
125 property should be created by the adminis‐
126 trator using the GRUB kernel boot command
127 line or the eeprom(1M) command.
128
129
130 atapi-cd-dma-enabled This property is examined only for ATAPI
131 CD/DVD devices, and only if ata-dma-enabled
132 is not set to '0.'
133
134 If atapi-cd-dma-enabled is absent or set to
135 '0,' DMA is disabled for all ATAPI CD/DVD's.
136 If set to '1,' DMA is enabled and no further
137 property checks are made.
138
139 The Solaris installation program creates
140 this property in the boot environment with a
141 value of '1.' It can be changed with the
142 GRUB kernel boot command line or eeprom(1M)
143 as shown in the Example section of this man‐
144 page.
145
146
147 atapi-other-dma-enabled This property is examined only for non-
148 CD/DVD ATAPI devices such as ATAPI tape
149 drives, and only if ata-dma-enabled is not
150 set to '0.'
151
152 If atapi-other-dma-enabled is set to '0,'
153 DMA is disabled for all non-CD/DVD ATAPI
154 devices. If this property is absent or set
155 to '1,' DMA is enabled and no further prop‐
156 erty checks are made.
157
158 If needed, this property should be created
159 by the administrator using the GRUB kernel
160 boot command line or the eeprom(1M) command.
161
162
163 drive0_block_factor ATA controllers support some amount of
164 drive1_block_factor buffering (blocking). The purpose is to
165 interrupt the host when an entire buffer
166 full of data has been read or written
167 instead of using an interrupt for each sec‐
168 tor. This reduces interrupt overhead and
169 significantly increases throughput. The
170 driver interrogates the controller to find
171 the buffer size. Some controllers hang when
172 buffering is used, so the values in the con‐
173 figuration file are used by the driver to
174 reduce the effect of buffering (blocking).
175 The values presented may be chosen from 0x1,
176 0x2, 0x4, 0x8 and 0x10.
177
178 The values as shipped are set to 0x1, and
179 they can be tuned to increase performance.
180
181 If your controller hangs when attempting to
182 use higher block factors, you may be unable
183 to reboot the system. For x86 based systems,
184 it is recommended that tuning be performed
185 using a duplicate of the /plat‐
186 form/i86pc/kernel directory subtree. This
187 ensures that a bootable kernel subtree
188 exists in the event of a failed test.
189
190
191 ata-revert-to-defaults When rebooting or shutting down, the driver
192 revert—<diskmodel> can set a feature which allows the drive to
193 return to the power-on settings when the
194 drive receives a software reset (SRST)
195 sequence. If this property is present and
196 set to 1, the driver will set the feature to
197 revert to defaults during reset. Setting
198 this property to 1 may prevent some systems
199 from soft-rebooting and would require
200 cycling the power to boot the system. If
201 this property is not present the system will
202 not set the feature to revert to defaults
203 during reset.
204
205 To determine the string to substitute for
206 <diskmodel>, boot your system (you may have
207 to press the reset button or power-cycle)
208 and then view /var/adm/messages. Look for
209 the string "IDE device at targ" or "ATAPI
210 device at targ." The next line will contain
211 the word "model" followed by the model num‐
212 ber and a comma. Ignore all characters
213 except letters, digits, ".", "_", and "-".
214 Change uppercase letters to lower case. If
215 the string revert-<diskmodel> is longer than
216 31 characters, use only the first 31 charac‐
217 ters.
218
219
221 Example 1 Sample ata Configuration File
222
223 # for higher performance - set block factor to 16
224 drive0_block_factor=0x1 drive1_block_factor=0x1
225 max_transfer=0x100
226 flow_control="dmult" queue="qsort" disk="dadk" ;
227
228
229 Example 2 Revert to defaults property
230
231 revert-st320420a=1;
232
233
234
235 Output of /var/adm/messages:
236
237
238 Aug 17 06:49:43 caesar ata:[ID 640982 kern.info] IDE device at targ 0,
239 lun 0 lastlun 0x0
240 Aug 17 06:49:43 caesar ata:[ID 521533 kern.info] model ST320420A, stat
241
242
243 Example 3 Change DMA property using GRUB
244
245
246 To change a DMA property using the GRUB kernel boot command line:
247
248
249 1. Reset the system.
250
251 2. Press "e" to interrupt the timeout.
252
253 3. Select the kernel line.
254
255 4. Press "e."
256
257 5. If there is no existing -B option:
258
259 Add: -B atapi-cd-dma-enabled=1
260
261 else...
262
263 Add: atapi-cd-dma-enabled=1 to the end of the current -B
264 option. For example:-B foo=bar,atapi-cd-dma-enabled=1.
265
266 6. Press Enter to commit the edited line to memory. (Does not
267 write to the disk and is non-persistent).
268
269 7. Press 'b' to boot the modified entry.
270
271 Example 4 Change DMA Property with eeprom(1M)
272
273
274 To enable DMA for optical devices while the Solaris kernel is running
275 with the eeprom(1M) system command:
276
277
278 eeprom 'atapi-cd-dma-enabled=1'
279
280
282 /platform/i86pc/kernel/drv/ata
283
284 Device driver.
285
286
287 /platform/i86pc/kernel/drv/ata.conf
288
289 Configuration file.
290
291
292 /boot/solaris/bootenv.rc
293
294 Boot environment variables file for Solaris x86. eeprom(1M) can be
295 used to modify properties in this file.
296
297
299 See attributes(5) for descriptions of the following attributes:
300
301
302
303
304 ┌─────────────────────────────┬─────────────────────────────┐
305 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
306 ├─────────────────────────────┼─────────────────────────────┤
307 │Architecture │x86 │
308 └─────────────────────────────┴─────────────────────────────┘
309
311 eeprom(1M), attributes(5), grub(5)
312
313
314 INCITS T13 ATA/ATAPI-7 specifications
315
316
317
318SunOS 5.11 18 Apr 2007 ata(7D)