Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame^] | 1 | ==================================================================== |
| 2 | = Adaptec Ultra320 Family Manager Set v1.3.11 = |
| 3 | = = |
| 4 | = README for = |
| 5 | = The Linux Operating System = |
| 6 | ==================================================================== |
| 7 | |
| 8 | The following information is available in this file: |
| 9 | |
| 10 | 1. Supported Hardware |
| 11 | 2. Version History |
| 12 | 3. Command Line Options |
| 13 | 4. Additional Notes |
| 14 | 5. Contacting Adaptec |
| 15 | |
| 16 | |
| 17 | 1. Supported Hardware |
| 18 | |
| 19 | The following Adaptec SCSI Host Adapters are supported by this |
| 20 | driver set. |
| 21 | |
| 22 | Ultra320 ASIC Description |
| 23 | ---------------------------------------------------------------- |
| 24 | AIC-7901A Single Channel 64-bit PCI-X 133MHz to |
| 25 | Ultra320 SCSI ASIC |
| 26 | AIC-7901B Single Channel 64-bit PCI-X 133MHz to |
| 27 | Ultra320 SCSI ASIC with Retained Training |
| 28 | AIC-7902A4 Dual Channel 64-bit PCI-X 133MHz to |
| 29 | Ultra320 SCSI ASIC |
| 30 | AIC-7902B Dual Channel 64-bit PCI-X 133MHz to |
| 31 | Ultra320 SCSI ASIC with Retained Training |
| 32 | |
| 33 | Ultra320 Adapters Description ASIC |
| 34 | -------------------------------------------------------------------------- |
| 35 | Adaptec SCSI Card 39320 Dual Channel 64-bit PCI-X 133MHz to 7902A4/7902B |
| 36 | Ultra320 SCSI Card (one external |
| 37 | 68-pin, two internal 68-pin) |
| 38 | Adaptec SCSI Card 39320A Dual Channel 64-bit PCI-X 133MHz to 7902B |
| 39 | Ultra320 SCSI Card (one external |
| 40 | 68-pin, two internal 68-pin) |
| 41 | Adaptec SCSI Card 39320D Dual Channel 64-bit PCI-X 133MHz to 7902A4 |
| 42 | Ultra320 SCSI Card (two external VHDC |
| 43 | and one internal 68-pin) |
| 44 | Adaptec SCSI Card 39320D Dual Channel 64-bit PCI-X 133MHz to 7902A4 |
| 45 | Ultra320 SCSI Card (two external VHDC |
| 46 | and one internal 68-pin) based on the |
| 47 | AIC-7902B ASIC |
| 48 | Adaptec SCSI Card 29320 Single Channel 64-bit PCI-X 133MHz to 7901A |
| 49 | Ultra320 SCSI Card (one external |
| 50 | 68-pin, two internal 68-pin, one |
| 51 | internal 50-pin) |
| 52 | Adaptec SCSI Card 29320A Single Channel 64-bit PCI-X 133MHz to 7901B |
| 53 | Ultra320 SCSI Card (one external |
| 54 | 68-pin, two internal 68-pin, one |
| 55 | internal 50-pin) |
| 56 | Adaptec SCSI Card 29320LP Single Channel 64-bit Low Profile 7901A |
| 57 | PCI-X 133MHz to Ultra320 SCSI Card |
| 58 | (One external VHDC, one internal |
| 59 | 68-pin) |
| 60 | Adaptec SCSI Card 29320ALP Single Channel 64-bit Low Profile 7901B |
| 61 | PCI-X 133MHz to Ultra320 SCSI Card |
| 62 | (One external VHDC, one internal |
| 63 | 68-pin) |
| 64 | 2. Version History |
| 65 | |
| 66 | 1.3.11 (July 11, 2003) |
| 67 | - Fix several deadlock issues. |
| 68 | - Add 29320ALP and 39320B Id's. |
| 69 | |
| 70 | 1.3.10 (June 3rd, 2003) |
| 71 | - Align the SCB_TAG field on a 16byte boundary. This avoids |
| 72 | SCB corruption on some PCI-33 busses. |
| 73 | - Correct non-zero luns on Rev B. hardware. |
| 74 | - Update for change in 2.5.X SCSI proc FS interface. |
| 75 | - When negotiation async via an 8bit WDTR message, send |
| 76 | an SDTR with an offset of 0 to be sure the target |
| 77 | knows we are async. This works around a firmware defect |
| 78 | in the Quantum Atlas 10K. |
| 79 | - Implement controller susupend and resume. |
| 80 | - Clear PCI error state during driver attach so that we |
| 81 | don't disable memory mapped I/O due to a stray write |
| 82 | by some other driver probe that occurred before we |
| 83 | claimed the controller. |
| 84 | |
| 85 | 1.3.9 (May 22nd, 2003) |
| 86 | - Fix compiler errors. |
| 87 | - Remove S/G splitting for segments that cross a 4GB boundary. |
| 88 | This is guaranteed not to happen in Linux. |
| 89 | - Add support for scsi_report_device_reset() found in |
| 90 | 2.5.X kernels. |
| 91 | - Add 7901B support. |
| 92 | - Simplify handling of the packtized lun Rev A workaround. |
| 93 | - Correct and simplify handling of the ignore wide residue |
| 94 | message. The previous code would fail to report a residual |
| 95 | if the transaction data length was even and we received |
| 96 | an IWR message. |
| 97 | |
| 98 | 1.3.8 (April 29th, 2003) |
| 99 | - Fix types accessed via the command line interface code. |
| 100 | - Perform a few firmware optimizations. |
| 101 | - Fix "Unexpected PKT busfree" errors. |
| 102 | - Use a sequencer interrupt to notify the host of |
| 103 | commands with bad status. We defer the notification |
| 104 | until there are no outstanding selections to ensure |
| 105 | that the host is interrupted for as short a time as |
| 106 | possible. |
| 107 | - Remove pre-2.2.X support. |
| 108 | - Add support for new 2.5.X interrupt API. |
| 109 | - Correct big-endian architecture support. |
| 110 | |
| 111 | 1.3.7 (April 16th, 2003) |
| 112 | - Use del_timer_sync() to ensure that no timeouts |
| 113 | are pending during controller shutdown. |
| 114 | - For pre-2.5.X kernels, carefully adjust our segment |
| 115 | list size to avoid SCSI malloc pool fragmentation. |
| 116 | - Cleanup channel display in our /proc output. |
| 117 | - Workaround duplicate device entries in the mid-layer |
| 118 | devlice list during add-single-device. |
| 119 | |
| 120 | 1.3.6 (March 28th, 2003) |
| 121 | - Correct a double free in the Domain Validation code. |
| 122 | - Correct a reference to free'ed memory during controller |
| 123 | shutdown. |
| 124 | - Reset the bus on an SE->LVD change. This is required |
| 125 | to reset our transcievers. |
| 126 | |
| 127 | 1.3.5 (March 24th, 2003) |
| 128 | - Fix a few register window mode bugs. |
| 129 | - Include read streaming in the PPR flags we display in |
| 130 | diagnostics as well as /proc. |
| 131 | - Add PCI hot plug support for 2.5.X kernels. |
| 132 | - Correct default precompensation value for RevA hardware. |
| 133 | - Fix Domain Validation thread shutdown. |
| 134 | - Add a firmware workaround to make the LED blink |
| 135 | brighter during packetized operations on the H2A4. |
| 136 | - Correct /proc display of user read streaming settings. |
| 137 | - Simplify driver locking by releasing the io_request_lock |
| 138 | upon driver entry from the mid-layer. |
| 139 | - Cleanup command line parsing and move much of this code |
| 140 | to aiclib. |
| 141 | |
| 142 | 1.3.4 (February 28th, 2003) |
| 143 | - Correct a race condition in our error recovery handler. |
| 144 | - Allow Test Unit Ready commands to take a full 5 seconds |
| 145 | during Domain Validation. |
| 146 | |
| 147 | 1.3.2 (February 19th, 2003) |
| 148 | - Correct a Rev B. regression due to the GEM318 |
| 149 | compatibility fix included in 1.3.1. |
| 150 | |
| 151 | 1.3.1 (February 11th, 2003) |
| 152 | - Add support for the 39320A. |
| 153 | - Improve recovery for certain PCI-X errors. |
| 154 | - Fix handling of LQ/DATA/LQ/DATA for the |
| 155 | same write transaction that can occur without |
| 156 | interveining training. |
| 157 | - Correct compatibility issues with the GEM318 |
| 158 | enclosure services device. |
| 159 | - Correct data corruption issue that occurred under |
| 160 | high tag depth write loads. |
| 161 | - Adapt to a change in the 2.5.X daemonize() API. |
| 162 | - Correct a "Missing case in ahd_handle_scsiint" panic. |
| 163 | |
| 164 | 1.3.0 (January 21st, 2003) |
| 165 | - Full regression testing for all U320 products completed. |
| 166 | - Added abort and target/lun reset error recovery handler and |
| 167 | interrupt coalessing. |
| 168 | |
| 169 | 1.2.0 (November 14th, 2002) |
| 170 | - Added support for Domain Validation |
| 171 | - Add support for the Hewlett-Packard version of the 39320D |
| 172 | and AIC-7902 adapters. |
| 173 | Support for previous adapters has not been fully tested and should |
| 174 | only be used at the customer's own risk. |
| 175 | |
| 176 | 1.1.1 (September 24th, 2002) |
| 177 | - Added support for the Linux 2.5.X kernel series |
| 178 | |
| 179 | 1.1.0 (September 17th, 2002) |
| 180 | - Added support for four additional SCSI products: |
| 181 | ASC-39320, ASC-29320, ASC-29320LP, AIC-7901. |
| 182 | |
| 183 | 1.0.0 (May 30th, 2002) |
| 184 | - Initial driver release. |
| 185 | |
| 186 | 2.1. Software/Hardware Features |
| 187 | - Support for the SPI-4 "Ultra320" standard: |
| 188 | - 320MB/s transfer rates |
| 189 | - Packetized SCSI Protocol at 160MB/s and 320MB/s |
| 190 | - Quick Arbitration Selection (QAS) |
| 191 | - Retained Training Information (Rev B. ASIC only) |
| 192 | - Interrupt Coalessing |
| 193 | - Initiator Mode (target mode not currently |
| 194 | supported) |
| 195 | - Support for the PCI-X standard up to 133MHz |
| 196 | - Support for the PCI v2.2 standard |
| 197 | - Domain Validation |
| 198 | |
| 199 | 2.2. Operating System Support: |
| 200 | - Redhat Linux 7.2, 7.3, 8.0, Advanced Server 2.1 |
| 201 | - SuSE Linux 7.3, 8.0, 8.1, Enterprise Server 7 |
| 202 | - only Intel and AMD x86 supported at this time |
| 203 | - >4GB memory configurations supported. |
| 204 | |
| 205 | Refer to the User's Guide for more details on this. |
| 206 | |
| 207 | 3. Command Line Options |
| 208 | |
| 209 | WARNING: ALTERING OR ADDING THESE DRIVER PARAMETERS |
| 210 | INCORRECTLY CAN RENDER YOUR SYSTEM INOPERABLE. |
| 211 | USE THEM WITH CAUTION. |
| 212 | |
| 213 | Edit the file "modprobe.conf" in the directory /etc and add/edit a |
| 214 | line containing 'options aic79xx aic79xx=[command[,command...]]' where |
| 215 | 'command' is one or more of the following: |
| 216 | ----------------------------------------------------------------- |
| 217 | Option: verbose |
| 218 | Definition: enable additional informative messages during |
| 219 | driver operation. |
| 220 | Possible Values: This option is a flag |
| 221 | Default Value: disabled |
| 222 | ----------------------------------------------------------------- |
| 223 | Option: debug:[value] |
| 224 | Definition: Enables various levels of debugging information |
| 225 | The bit definitions for the debugging mask can |
| 226 | be found in drivers/scsi/aic7xxx/aic79xx.h under |
| 227 | the "Debug" heading. |
| 228 | Possible Values: 0x0000 = no debugging, 0xffff = full debugging |
| 229 | Default Value: 0x0000 |
| 230 | ----------------------------------------------------------------- |
| 231 | Option: no_reset |
| 232 | Definition: Do not reset the bus during the initial probe |
| 233 | phase |
| 234 | Possible Values: This option is a flag |
| 235 | Default Value: disabled |
| 236 | ----------------------------------------------------------------- |
| 237 | Option: extended |
| 238 | Definition: Force extended translation on the controller |
| 239 | Possible Values: This option is a flag |
| 240 | Default Value: disabled |
| 241 | ----------------------------------------------------------------- |
| 242 | Option: periodic_otag |
| 243 | Definition: Send an ordered tag periodically to prevent |
| 244 | tag starvation. Needed for some older devices |
| 245 | Possible Values: This option is a flag |
| 246 | Default Value: disabled |
| 247 | ----------------------------------------------------------------- |
| 248 | Option: reverse_scan |
| 249 | Definition: Probe the scsi bus in reverse order, starting |
| 250 | with target 15 |
| 251 | Possible Values: This option is a flag |
| 252 | Default Value: disabled |
| 253 | ----------------------------------------------------------------- |
| 254 | Option: global_tag_depth |
| 255 | Definition: Global tag depth for all targets on all busses. |
| 256 | This option sets the default tag depth which |
| 257 | may be selectively overridden vi the tag_info |
| 258 | option. |
| 259 | Possible Values: 1 - 253 |
| 260 | Default Value: 32 |
| 261 | ----------------------------------------------------------------- |
| 262 | Option: tag_info:{{value[,value...]}[,{value[,value...]}...]} |
| 263 | Definition: Set the per-target tagged queue depth on a |
| 264 | per controller basis. Both controllers and targets |
| 265 | may be ommitted indicating that they should retain |
| 266 | the default tag depth. |
| 267 | Examples: tag_info:{{16,32,32,64,8,8,,32,32,32,32,32,32,32,32,32} |
| 268 | On Controller 0 |
| 269 | specifies a tag depth of 16 for target 0 |
| 270 | specifies a tag depth of 64 for target 3 |
| 271 | specifies a tag depth of 8 for targets 4 and 5 |
| 272 | leaves target 6 at the default |
| 273 | specifies a tag depth of 32 for targets 1,2,7-15 |
| 274 | All other targets retain the default depth. |
| 275 | |
| 276 | tag_info:{{},{32,,32}} |
| 277 | On Controller 1 |
| 278 | specifies a tag depth of 32 for targets 0 and 2 |
| 279 | All other targets retain the default depth. |
| 280 | |
| 281 | Possible Values: 1 - 253 |
| 282 | Default Value: 32 |
| 283 | ----------------------------------------------------------------- |
| 284 | Option: rd_strm: {rd_strm_bitmask[,rd_strm_bitmask...]} |
| 285 | Definition: Enable read streaming on a per target basis. |
| 286 | The rd_strm_bitmask is a 16 bit hex value in which |
| 287 | each bit represents a target. Setting the target's |
| 288 | bit to '1' enables read streaming for that |
| 289 | target. Controllers may be ommitted indicating that |
| 290 | they should retain the default read streaming setting. |
| 291 | Example: rd_strm:{0x0041} |
| 292 | On Controller 0 |
| 293 | enables read streaming for targets 0 and 6. |
| 294 | disables read streaming for targets 1-5,7-15. |
| 295 | All other targets retain the default read |
| 296 | streaming setting. |
| 297 | Example: rd_strm:{0x0023,,0xFFFF} |
| 298 | On Controller 0 |
| 299 | enables read streaming for targets 1,2, and 5. |
| 300 | disables read streaming for targets 3,4,6-15. |
| 301 | On Controller 2 |
| 302 | enables read streaming for all targets. |
| 303 | All other targets retain the default read |
| 304 | streaming setting. |
| 305 | |
| 306 | Possible Values: 0x0000 - 0xffff |
| 307 | Default Value: 0x0000 |
| 308 | ----------------------------------------------------------------- |
| 309 | Option: dv: {value[,value...]} |
| 310 | Definition: Set Domain Validation Policy on a per-controller basis. |
| 311 | Controllers may be ommitted indicating that |
| 312 | they should retain the default read streaming setting. |
| 313 | Example: dv:{-1,0,,1,1,0} |
| 314 | On Controller 0 leave DV at its default setting. |
| 315 | On Controller 1 disable DV. |
| 316 | Skip configuration on Controller 2. |
| 317 | On Controllers 3 and 4 enable DV. |
| 318 | On Controller 5 disable DV. |
| 319 | |
| 320 | Possible Values: < 0 Use setting from serial EEPROM. |
| 321 | 0 Disable DV |
| 322 | > 0 Enable DV |
| 323 | Default Value: DV Serial EEPROM configuration setting. |
| 324 | ----------------------------------------------------------------- |
| 325 | Option: seltime:[value] |
| 326 | Definition: Specifies the selection timeout value |
| 327 | Possible Values: 0 = 256ms, 1 = 128ms, 2 = 64ms, 3 = 32ms |
| 328 | Default Value: 0 |
| 329 | ----------------------------------------------------------------- |
| 330 | |
| 331 | *** The following three options should only be changed at *** |
| 332 | *** the direction of a technical support representative. *** |
| 333 | |
| 334 | ----------------------------------------------------------------- |
| 335 | Option: precomp: {value[,value...]} |
| 336 | Definition: Set IO Cell precompensation value on a per-controller |
| 337 | basis. |
| 338 | Controllers may be ommitted indicating that |
| 339 | they should retain the default precompensation setting. |
| 340 | Example: precomp:{0x1} |
| 341 | On Controller 0 set precompensation to 1. |
| 342 | Example: precomp:{1,,7} |
| 343 | On Controller 0 set precompensation to 1. |
| 344 | On Controller 2 set precompensation to 8. |
| 345 | |
| 346 | Possible Values: 0 - 7 |
| 347 | Default Value: Varies based on chip revision |
| 348 | ----------------------------------------------------------------- |
| 349 | Option: slewrate: {value[,value...]} |
| 350 | Definition: Set IO Cell slew rate on a per-controller basis. |
| 351 | Controllers may be ommitted indicating that |
| 352 | they should retain the default slew rate setting. |
| 353 | Example: slewrate:{0x1} |
| 354 | On Controller 0 set slew rate to 1. |
| 355 | Example: slewrate :{1,,8} |
| 356 | On Controller 0 set slew rate to 1. |
| 357 | On Controller 2 set slew rate to 8. |
| 358 | |
| 359 | Possible Values: 0 - 15 |
| 360 | Default Value: Varies based on chip revision |
| 361 | ----------------------------------------------------------------- |
| 362 | Option: amplitude: {value[,value...]} |
| 363 | Definition: Set IO Cell signal amplitude on a per-controller basis. |
| 364 | Controllers may be ommitted indicating that |
| 365 | they should retain the default read streaming setting. |
| 366 | Example: amplitude:{0x1} |
| 367 | On Controller 0 set amplitude to 1. |
| 368 | Example: amplitude :{1,,7} |
| 369 | On Controller 0 set amplitude to 1. |
| 370 | On Controller 2 set amplitude to 7. |
| 371 | |
| 372 | Possible Values: 1 - 7 |
| 373 | Default Value: Varies based on chip revision |
| 374 | ----------------------------------------------------------------- |
| 375 | |
| 376 | Example: 'options aic79xx aic79xx=verbose,rd_strm:{{0x0041}}' |
| 377 | enables verbose output in the driver and turns read streaming on |
| 378 | for targets 0 and 6 of Controller 0. |
| 379 | |
| 380 | 4. Additional Notes |
| 381 | |
| 382 | 4.1. Known/Unresolved or FYI Issues |
| 383 | |
| 384 | * Under SuSE Linux Enterprise 7, the driver may fail to operate |
| 385 | correctly due to a problem with PCI interrupt routing in the |
| 386 | Linux kernel. Please contact SuSE for an updated Linux |
| 387 | kernel. |
| 388 | |
| 389 | 4.2. Third-Party Compatibility Issues |
| 390 | |
| 391 | * Adaptec only supports Ultra320 hard drives running |
| 392 | the latest firmware available. Please check with |
| 393 | your hard drive manufacturer to ensure you have the |
| 394 | latest version. |
| 395 | |
| 396 | 4.3. Operating System or Technology Limitations |
| 397 | |
| 398 | * PCI Hot Plug is untested and may cause the operating system |
| 399 | to stop responding. |
| 400 | * Luns that are not numbered contiguously starting with 0 might not |
| 401 | be automatically probed during system startup. This is a limitation |
| 402 | of the OS. Please contact your Linux vendor for instructions on |
| 403 | manually probing non-contiguous luns. |
| 404 | * Using the Driver Update Disk version of this package during OS |
| 405 | installation under RedHat might result in two versions of this |
| 406 | driver being installed into the system module directory. This |
| 407 | might cause problems with the /sbin/mkinitrd program and/or |
| 408 | other RPM packages that try to install system modules. The best |
| 409 | way to correct this once the system is running is to install |
| 410 | the latest RPM package version of this driver, available from |
| 411 | http://www.adaptec.com. |
| 412 | |
| 413 | |
| 414 | 5. Contacting Adaptec |
| 415 | |
| 416 | A Technical Support Identification (TSID) Number is required for |
| 417 | Adaptec technical support. |
| 418 | - The 12-digit TSID can be found on the white barcode-type label |
| 419 | included inside the box with your product. The TSID helps us |
| 420 | provide more efficient service by accurately identifying your |
| 421 | product and support status. |
| 422 | Support Options |
| 423 | - Search the Adaptec Support Knowledgebase (ASK) at |
| 424 | http://ask.adaptec.com for articles, troubleshooting tips, and |
| 425 | frequently asked questions for your product. |
| 426 | - For support via Email, submit your question to Adaptec's |
| 427 | Technical Support Specialists at http://ask.adaptec.com. |
| 428 | |
| 429 | North America |
| 430 | - Visit our Web site at http://www.adaptec.com. |
| 431 | - To speak with a Fibre Channel/RAID/External Storage Technical |
| 432 | Support Specialist, call 1-321-207-2000, |
| 433 | Hours: Monday-Friday, 3:00 A.M. to 5:00 P.M., PST. |
| 434 | (Not open on holidays) |
| 435 | - For Technical Support in all other technologies including |
| 436 | SCSI, call 1-408-934-7274, |
| 437 | Hours: Monday-Friday, 6:00 A.M. to 5:00 P.M., PST. |
| 438 | (Not open on holidays) |
| 439 | - For after hours support, call 1-800-416-8066 ($99/call, |
| 440 | $149/call on holidays) |
| 441 | - To order Adaptec products including software and cables, call |
| 442 | 1-800-442-7274 or 1-408-957-7274. You can also visit our |
| 443 | online store at http://www.adaptecstore.com |
| 444 | |
| 445 | Europe |
| 446 | - Visit our Web site at http://www.adaptec-europe.com. |
| 447 | - English and French: To speak with a Technical Support |
| 448 | Specialist, call one of the following numbers: |
| 449 | - English: +32-2-352-3470 |
| 450 | - French: +32-2-352-3460 |
| 451 | Hours: Monday-Thursday, 10:00 to 12:30, 13:30 to 17:30 CET |
| 452 | Friday, 10:00 to 12:30, 13:30 to 16:30 CET |
| 453 | - German: To speak with a Technical Support Specialist, |
| 454 | call +49-89-456-40660 |
| 455 | Hours: Monday-Thursday, 09:30 to 12:30, 13:30 to 16:30 CET |
| 456 | Friday, 09:30 to 12:30, 13:30 to 15:00 CET |
| 457 | - To order Adaptec products, including accessories and cables: |
| 458 | - UK: +0800-96-65-26 or fax +0800-731-02-95 |
| 459 | - Other European countries: +32-11-300-379 |
| 460 | |
| 461 | Australia and New Zealand |
| 462 | - Visit our Web site at http://www.adaptec.com.au. |
| 463 | - To speak with a Technical Support Specialist, call |
| 464 | +612-9416-0698 |
| 465 | Hours: Monday-Friday, 10:00 A.M. to 4:30 P.M., EAT |
| 466 | (Not open on holidays) |
| 467 | |
| 468 | Japan |
| 469 | - To speak with a Technical Support Specialist, call |
| 470 | +81-3-5308-6120 |
| 471 | Hours: Monday-Friday, 9:00 a.m. to 12:00 p.m., 1:00 p.m. to |
| 472 | 6:00 p.m. TSC |
| 473 | |
| 474 | Hong Kong and China |
| 475 | - To speak with a Technical Support Specialist, call |
| 476 | +852-2869-7200 |
| 477 | Hours: Monday-Friday, 10:00 to 17:00. |
| 478 | - Fax Technical Support at +852-2869-7100. |
| 479 | |
| 480 | Singapore |
| 481 | - To speak with a Technical Support Specialist, call |
| 482 | +65-245-7470 |
| 483 | Hours: Monday-Friday, 10:00 to 17:00. |
| 484 | - Fax Technical Support at +852-2869-7100 |
| 485 | |
| 486 | ------------------------------------------------------------------- |
| 487 | /* |
| 488 | * Copyright (c) 2003 Adaptec Inc. 691 S. Milpitas Blvd., Milpitas CA 95035 USA. |
| 489 | * All rights reserved. |
| 490 | * |
| 491 | * You are permitted to redistribute, use and modify this README file in whole |
| 492 | * or in part in conjunction with redistribution of software governed by the |
| 493 | * General Public License, provided that the following conditions are met: |
| 494 | * 1. Redistributions of README file must retain the above copyright |
| 495 | * notice, this list of conditions, and the following disclaimer, |
| 496 | * without modification. |
| 497 | * 2. The name of the author may not be used to endorse or promote products |
| 498 | * derived from this software without specific prior written permission. |
| 499 | * 3. Modifications or new contributions must be attributed in a copyright |
| 500 | * notice identifying the author ("Contributor") and added below the |
| 501 | * original copyright notice. The copyright notice is for purposes of |
| 502 | * identifying contributors and should not be deemed as permission to alter |
| 503 | * the permissions given by Adaptec. |
| 504 | * |
| 505 | * THIS README FILE IS PROVIDED BY ADAPTEC AND CONTRIBUTORS ``AS IS'' AND |
| 506 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ANY |
| 507 | * WARRANTIES OF NON-INFRINGEMENT OR THE IMPLIED WARRANTIES OF MERCHANTABILITY |
| 508 | * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL |
| 509 | * ADAPTEC OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| 510 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED |
| 511 | * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
| 512 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
| 513 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
| 514 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS README |
| 515 | * FILE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 516 | */ |