1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #pragma ident "%Z%%M% %I% %E% SMI" 28 29 #include <sys/scsi/scsi.h> 30 #include <sys/mtio.h> 31 #include <sys/condvar.h> 32 #include <sys/kstat.h> 33 #include <sys/scsi/targets/stdef.h> 34 35 const char st_conf_version[] = "%M% %I% %E%"; 36 /* 37 * General 38 * ------- 39 * o MT_DENSITYx counts from 1..4, rather than 0..3. 40 * o Some entries specify a value for the 'length' member that is 41 * less than the actual length of the 'vid' member. This is done 42 * intentionally to allow the comparison to succeed for different 43 * drives. 44 */ 45 46 /* 47 * Drive Tables. 48 * 49 * The structure and option definitions can be 50 * found in <sys/scsi/targets/stdef.h>. 51 * 52 * Note: that blocksize should be a power of two 53 * for fixed-length recording devices. 54 * 55 * Note: the speed codes are unused at present. 56 * The driver turns around whatever is reported 57 * from the drive via the mode sense. 58 * 59 * Note: the read retry and write retry counts 60 * are there to provide a limit until warning 61 * messages are printed. 62 * 63 * 64 * Note: For drives that are not in this table.... 65 * 66 * The first open of the device will cause a MODE SENSE command 67 * to be sent. From that we can determine block size. If block 68 * size is zero, than this drive is in variable-record length 69 * mode. The driver uses the SCSI-2 specification density codes in 70 * order to attempt to determine what kind of sequential access 71 * device this is. This will allow determination of 1/4" cartridge, 72 * 1/2" cartridge, some helical scan (3.81 && 8 mm cartridge) and 73 * 1/2" reel tape devices. The driver will print what it finds and is 74 * assuming to the console. If the device you have hooked up returns 75 * the default density code (0) after power up, the drive cannot 76 * determine what kind of drive it might be, so it will assume that 77 * it is an unknown 1/4" cartridge tape (QIC). 78 * 79 * If the drive is determined in this way to be a 1/2" 9-track reel 80 * type device, an attempt will be mode to put it in Variable 81 * record length mode. 82 * 83 * Generic drives are assumed to support only the long erase option 84 * and will not to be run in buffered mode. 85 */ 86 87 /* 88 * Format for Tape Drive Entry 89 * 90 * Please maintain the format currently in use for defining the properties 91 * associated with each tape drive. This format is intended to make the 92 * entries more readable and help increase the accuracy of the entries. 93 * See the actual entries for examples of what they should look like. 94 * 95 * Important points to note about the format: 96 * 97 * 1. The opening and closing braces are indented 2 spaces. 98 * 2. Each line in the entry is indented 4 spaces. 99 * 3. The numerical values and text in the .options comments are indented two 100 * spaces in the comment block. 101 * 4. The maximum line width is 80 columns; do not exceed this. 102 * 5. The comment delimiters should line up, per the example. 103 * 6. The OR symbol (|) should line up for multiple options. 104 * 7. Hexadecimal values should be capitalized, for consistency. 105 * 8. The leading / in the comment block header is indented 2 spaces and the 106 * susequent *'s should all line up. 107 * 9. Order of the entries is very important. There are several groups of 108 * entries where the last entry in the grouping acts as a catch-all. If you 109 * place an entry after the catch-all, it will never be used by the driver. 110 * 10. TABs should not be used anywhere between the BEGIN CSTYLED and 111 * END CSTYLED lines. 112 */ 113 114 /* 115 * Supported Drive Options 116 * 117 * The descriptions for the supported drive options are taken from stdef.h. 118 * 119 * ST_VARIABLE Device supports variable length record 120 * sizes. 121 * ST_QIC QIC tape device. 122 * ST_REEL 1/2-inch reel tape device. 123 * ST_BSF Device supports backspace file as in 124 * mt(1) bsf backspace over EOF marks. 125 * Devices not supporting bsf will fail 126 * with ENOTTY upon use of bsf. 127 * ST_BSR Device supports backspace record as in 128 * mt(1) bsr : backspace over records. If 129 * the device does not support bsr, the st 130 * driver emulates the action by rewinding 131 * the tape and using forward space file 132 * (fsf) to the correct file and then uses 133 * forward space record (fsr) to the 134 * correct record. 135 * ST_LONG_ERASE Device needs a longer time than normal 136 * to erase. 137 * ST_AUTODEN_OVERRIDE Autodensity override flag Device can 138 * figure out the tape density 139 * automatically,without issuing a mode- 140 * select/mode-sense. 141 * ST_NOBUF Don't use buffered mode. This disables 142 * the device's ability for buffered writes 143 * i.e. The device acknowledges write 144 * completion after the data is written to 145 * the device's buffer, but before all the 146 * data is actually written to tape. 147 * ST_RESERVED_BIT1 Reserved bit parity while talking to it. 148 * ST_KNOWS_EOD Device knows when EOD (End of Data) has 149 * been reached. If the device knows EOD, 150 * st uses fast file skipping. If it does 151 * not know EOD, file skipping happens one 152 * file at a time. 153 * ST_UNLOADABLE Device will not complain if the st 154 * driver is unloaded & loaded again; 155 * e.g. will return the correct inquiry 156 * string. 157 * ST_SOFT_ERROR_REPORTING Do request or log sense on close to 158 * report soft errors.Currently only 159 * Exabyte and DAT drives support this 160 * feature. 161 * ST_LONG_TIMEOUTS Device needs 5 times longer timeouts 162 * for normal operation. 163 * ST_BUFFERED_WRITES The data is buffered in the driver and 164 * pre-acked to the application. 165 * ST_NO_RECSIZE_LIMIT For variable record size devices only. 166 * If flag is set,then don't limit record 167 * size to 64k as in pre-Solaris 2.4 168 * releases. The only limit on the record 169 * size will be the max record size the 170 * device can handle or the max DMA 171 * transfer size of the machine, which ever 172 * is smaller. Beware of incompatabilities 173 * with tapes of pre-Solaris 2.4 OS's 174 * written with large (>64k) block sizes, 175 * as their true block size is a max of 176 * approx 64k. 177 * ST_MODE_SEL_COMP Use mode select of device configuration 178 * page (0x10) to enable/disable 179 * compression instead of density codes 180 * for the "c" and "u" devices. 181 * ST_NO_RESERVE_RELEASE For devices which do not support 182 * RESERVE/RELEASE SCSI command. If this 183 * is enabled then RESERVE/RELEASE would 184 * not be used during open/close for High 185 * Availability. 186 * ST_READ_IGNORE_ILI This flag is only applicable to 187 * variable block devices which support 188 * the SILI bit option. It indicates that 189 * the SILI bit will be ignored during 190 * reads. 191 * ST_READ_IGNORE_EOFS When this flag is set two EOF marks do 192 * not indicate an EOM. This option is 193 * only supported on 1/2" reel tapes. 194 * ST_SHORT_FILEMARKS This option applies only to EXABYTE 8mm 195 * tape drives which support short 196 * filemarks. When this flag is set, short 197 * filemarks will be used for writing 198 * filemarks. 199 * ST_EJECT_ON_CHANGER_FAILURE When this flag is set and the tape is 200 * trapped in the medium changer, the 201 * tape is automatically ejected. 202 * ST_RETRY_ON_RECOVERED_DEFERRED_ERROR This option applies only to IBM MAGSTAR 203 * 3590. If this flag is set, the st 204 * driver will retry the last cmd if the 205 * last error cause a check condition with 206 * error code 0x71 and sense code 0x01. 207 */ 208 209 /* 210 * Values Corresponding To The Supported Drive Options Flags 211 * 212 * ST_VARIABLE 0x000001 213 * ST_QIC 0x000002 214 * ST_REEL 0x000004 215 * ST_BSF 0x000008 216 * ST_BSR 0x000010 217 * ST_LONG_ERASE 0x000020 218 * ST_AUTODEN_OVERRIDE 0x000040 219 * ST_NOBUF 0x000080 220 * ST_RESERVED_BIT1 0x000100 221 * ST_KNOWS_EOD 0x000200 222 * ST_UNLOADABLE 0x000400 223 * ST_SOFT_ERROR_REPORTING 0x000800 224 * ST_LONG_TIMEOUT 0x001000 225 * ST_BUFFERED_WRITES 0x004000 226 * ST_NO_RECSIZE_LIMIT 0x008000 227 * ST_MODE_SEL_COMP 0x010000 228 * ST_NO_RESERVE_RELEASE 0x020000 229 * ST_READ_IGNORE_ILI 0x040000 230 * ST_READ_IGNORE_EOFS 0x080000 231 * ST_SHORT_FILEMARKS 0x100000 232 * ST_EJECT_ON_CHANGER_FAILURE 0x200000 233 * ST_RETRY_ON_RECOVERED_DEFERRED_ERROR 0x400000 234 */ 235 236 const struct st_drivetype st_drivetypes[] = 237 { 238 /* BEGIN CSTYLED */ 239 /* 240 * Anritsu 1/2" reel 241 * 242 * NOTES 243 * ----- 244 * o This is an unsupported drive. 245 * 246 * [1] The Anritsu 1/2" reel has two density codes (or 0 for "default"). 247 * [2] The Anritsu 1/2" reel has only one speed (if the driver ever cares). 248 * [3] max_rretries and max_wretries are driver anachronisms. 249 */ 250 { /* Structure member Description */ 251 /* ---------------- ----------- */ 252 "Unisys 1/2\" Reel", /* .name Display ("pretty") name */ 253 15, /* .length Length of next item... */ 254 "ANRITSU DMT2120", /* .vid Vendor-product ID string */ 255 ST_TYPE_ANRITSU, /* .type Numeric type (cf. mtio.h) */ 256 0, /* .bsize Block size (0 = variable) */ 257 /* .options Drive option flags: */ 258 ST_VARIABLE | /* 00001 Supports variable length */ 259 ST_REEL | /* 00004 1/2-inch reel tape device */ 260 ST_BSF | /* 00008 Supports SPACE block fwd */ 261 ST_BSR | /* 00010 Supports SPACE block rev */ 262 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 263 /* ----- */ 264 /* 0041D */ 265 400, /* .max_rretries [Note 3] */ 266 400, /* .max_wretries [Note 3] */ 267 {0x00, 0x02, 0x03, 0x03}, /* .densities Density codes [Note 1] */ 268 MT_DENSITY2, /* .default_density (.densities[x]) */ 269 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 270 }, 271 272 /* 273 * Archive QIC-150 1/4" cartridge 274 * 275 * NOTES 276 * ----- 277 * o The manual for the Archive drive claims that this drive 278 * can backspace filemarks. In practice this doens't always 279 * seem to be the case. 280 * [1] The QIC-150 uses 0 or "default" density. 281 * [2] The QIC-150 has only one speed (if the driver ever cares). 282 * [3] max_rretries and max_wretries are driver anachronisms. 283 */ 284 { /* Structure member Description */ 285 /* ---------------- ----------- */ 286 "Archive QIC-150", /* .name Display ("pretty") name */ 287 13, /* .length Length of next item... */ 288 "ARCHIVE VIPER", /* .vid Vendor-product ID string */ 289 ST_TYPE_ARCHIVE, /* .type Numeric type (cf. mtio.h) */ 290 512, /* .bsize Block size (0 = variable) */ 291 /* .options Drive option flags: */ 292 ST_QIC | /* 00002 QIC tape device */ 293 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 294 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 295 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 296 /* ----- */ 297 /* 00642 */ 298 400, /* .max_rretries [Note 3] */ 299 400, /* .max_wretries [Note 3] */ 300 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 301 MT_DENSITY2, /* .default_density (.densities[x]) */ 302 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 303 }, 304 305 /* 306 * Archive Python 04106 4mm 2GB drive 307 * 308 * NOTES 309 * ----- 310 * o This is an unsupported drive. 311 * 312 * [1] The Python 04106 has only one density, 0x42 (or 0 for "default"). 313 * [2] The Python 04106 has only one speed (if the driver ever cares). 314 * [3] max_rretries and max_wretries are driver anachronisms. 315 * [4] The manufacturer recommends 0x2c ("MT_ISPYTHON") here, 316 * even though ST_TYPE_PYTHON is recommended. For con- 317 * sistency, let's not fight it. 318 */ 319 { /* Structure member Description */ 320 /* ---------------- ----------- */ 321 "Seagate Scorpion 24 DDS3 DAT", 322 /* .name Display ("pretty") name */ 323 20, /* .length Length of next item... */ 324 "ARCHIVE Python 04106", /* .vid Vendor-product ID string */ 325 MT_ISPYTHON, /* .type Numeric type [Note 4] */ 326 0, /* .bsize Block size (0 = variable) */ 327 /* .options Drive option flags: */ 328 ST_VARIABLE | /* 00001 Supports variable length */ 329 ST_BSF | /* 00008 Supports SPACE block fwd */ 330 ST_BSR | /* 00010 Supports SPACE block rev */ 331 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 332 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 333 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 334 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 335 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 336 /* ----- */ 337 /* 09639 */ 338 400, /* .max_rretries [Note 3] */ 339 400, /* .max_wretries [Note 3] */ 340 {0x00, 0x8C, 0x8C, 0x8C}, /* .densities Density codes [Note 1] */ 341 MT_DENSITY3, /* .default_density (.densities[x]) */ 342 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 343 }, 344 345 /* 346 * Archive/Conner CTDX004 4mm DAT 347 * 348 * NOTES 349 * ----- 350 * [1] The CTDX004 uses 0 or the "default" density code. 351 * [2] The CTDX004 has only one speed (if the driver ever cares). 352 * [3] max_rretries and max_wretries are driver anachronisms. 353 * [4] Data is buffered in the driver and pre-acked to the application. This 354 * is only supported in 2.5.1. 355 */ 356 { /* Structure member Description */ 357 /* ---------------- ----------- */ 358 "Archive/Conner CTDX004 4mm DAT", 359 /* .name Display ("pretty") name */ 360 20, /* .length Length of next item... */ 361 "ARCHIVE Python 28388", /* .vid Vendor-product ID string */ 362 ST_TYPE_PYTHON, /* .type Numeric type (cf. mtio.h) */ 363 0, /* .bsize Block size (0 = variable) */ 364 /* .options Drive option flags: */ 365 ST_VARIABLE | /* 00001 Supports variable length */ 366 ST_BSF | /* 00008 Supports SPACE block fwd */ 367 ST_BSR | /* 00010 Supports SPACE block rev */ 368 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 369 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 370 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 371 ST_SOFT_ERROR_REPORTING | /* 00800 Reports errors on close */ 372 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 373 ST_BUFFERED_WRITES | /* 04000 [Note 4] */ 374 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 375 /* ----- */ 376 /* 0DE39 */ 377 400, /* .max_rretries [Note 3] */ 378 400, /* .max_wretries [Note 3] */ 379 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 380 MT_DENSITY1, /* .default_density (.densities[x]) */ 381 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 382 }, 383 384 /* 385 * Archive Python 4mm 2GB drive 386 * 387 * NOTES 388 * ----- 389 * o This must be the last entry in the list of Python drives, since it 390 * acts as a catch-all for any Python drive not listed above. 391 * 392 * [1] The Archive Python 4mm has only one density, 0x8c (or 0 for "default"). 393 * [2] The Archive Python 4mm has only one speed (if the driver ever cares). 394 * [3] max_rretries and max_wretries are driver anachronisms. 395 * [4] Do a request or log sense on close to report soft errors. 396 */ 397 { /* Structure member Description */ 398 /* ---------------- ----------- */ 399 "Archive Python 4mm Helical Scan", 400 /* .name Display ("pretty") name */ 401 14, /* .length Length of next item... */ 402 "ARCHIVE Python", /* .vid Vendor-product ID string */ 403 ST_TYPE_PYTHON, /* .type Numeric type (cf. mtio.h) */ 404 0, /* .bsize Block size (0 = variable) */ 405 /* .options Drive option flags: */ 406 ST_VARIABLE | /* 00001 Supports variable length */ 407 ST_BSF | /* 00008 Supports SPACE block fwd */ 408 ST_BSR | /* 00010 Supports SPACE block rev */ 409 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 410 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 411 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 412 ST_SOFT_ERROR_REPORTING | /* 00800 Error reporting [Note 4] */ 413 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 414 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 415 /* ----- */ 416 /* 09E39 */ 417 5000, /* .max_rretries [Note 3] */ 418 5000, /* .max_wretries [Note 3] */ 419 {0x00, 0x8C, 0x8C, 0x8C}, /* .densities Density codes [Note 1] */ 420 MT_DENSITY4, /* .default_density (.densities[x]) */ 421 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 422 }, 423 424 /* 425 * Benchmark DLT1 426 * 427 * NOTES 428 * ----- 429 * [1] The DLT1 reads several tape formats, but the st driver supports 430 * only DLT1 native. 431 * [2] The DLT1 has only one speed (if the driver ever cares). 432 * [3] max_rretries and max_wretries are driver anachronisms. 433 * [4] The DLT1 has Density codes that turn on and off compression however 434 * the data compression enable overrides them. 435 */ 436 { /* Structure member Description */ 437 /* ---------------- ----------- */ 438 "Benchmark DLT1", /* .name Display ("pretty") name */ 439 12, /* .length Length of next item... */ 440 "BNCHMARKDLT1", /* .vid Vendor-product ID string */ 441 ST_TYPE_BMDLT1, /* .type Numeric type (cf. mtio.h) */ 442 0, /* .bsize Block size (0 = variable) */ 443 /* .options Drive option flags: */ 444 ST_VARIABLE | /* 00001 Supports variable length */ 445 ST_BSF | /* 00008 Supports SPACE block fwd */ 446 ST_BSR | /* 00010 Supports SPACE block rev */ 447 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 448 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 449 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 450 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 451 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 452 ST_MODE_SEL_COMP, /* 10000 [Note 4] */ 453 /* ----- */ 454 /* 19639 */ 455 -1, /* .max_rretries [Note 3] */ 456 -1, /* .max_wretries [Note 3] */ 457 {0x40, 0x40, 0x40, 0x40}, /* .densities Density codes [Note 1] */ 458 MT_DENSITY4, /* .default_density (.densities[x]) */ 459 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 460 }, 461 462 463 464 /* 465 * CDC 1/2" cartridge 466 * 467 * NOTES 468 * ----- 469 * o This is an unsupported drive. 470 * 471 * [1] The CDC 1/2" cartridge uses 0 or the "default" density code. 472 * [2] The CDC 1/2" cartridge has only one speed (if the driver ever cares). 473 * [3] max_rretries and max_wretries are driver anachronisms. 474 */ 475 { /* Structure member Description */ 476 /* ---------------- ----------- */ 477 "CDC 1/2\" Cartridge", /* .name Display ("pretty") name */ 478 3, /* .length Length of next item... */ 479 "LMS", /* .vid Vendor-product ID string */ 480 ST_TYPE_CDC, /* .type Numeric type (cf. mtio.h) */ 481 0, /* .bsize Block size (0 = variable) */ 482 /* .options Drive option flags: */ 483 ST_VARIABLE | /* 00001 Supports variable length */ 484 ST_QIC | /* 0x002 QIC tape device */ 485 ST_BSF | /* 00008 Supports SPACE block fwd */ 486 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 487 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 488 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 489 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 490 /* ----- */ 491 /* 0066B */ 492 300, /* .max_rretries [Note 3] */ 493 300, /* .max_wretries [Note 3] */ 494 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 495 MT_DENSITY2, /* .default_density (.densities[x]) */ 496 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 497 }, 498 499 /* 500 * Emulex MT-02 controller for 1/4" cartridge 501 * 502 * NOTES 503 * ----- 504 * o The EMULEX MT-02 adheres to CCS level 0, and thus 505 * returns nothing of interest for the INQUIRY command 506 * past the 'response data format' field (which will be 507 * zero). The driver will recognize this and assume that 508 * a drive that so responds is actually an MT-02 (there 509 * is no other way to really do this, awkward as it 510 * may seem). 511 * 512 * o This is an unsupported drive. 513 * 514 * [1] Low density is a vendor unique density code. 515 * This gives us 9 Track QIC-11. Supposedly the MT02 can 516 * read 4 Track QIC-11 while in this mode. If that doesn't 517 * work, change one of the duplicated QIC-24 fields to 0x4. 518 * [2] The MT-02 has only one speed (if the driver ever cares). 519 * [3] max_rretries and max_wretries are driver anachronisms. 520 */ 521 { /* Structure member Description */ 522 /* ---------------- ----------- */ 523 "Emulex MT02 QIC-11/QIC-24", 524 /* .name Display ("pretty") name */ 525 12, /* .length Length of next item... */ 526 "Emulex MT02", /* .vid Vendor-product ID string */ 527 ST_TYPE_EMULEX, /* .type Numeric type (cf. mtio.h) */ 528 512, /* .bsize Block size (0 = variable) */ 529 /* .options Drive option flags: */ 530 ST_QIC | /* 00002 QIC tape device */ 531 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 532 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 533 /* ----- */ 534 /* 00602 */ 535 130, /* .max_rretries [Note 3] */ 536 130, /* .max_wretries [Note 3] */ 537 {0x84, 0x05, 0x05, 0x05}, /* .densities Density codes [Note 1] */ 538 MT_DENSITY2, /* .default_density (.densities[x]) */ 539 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 540 }, 541 542 /* 543 * Exabyte 8900 8mm helical scan drive (also called Mammoth) 544 * 545 * NOTES 546 * ----- 547 * [1] Compression on the 8900 is controlled via the Device Configuration mode 548 * page or the Data Compression page (either one). Even when enabled, the 549 * 8900 automatically disables compression on-the-fly if it determines 550 * that it cannot achieve a reasonable compression ratio on the data. 551 * [2] The 8900 can write in only one format, which is selected overtly by 552 * setting Density Code in the block descriptor to 27h; in addition to 553 * this native format, the 8900 can read tapes written in 8200, 8500 and 554 * 8500-compressed formats. We set the density to 27h at all times: we 555 * _can_ do this because the format is changed automatically to match the 556 * data on any previously-written tape; we _must_ do this to ensure that 557 * never-before-written 8900 AME tapes are written in "8900 format" (all 558 * writes to them in any other format will fail). By establishing 559 * MT_DENSITY4 (corresponding to the "c" and "u" minor devices) as the 560 * default, applications which open '/dev/rmt/x' write compressed data 561 * automatically (but see Note [1]). 562 * [3] The 8900 has only one speed (if the driver ever cares). 563 * [4] max_rretries and max_wretries are driver anachronisms. 564 */ 565 { /* Structure member Description */ 566 /* ---------------- ----------- */ 567 "Mammoth EXB-8900 8mm Helical Scan", 568 /* .name Display ("pretty") name */ 569 16, /* .length Length of next item... */ 570 "EXABYTE EXB-8900", /* .vid Vendor-product ID string */ 571 ST_TYPE_EXB8500, /* .type Numeric type (cf. mtio.h) */ 572 0, /* .bsize Block size (0 = variable) */ 573 /* .options Drive option flags: */ 574 ST_VARIABLE | /* 00001 Supports variable length */ 575 ST_BSF | /* 00008 Supports SPACE block fwd */ 576 ST_BSR | /* 00010 Supports SPACE block rev */ 577 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 578 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 579 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 580 ST_SOFT_ERROR_REPORTING | /* 00800 Reports errors on close */ 581 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 582 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 583 ST_MODE_SEL_COMP, /* 10000 [Note 1] */ 584 /* ----- */ 585 /* 19E39 */ 586 5000, /* .max_rretries [Note 4] */ 587 5000, /* .max_wretries [Note 4] */ 588 {0x27, 0x27, 0x27, 0x27}, /* .densities Density codes [Note 2] */ 589 MT_DENSITY4, /* .default_density (.densities[x]) */ 590 {0, 0, 0, 0} /* .speeds Speed codes [Note 3] */ 591 }, 592 593 /* 594 * Exabyte 8mm 5GB cartridge 595 * 596 * NOTES 597 * ----- 598 * o ST_KNOWS_EOD here will cause medium error messages 599 * 600 * o The string length (16) has been reduced to 15 to allow for other 601 * compatible models (eg the 8505 half-height) (BugTraq #1091196) 602 * 603 * [1] The density code entry requires four values, even if there are less 604 * than four values for the drive. 605 * [2] The Exabyte EXB-8500 has only one speed (if the driver ever cares). 606 * [3] max_rretries and max_wretries are driver anachronisms. 607 */ 608 { /* Structure member Description */ 609 /* ---------------- ----------- */ 610 "Exabyte EXB-8500 8mm Helical Scan", 611 /* .name Display ("pretty") name */ 612 15, /* .length Length of next item... */ 613 "EXABYTE EXB-850*", /* .vid Vendor-product ID string */ 614 ST_TYPE_EXB8500, /* .type Numeric type (cf. mtio.h) */ 615 0, /* .bsize Block size (0 = variable) */ 616 /* .options Drive option flags: */ 617 ST_VARIABLE | /* 00001 Supports variable length */ 618 ST_BSF | /* 00008 Supports SPACE block fwd */ 619 ST_BSR | /* 00010 Supports SPACE block rev */ 620 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 621 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 622 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 623 ST_SOFT_ERROR_REPORTING | /* 00800 Reports errors on close */ 624 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 625 /* ----- */ 626 /* 08E39 */ 627 5000, /* .max_rretries [Note 3] */ 628 5000, /* .max_wretries [Note 3] */ 629 {0x14, 0x15, 0x8C, 0x8C}, /* .densities Density codes [Note 1] */ 630 MT_DENSITY2, /* .default_density (.densities[x]) */ 631 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 632 }, 633 634 /* 635 * Exabyte 8mm 2GB cartridge 636 * 637 * NOTES 638 * ----- 639 * [1] The Exabyte EXB-8200 uses 0 or the "default" density code. 640 * [2] The Exabyte EXB-8200 has only one speed (if the driver ever cares). 641 * [3] max_rretries and max_wretries are driver anachronisms. 642 * [4] Do a request or log sense on close to report soft errors. 643 */ 644 { /* Structure member Description */ 645 /* ---------------- ----------- */ 646 "Exabyte EXB-8200 8mm Helical Scan", 647 /* .name Display ("pretty") name */ 648 16, /* .length Length of next item... */ 649 "EXABYTE EXB-8200", /* .vid Vendor-product ID string */ 650 ST_TYPE_EXABYTE, /* .type Numeric type (cf. mtio.h) */ 651 0, /* .bsize Block size (0 = variable) */ 652 /* .options Drive option flags: */ 653 ST_VARIABLE | /* 00001 Supports variable length */ 654 ST_BSF | /* 00008 Supports SPACE block fwd */ 655 ST_BSR | /* 00010 Supports SPACE block rev */ 656 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 657 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 658 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 659 ST_SOFT_ERROR_REPORTING | /* 00800 Error reporting [Note 4] */ 660 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 661 /* ----- */ 662 /* 08C79 */ 663 5000, /* .max_rretries [Note 3] */ 664 5000, /* .max_wretries [Note 3] */ 665 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 666 MT_DENSITY2, /* .default_density (.densities[x]) */ 667 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 668 }, 669 670 /* 671 * Exabyte DC-2000 cartridge 672 * 673 * NOTES 674 * ----- 675 * o This is an unsupported drive. 676 * 677 * o This entry uses a shortened Vendor-product ID string for the 678 * INQUIRY match. 679 * 680 * [1] The Exabyte DC-2000 uses 0 or the "default" density. 681 * [2] The Exabyte DC-2000 has only one speed (if the driver ever cares). 682 * [3] max_rretries and max_wretries are driver anachronisms. 683 */ 684 { /* Structure member Description */ 685 /* ---------------- ----------- */ 686 "Exabyte EXB-2501 QIC", /* .name Display ("pretty") name */ 687 14, /* .length Length of next item... */ 688 "EXABYTE EXB-25**", /* .vid Vendor-product ID string */ 689 ST_TYPE_EXABYTE, /* .type Numeric type (cf. mtio.h) */ 690 1024, /* .bsize Block size (0 = variable) */ 691 /* .options Drive option flags: */ 692 ST_QIC | /* 00002 QIC tape device */ 693 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 694 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 695 /* ----- */ 696 /* 00442 */ 697 400, /* .max_rretries [Note 3] */ 698 400, /* .max_wretries [Note 3] */ 699 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 700 MT_DENSITY2, /* .default_density (.densities[x]) */ 701 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 702 }, 703 704 /* 705 * EXABYTE 4mm Helical Scan 706 * 707 * NOTES 708 * ----- 709 * 710 * o This entry uses a shortened Vendor-product ID string for the 711 * INQUIRY match. 712 * 713 * [1] The EXABYTE 4mm uses 0 or the "default" density code. 714 * [2] The EXABYTE 4mm has only one speed (if the driver ever cares). 715 * [3] max_rretries and max_wretries are driver anachronisms. 716 */ 717 { /* Structure member Description */ 718 /* ---------------- ----------- */ 719 "Exabyte 4mm Helical Scan", 720 /* .name Display ("pretty") name */ 721 15, /* .length Length of next item... */ 722 "EXABYTE EXB-420*", /* .vid Vendor-product ID string */ 723 ST_TYPE_EXABYTE, /* .type Numeric type (cf. mtio.h) */ 724 0, /* .bsize Block size (0 = variable) */ 725 /* .options Drive option flags: */ 726 ST_VARIABLE | /* 00001 Supports variable length */ 727 ST_BSF | /* 00008 Supports SPACE block fwd */ 728 ST_BSR | /* 00010 Supports SPACE block rev */ 729 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 730 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 731 /* ----- */ 732 /* 00439 */ 733 400, /* .max_rretries [Note 3] */ 734 400, /* .max_wretries [Note 3] */ 735 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 736 MT_DENSITY2, /* .default_density (.densities[x]) */ 737 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 738 }, 739 740 /* 741 * Fujitsu 1/2" cartridge 742 * 743 * NOTES 744 * ----- 745 * o This is an unsupported drive. 746 * 747 * [1] The Fujitsu 1/2" drive uses 0 or the "default" density code. 748 * [2] The Fujitsu 1/2" drive has only one speed (if the driver ever cares). 749 * [3] max_rretries and max_wretries are driver anachronisms. 750 */ 751 { /* Structure member Description */ 752 /* ---------------- ----------- */ 753 "Fujitsu 1/2\" Cartridge",/* .name Display ("pretty") name */ 754 2, /* .length Length of next item... */ 755 "\076\000", /* .vid Vendor-product ID string */ 756 ST_TYPE_FUJI, /* .type Numeric type (cf. mtio.h) */ 757 0, /* .bsize Block size (0 = variable) */ 758 /* .options Drive option flags: */ 759 ST_VARIABLE | /* 00001 Supports variable length */ 760 ST_QIC | /* 00002 QIC tape device */ 761 ST_BSF | /* 00008 Supports SPACE block fwd */ 762 ST_BSR | /* 00010 Supports SPACE block rev */ 763 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 764 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 765 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 766 /* ----- */ 767 /* 0063B */ 768 300, /* .max_rretries [Note 3] */ 769 300, /* .max_wretries [Note 3] */ 770 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 771 MT_DENSITY2, /* .default_density (.densities[x]) */ 772 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 773 }, 774 775 /* 776 * HP 1/2" reel 777 * 778 * NOTES 779 * ----- 780 * [1] The HP 1/2" reel uses the vendor unique density '0xC3': 781 * this is compressed 6250 mode. Beware that using large 782 * data sets consisting of repeated data compresses *too* 783 * well and one can run into the unix 2 gb file offset limit 784 * this way. 785 * [2] The HP 1/2" reel has only one speed (if the driver ever cares). 786 * [3] max_rretries and max_wretries are driver anachronisms. 787 */ 788 { /* Structure member Description */ 789 /* ---------------- ----------- */ 790 "HP-88780 1/2\" Reel", /* .name Display ("pretty") name */ 791 13, /* .length Length of next item... */ 792 "HP 88780", /* .vid Vendor-product ID string */ 793 ST_TYPE_HP, /* .type Numeric type (cf. mtio.h) */ 794 0, /* .bsize Block size (0 = variable) */ 795 /* .options Drive option flags: */ 796 ST_VARIABLE | /* 00001 Supports variable length */ 797 ST_REEL | /* 00004 1/2-inch reel tape device */ 798 ST_BSF | /* 00008 Supports SPACE block fwd */ 799 ST_BSR | /* 00010 Supports SPACE block rev */ 800 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 801 /* ----- */ 802 /* 0041D */ 803 400, /* .max_rretries [Note 3] */ 804 400, /* .max_wretries [Note 3] */ 805 {0x01, 0x02, 0x03, 0xC3}, /* .densities Density codes [Note 1] */ 806 MT_DENSITY2, /* .default_density (.densities[x]) */ 807 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 808 }, 809 810 /* 811 * HP 35470A 4mm DAT 812 * 813 * NOTES 814 * ----- 815 * o This is an unsupported drive. 816 * 817 * [1] The HP 35470A uses 0 or the "default" density code. 818 * [2] The HP 35470A has only one speed (if the driver ever cares). 819 * [3] max_rretries and max_wretries are driver anachronisms. 820 */ 821 { /* Structure member Description */ 822 /* ---------------- ----------- */ 823 "HP 35470A 4mm DAT", /* .name Display ("pretty") name */ 824 16, /* .length Length of next item... */ 825 "HP HP35470A", /* .vid Vendor-product ID string */ 826 ST_TYPE_DAT, /* .type Numeric type (cf. mtio.h) */ 827 0, /* .bsize Block size (0 = variable) */ 828 /* .options Drive option flags: */ 829 ST_VARIABLE | /* 00001 Supports variable length */ 830 ST_BSF | /* 00008 Supports SPACE block fwd */ 831 ST_BSR | /* 00010 Supports SPACE block rev */ 832 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 833 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 834 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 835 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 836 ST_LONG_TIMEOUTS, /* 01000 More time for some ops */ 837 /* ----- */ 838 /* 01679 */ 839 400, /* .max_rretries [Note 3] */ 840 400, /* .max_wretries [Note 3] */ 841 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 842 MT_DENSITY2, /* .default_density (.densities[x]) */ 843 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 844 }, 845 846 /* 847 * HP 35480A 4mm DAT 848 * 849 * NOTES 850 * ----- 851 * o This is an unsupported drive. 852 * 853 * [1] The HP 35480A uses 0 or the "default" density code. 854 * [2] The HP 35480A has only one speed (if the driver ever cares). 855 * [3] max_rretries and max_wretries are driver anachronisms. 856 */ 857 { /* Structure member Description */ 858 /* ---------------- ----------- */ 859 "HP 35480A 4mm DAT", /* .name Display ("pretty") name */ 860 16, /* .length Length of next item... */ 861 "HP HP35480A", /* .vid Vendor-product ID string */ 862 ST_TYPE_DAT, /* .type Numeric type (cf. mtio.h) */ 863 0, /* .bsize Block size (0 = variable) */ 864 /* .options Drive option flags: */ 865 ST_VARIABLE | /* 00001 Supports variable length */ 866 ST_BSF | /* 00008 Supports SPACE block fwd */ 867 ST_BSR | /* 00010 Supports SPACE block rev */ 868 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 869 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 870 /* ----- */ 871 /* 00439 */ 872 400, /* .max_rretries [Note 1] */ 873 400, /* .max_wretries [Note 1] */ 874 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 2] */ 875 MT_DENSITY2, /* .default_density (.densities[x]) */ 876 {0, 0, 0, 0} /* .speeds Speed codes [Note 3] */ 877 }, 878 879 /* 880 * HP JetStore 6000 C1533 881 * 882 * NOTES 883 * ----- 884 * o This is only supported for x86. 885 * 886 * [1] The HP JetStore 6000 uses 0 or the "default" density code. 887 * [2] The HP JetStore 6000 has only one speed (if the driver ever cares). 888 * [3] max_rretries and max_wretries are driver anachronisms. 889 */ 890 { /* Structure member Description */ 891 /* ---------------- ----------- */ 892 "HP JetStore 6000 C1533", /* .name Display ("pretty") name */ 893 14, /* .length Length of next item... */ 894 "HP C1533A", /* .vid Vendor-product ID string */ 895 ST_TYPE_DAT, /* .type Numeric type (cf. mtio.h) */ 896 0, /* .bsize Block size (0 = variable) */ 897 /* .options Drive option flags: */ 898 ST_VARIABLE | /* 00001 Supports variable length */ 899 ST_BSF | /* 00008 Supports SPACE block fwd */ 900 ST_BSR | /* 00010 Supports SPACE block rev */ 901 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 902 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 903 /* ----- */ 904 /* 00639 */ 905 400, /* .max_rretries [Note 3] */ 906 400, /* .max_wretries [Note 3] */ 907 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 908 MT_DENSITY2, /* .default_density (.densities[x]) */ 909 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 910 }, 911 912 /* 913 * HP DDS-3 4mm DAT 914 * 915 * NOTES 916 * ----- 917 * o This is an unsupported drive. 918 * 919 * [1] Compression on the HP DDS-3 is controlled 920 * via the Device Configuration mode page. 921 * [2] The HP DDS-3 has only one density, 0x8c (or 0 for "default"). 922 * [3] The HP DDS-3 has only one speed (if the driver ever cares). 923 * [4] max_rretries and max_wretries are driver anachronisms. 924 */ 925 { /* Structure member Description */ 926 /* ---------------- ----------- */ 927 "HP DDS-3 4MM DAT", /* .name Display ("pretty") name */ 928 14, /* .length Length of next item... */ 929 "HP C1537A", /* .vid Vendor-product ID string */ 930 MT_ISDAT, /* .type Numeric type (cf. mtio.h) */ 931 0, /* .bsize Block size (0 = variable) */ 932 /* .options Drive option flags: */ 933 ST_VARIABLE | /* 00001 Supports variable length */ 934 ST_BSF | /* 00008 Supports SPACE block fwd */ 935 ST_BSR | /* 00010 Supports SPACE block rev */ 936 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 937 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 938 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 939 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 940 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 941 /* ----- */ 942 /* 09639 */ 943 400, /* .max_rretries [Note 4] */ 944 400, /* .max_wretries [Note 4] */ 945 {0x00, 0x8C, 0x8C, 0x8C}, /* .densities Density codes [Note 2] */ 946 MT_DENSITY2, /* .default_density (.densities[x]) */ 947 {0, 0, 0, 0} /* .speeds Speed codes [Note 3] */ 948 }, 949 950 /* 951 * HP DDS-3 4mm DAT loader 952 * 953 * NOTES 954 * ----- 955 * o This is an unsupported drive. 956 * 957 * [1] Compression on the DDS-3 Loader is controlled 958 * via the Device Configuration mode page. 959 * [2] The DDS-3 Loader has only one density, 0x8c (or 0 for "default"). 960 * [3] The DDS-3 Loader has only one speed (if the driver ever cares). 961 * [4] max_rretries and max_wretries are driver anachronisms. 962 */ 963 { /* Structure member Description */ 964 /* ---------------- ----------- */ 965 "HP DDS-3 4MM DAT loader",/* .name Display ("pretty") name */ 966 14, /* .length Length of next item... */ 967 "HP C1557A", /* .vid Vendor-product ID string */ 968 MT_ISDAT, /* .type Numeric type (cf. mtio.h) */ 969 0, /* .bsize Block size (0 = variable) */ 970 /* .options Drive option flags: */ 971 ST_VARIABLE | /* 00001 Supports variable length */ 972 ST_BSF | /* 00008 Supports SPACE block fwd */ 973 ST_BSR | /* 00010 Supports SPACE block rev */ 974 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 975 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 976 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 977 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 978 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 979 /* ----- */ 980 /* 09639 */ 981 400, /* .max_rretries [Note 4] */ 982 400, /* .max_wretries [Note 4] */ 983 {0x00, 0x8C, 0x8C, 0x8C}, /* .densities Density codes [Note 2] */ 984 MT_DENSITY2, /* .default_density (.densities[x]) */ 985 {0, 0, 0, 0} /* .speeds Speed codes [Note 3] */ 986 }, 987 988 /* 989 * HP C5683A DDS-4 DAT drives with Sun-specific behavior 990 * 991 * When the configuration switches on the drive are set appropriately, the 992 * HP C5683A: interprets a density code of 8Ch to mean "enable compression", 993 * 00h to mean "disable compression"; senses the tape type automatically; 994 * adjusts to match the tape type. (That is, compression is controlled via 995 * the Sun-unique 8Ch density code, rather than using the Data Compression 996 * mode page). 997 * 998 * NOTES 999 * ----- 1000 * [1] 00h = compression disabled, 8Ch = compression enabled, and all DDS-x 1001 * format-related adjustments are performed automatically by the drive. 1002 * [2] The 5683 has only one speed (if the driver ever cares). 1003 * [3] max_rretries and max_wretries are driver anachronisms. 1004 */ 1005 { /* Structure member Description */ 1006 /* ---------------- ----------- */ 1007 "HP DDS-4 DAT (Sun)", /* .name Display ("pretty") name */ 1008 14, /* .length Length of next item... */ 1009 "HP C5683A", /* .vid Vendor-product ID string */ 1010 MT_ISDAT, /* .type Numeric type (cf. mtio.h) */ 1011 0, /* .bsize Block size (0 = variable) */ 1012 /* .options Drive option flags: */ 1013 ST_VARIABLE | /* 00001 Supports variable length */ 1014 ST_BSF | /* 00008 Supports SPACE block fwd */ 1015 ST_BSR | /* 00010 Supports SPACE block rev */ 1016 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 1017 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1018 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1019 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 1020 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 1021 /* ----- */ 1022 /* 09639 */ 1023 -1, /* .max_rretries [Note 3] */ 1024 -1, /* .max_wretries [Note 3] */ 1025 {0x00, 0x8C, 0x8C, 0x8C}, /* .densities Density codes [Note 1] */ 1026 MT_DENSITY2, /* .default_density (.densities[x]) */ 1027 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 1028 }, 1029 1030 /* 1031 * HP C5713A DDS-4 DAT autochangers with Sun-specific behavior 1032 * 1033 * When the configuration switches on the drive are set appropriately, the 1034 * HP C5713A: interprets a density code of 8Ch to mean "enable compression", 1035 * 00h to mean "disable compression"; senses the tape type automatically; 1036 * adjusts to match the tape type. (That is, compression is controlled via 1037 * the Sun-unique 8Ch density code, rather than using the Data Compression 1038 * mode page). 1039 * 1040 * NOTES 1041 * ----- 1042 * [1] 00h = compression disabled, 8Ch = compression enabled, and all DDS-x 1043 * format-related adjustments are performed automatically by the drive. 1044 * [2] The 5713 has only one speed (if the driver ever cares). 1045 * [3] max_rretries and max_wretries are driver anachronisms. 1046 */ 1047 { /* Structure member Description */ 1048 /* ---------------- ----------- */ 1049 "HP DDS-4 DAT (Sun)", /* .name Display ("pretty") name */ 1050 14, /* .length Length of next item... */ 1051 "HP C5713A", /* .vid Vendor-product ID string */ 1052 MT_ISDAT, /* .type Numeric type (cf. mtio.h) */ 1053 0, /* .bsize Block size (0 = variable) */ 1054 /* .options Drive option flags: */ 1055 ST_VARIABLE | /* 00001 Supports variable length */ 1056 ST_BSF | /* 00008 Supports SPACE block fwd */ 1057 ST_BSR | /* 00010 Supports SPACE block rev */ 1058 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 1059 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1060 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1061 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 1062 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 1063 /* ----- */ 1064 /* 09639 */ 1065 -1, /* .max_rretries [Note 3] */ 1066 -1, /* .max_wretries [Note 3] */ 1067 {0x00, 0x8C, 0x8C, 0x8C}, /* .densities Density codes [Note 1] */ 1068 MT_DENSITY2, /* .default_density (.densities[x]) */ 1069 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 1070 }, 1071 1072 /* 1073 * HP C7438A 1074 */ 1075 { /* Structure member Description */ 1076 /* ---------------- ----------- */ 1077 "HP DAT-72", /* .name Display ("pretty") name */ 1078 14, /* .length Length of next item... */ 1079 "HP C7438A", /* .vid Vendor-product ID string */ 1080 MT_ISDAT, /* .type Numeric type (cf. mtio.h) */ 1081 0, /* .bsize Block size (0 = variable) */ 1082 /* .options Drive option flags: */ 1083 ST_VARIABLE | /* 00001 Supports variable length */ 1084 ST_BSF | /* 00008 Supports SPACE block fwd */ 1085 ST_BSR | /* 00010 Supports SPACE block rev */ 1086 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1087 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1088 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1089 ST_MODE_SEL_COMP, /* 10000 Mode select compression */ 1090 /* ----- */ 1091 /* 18619 */ 1092 -1, /* .max_rretries Not Used */ 1093 -1, /* .max_wretries Not Used */ 1094 {0x47, 0x47, 0x47, 0x47}, /* .densities Density codes */ 1095 MT_DENSITY4, /* .default_density (.densities[x]) */ 1096 {0, 0, 0, 0}, /* .speeds Speed codes Not Used */ 1097 0, /* .non_motion_timeout Nothing Special */ 1098 MINUTES(7), /* .io_timeout 7 minutes (recover read) */ 1099 0, /* .rewind_timeout Nothing Special */ 1100 MINUTES(600), /* .space_timeout 10 Hours (space seq file)*/ 1101 0, /* .load_timeout Nothing Special */ 1102 0, /* .unload_timeout Nothing Special */ 1103 MINUTES(290) /* .erase_timeout 4 hours 50 minutes */ 1104 }, 1105 1106 /* 1107 * HP DAT-160 1108 */ 1109 { /* Structure member Description */ 1110 /* ---------------- ----------- */ 1111 "HP DDS-6 DAT", /* .name Display ("pretty") name */ 1112 14, /* .length Length of next item... */ 1113 "HP DAT160", /* .vid Vendor-product ID string */ 1114 MT_ISDAT, /* .type Numeric type (cf. mtio.h) */ 1115 0, /* .bsize Block size (0 = variable) */ 1116 /* .options Drive option flags: */ 1117 ST_VARIABLE | /* 00001 Supports variable length */ 1118 ST_BSF | /* 00008 Supports SPACE block fwd */ 1119 ST_BSR | /* 00010 Supports SPACE block rev */ 1120 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1121 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1122 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1123 ST_MODE_SEL_COMP | /* 10000 Mode select compression */ 1124 ST_WORMABLE, /* 1000000 Drive is WORM capable */ 1125 /* ------- */ 1126 /* 1018619 */ 1127 -1, /* .max_rretries Not Used */ 1128 -1, /* .max_wretries Not Used */ 1129 {0x48, 0x48, 0x48, 0x48}, /* .densities Density codes */ 1130 MT_DENSITY4, /* .default_density (.densities[x]) */ 1131 {0, 0, 0, 0}, /* .speeds Speed codes Not Used */ 1132 0, /* .non_motion_timeout Nothing Special */ 1133 MINUTES(5), /* .io_timeout */ 1134 MINUTES(10), /* .rewind_timeout */ 1135 MINUTES(20), /* .space_timeout */ 1136 MINUTES(10), /* .load_timeout */ 1137 MINUTES(10), /* .unload_timeout */ 1138 MINUTES(300) /* .erase_timeout 5 hours */ 1139 }, 1140 1141 /* 1142 * HP Ultrium LTO Gen 4 1143 * [1] This drive supports two densites at this time. 1144 * In reality the type of media GEN 3 or GEN 4 selects the density. 1145 * ST_MODE_SEL_COMP controls compression. 1146 * [2] The Ultrium LTO has one speed. 1147 * [3] max_rretries and max_wretries are not used but kept for 1148 * backward compatibility. 1149 */ 1150 { /* Structure member Description */ 1151 /* ---------------- ----------- */ 1152 "HP Ultrium LTO 4", /* .name Display ("pretty") name */ 1153 17, /* .length Length of next item... */ 1154 "HP Ultrium 4*", /* .vid handles SCSI or FC */ 1155 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 1156 0, /* .bsize Block size (0 = variable) */ 1157 /* .options Drive option flags: */ 1158 ST_VARIABLE | /* 0000001 Supports variable length */ 1159 ST_BSF | /* 0000008 Supports SPACE block fwd */ 1160 ST_BSR | /* 0000010 Supports SPACE block rev */ 1161 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 1162 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 1163 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 1164 ST_MODE_SEL_COMP | /* 0010000 Mode select compression */ 1165 ST_WORMABLE, /* 1000000 Drive is WORM capable */ 1166 /* ------- */ 1167 /* 1018619 */ 1168 -1, /* .max_rretries [Note 3] */ 1169 -1, /* .max_wretries [Note 3] */ 1170 {0x44, 0x44, 0x46, 0x46}, /* .densities Density codes [Note 1] */ 1171 MT_DENSITY4, /* .default_density (.densities[x]) */ 1172 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 1173 MINUTES(1), /* .non_motion_timeout */ 1174 MINUTES(20), /* .io_timeout */ 1175 MINUTES(10), /* .rewind_timeout */ 1176 MINUTES(20), /* .space_timeout */ 1177 MINUTES(10), /* .load_timeout */ 1178 MINUTES(10), /* .unload_timeout */ 1179 MINUTES(300) /* .erase_timeout Five Hours */ 1180 }, 1181 1182 /* 1183 * HP Ultrium LTO Gen 3 1184 * [1] This drive supports two densites at this time. 1185 * In reality the type of media GEN 2 or GEN 3 selects the density. 1186 * ST_MODE_SEL_COMP controls compression. 1187 * [2] The Ultrium LTO has one speed. 1188 * [3] max_rretries and max_wretries are not used but kept for 1189 * backward compatibility. 1190 */ 1191 { /* Structure member Description */ 1192 /* ---------------- ----------- */ 1193 "HP Ultrium LTO 3", /* .name Display ("pretty") name */ 1194 17, /* .length Length of next item... */ 1195 "HP Ultrium 3*", /* .vid handles SCSI or FC */ 1196 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 1197 0, /* .bsize Block size (0 = variable) */ 1198 /* .options Drive option flags: */ 1199 ST_VARIABLE | /* 0000001 Supports variable length */ 1200 ST_BSF | /* 0000008 Supports SPACE block fwd */ 1201 ST_BSR | /* 0000010 Supports SPACE block rev */ 1202 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 1203 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 1204 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 1205 ST_MODE_SEL_COMP | /* 0010000 Mode select compression */ 1206 ST_WORMABLE, /* 1000000 Drive is WORM capable */ 1207 /* ------- */ 1208 /* 1018619 */ 1209 -1, /* .max_rretries [Note 3] */ 1210 -1, /* .max_wretries [Note 3] */ 1211 {0x42, 0x42, 0x44, 0x44}, /* .densities Density codes [Note 1] */ 1212 MT_DENSITY4, /* .default_density (.densities[x]) */ 1213 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 1214 MINUTES(1), /* .non_motion_timeout */ 1215 MINUTES(20), /* .io_timeout */ 1216 MINUTES(10), /* .rewind_timeout */ 1217 MINUTES(20), /* .space_timeout */ 1218 MINUTES(10), /* .load_timeout */ 1219 MINUTES(10), /* .unload_timeout */ 1220 MINUTES(300) /* .erase_timeout Five Hours */ 1221 }, 1222 1223 /* 1224 * HP Ultrium LTO Gen 2 1225 * [1] This drive supports two densites at this time. 1226 * In reality the type of media GEN 1 or GEN 2 selects the density. 1227 * ST_MODE_SEL_COMP controls compression. 1228 * [2] The Ultrium LTO has one speed. 1229 * [3] max_rretries and max_wretries are not used but kept for 1230 * backward compatibility. 1231 */ 1232 { /* Structure member Description */ 1233 /* ---------------- ----------- */ 1234 "HP Ultrium LTO 2", /* .name Display ("pretty") name */ 1235 17, /* .length Length of next item... */ 1236 "HP Ultrium 2*", /* .vid handles SCSI or FC */ 1237 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 1238 0, /* .bsize Block size (0 = variable) */ 1239 /* .options Drive option flags: */ 1240 ST_VARIABLE | /* 00001 Supports variable length */ 1241 ST_BSF | /* 00008 Supports SPACE block fwd */ 1242 ST_BSR | /* 00010 Supports SPACE block rev */ 1243 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1244 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1245 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1246 ST_MODE_SEL_COMP, /* 10000 Mode select compression */ 1247 /* ----- */ 1248 /* 18619 */ 1249 -1, /* .max_rretries [Note 3] */ 1250 -1, /* .max_wretries [Note 3] */ 1251 {0x40, 0x40, 0x42, 0x42}, /* .densities Density codes [Note 1] */ 1252 MT_DENSITY4, /* .default_density (.densities[x]) */ 1253 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 1254 MINUTES(1), /* .non_motion_timeout */ 1255 MINUTES(5), /* .io_timeout Four */ 1256 MINUTES(10), /* .rewind_timeout */ 1257 MINUTES(20), /* .space_timeout */ 1258 MINUTES(10), /* .load_timeout */ 1259 MINUTES(10), /* .unload_timeout */ 1260 MINUTES(300) /* .erase_timeout Five Hours */ 1261 }, 1262 1263 /* 1264 * HP Ultrium LTO 1265 * [1] This drive supports only one density at this time. 1266 ST_MODE_SEL_COMP controls compression. 1267 * [2] The Ultrium LTO has one speed. 1268 * [3] max_rretries and max_wretries are not used but kept for 1269 * backward compatibility. 1270 */ 1271 { /* Structure member Description */ 1272 /* ---------------- ----------- */ 1273 "HP Ultrium LTO", /* .name Display ("pretty") name */ 1274 17, /* .length Length of next item... */ 1275 "HP Ultrium 1*", /* .vid handles SCSI and FC */ 1276 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 1277 0, /* .bsize Block size (0 = variable) */ 1278 /* .options Drive option flags: */ 1279 ST_VARIABLE | /* 00001 Supports variable length */ 1280 ST_BSF | /* 00008 Supports SPACE block fwd */ 1281 ST_BSR | /* 00010 Supports SPACE block rev */ 1282 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1283 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1284 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1285 ST_MODE_SEL_COMP, /* 10000 Mode select compression */ 1286 /* ----- */ 1287 /* 18619 */ 1288 -1, /* .max_rretries [Note 3] */ 1289 -1, /* .max_wretries [Note 3] */ 1290 {0x40, 0x40, 0x40, 0x40}, /* .densities Density codes [Note 1] */ 1291 MT_DENSITY4, /* .default_density (.densities[x]) */ 1292 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 1293 MINUTES(1), /* .non_motion_timeout */ 1294 MINUTES(5), /* .io_timeout Four */ 1295 MINUTES(10), /* .rewind_timeout */ 1296 MINUTES(20), /* .space_timeout */ 1297 MINUTES(10), /* .load_timeout */ 1298 MINUTES(10), /* .unload_timeout */ 1299 MINUTES(300) /* .erase_timeout Five Hours */ 1300 }, 1301 1302 /* 1303 * Kennedy 1/2" reel 1304 * 1305 * NOTES 1306 * ----- 1307 * o This is an unsupported drive. 1308 * 1309 * o This entry uses a shortened Vendor-product ID string for the 1310 * INQUIRY match. 1311 * 1312 * [1] The density code entry requires four values, even if there are less 1313 * than four values for the drive. 1314 * [2] The Kennedy 1/2" reel has only one speed (if the driver ever cares). 1315 * [3] max_rretries and max_wretries are driver anachronisms. 1316 */ 1317 { /* Structure member Description */ 1318 /* ---------------- ----------- */ 1319 "Kennedy 1/2\" Reel", /* .name Display ("pretty") name */ 1320 4, /* .length Length of next item... */ 1321 "KENN***", /* .vid Vendor-product ID string */ 1322 ST_TYPE_KENNEDY, /* .type Numeric type (cf. mtio.h) */ 1323 0, /* .bsize Block size (0 = variable) */ 1324 /* .options Drive option flags: */ 1325 ST_VARIABLE | /* 00001 Supports variable length */ 1326 ST_REEL | /* 00004 1/2-inch reel tape device */ 1327 ST_BSF | /* 00008 Supports SPACE block fwd */ 1328 ST_BSR | /* 00010 Supports SPACE block rev */ 1329 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 1330 /* ----- */ 1331 /* 0041D */ 1332 400, /* .max_rretries [Note 3] */ 1333 400, /* .max_wretries [Note 3] */ 1334 {0x01, 0x02, 0x03, 0x03}, /* .densities Density codes [Note 1] */ 1335 MT_DENSITY2, /* .default_density (.densities[x]) */ 1336 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 1337 }, 1338 1339 /* 1340 * M4 Data Systems 9303 transport with 9700 512k i/f 1341 * 1342 * NOTES 1343 * ----- 1344 * o The M4 Data 9303 is in non-buffered mode because it doesn't 1345 * flush the buffer at end of tape writes. If you don't care 1346 * about end of tape conditions (e.g., you use dump(8) which 1347 * cannot handle end-of-tape anyhow), take out the ST_NOBUF. 1348 * 1349 * o This is an unsupported drive. 1350 * 1351 * [1] The density code entry requires four values, even if there are less 1352 * than four values for the drive. 1353 * [2] The M4 Data has only one speed (if the driver ever cares). 1354 * [3] max_rretries and max_wretries are driver anachronisms. 1355 */ 1356 { /* Structure member Description */ 1357 /* ---------------- ----------- */ 1358 "M4-Data 1/2\" Reel", /* .name Display ("pretty") name */ 1359 19, /* .length Length of next item... */ 1360 "M4 DATA 123107 SCSI", /* .vid Vendor-product ID string */ 1361 ST_TYPE_REEL, /* .type Numeric type (cf. mtio.h) */ 1362 0, /* .bsize Block size (0 = variable) */ 1363 /* .options Drive option flags: */ 1364 ST_VARIABLE | /* 00001 Supports variable length */ 1365 ST_REEL | /* 00004 1/2-inch reel tape device */ 1366 ST_BSF | /* 00008 Supports SPACE block fwd */ 1367 ST_BSR | /* 00010 Supports SPACE block rev */ 1368 ST_NOBUF | /* 00080 Don't use buffered mode. */ 1369 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 1370 /* ----- */ 1371 /* 0049D */ 1372 500, /* .max_rretries [Note 3] */ 1373 500, /* .max_wretries [Note 3] */ 1374 {0x01, 0x02, 0x06, 0x06}, /* .densities Density codes [Note 1] */ 1375 MT_DENSITY2, /* .default_density (.densities[x]) */ 1376 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 1377 }, 1378 1379 /* 1380 * Quantum VS 160 1381 * 1382 * Notes 1383 * [1] The VS160 reads several formats which the drive autodetects. 1384 * It can write only in VS160 format so all densities set ro 0x50. 1385 * [2] The speed field is not used and the VS160's speed is not setable. 1386 * [3] Retry counts are not used any more and set to -1. 1387 */ 1388 { /* Structure member Description */ 1389 /* ---------------- ----------- */ 1390 "Quantum VS160", /* .name Display ("pretty") name */ 1391 17, /* .length Length of next item... */ 1392 "QUANTUM DLT VS160", /* .vid Vendor-product ID string */ 1393 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1394 0, /* .bsize Block size (0 = variable) */ 1395 /* .options Drive option flags: */ 1396 ST_VARIABLE | /* 00001 Supports variable length */ 1397 ST_BSF | /* 00008 Supports SPACE block fwd */ 1398 ST_BSR | /* 00010 Supports SPACE block rev */ 1399 ST_AUTODEN_OVERRIDE | /* 00040 Has only one density */ 1400 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1401 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1402 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1403 ST_MODE_SEL_COMP, /* 10000 Uses Mode select Compress */ 1404 /* -------- */ 1405 /* 00018659 */ 1406 -1, /* .max_rretries [Note 3] */ 1407 -1, /* .max_wretries [Note 3] */ 1408 {0x50, 0x50, 0x50, 0x50}, /* .densities [Note 1] */ 1409 MT_DENSITY4, /* .default_density (.densities[x]) */ 1410 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 1411 MINUTES(2), /* .non_motion_timeout Nothing special */ 1412 MINUTES(15), /* .io_timeout First write to new tape */ 1413 MINUTES(15), /* .rewind_timeout 15 minutes */ 1414 MINUTES(15), /* .space_timeout 15 minutes */ 1415 MINUTES(15), /* .load_timeout read catalog */ 1416 MINUTES(15), /* .unload_timeout write catalog + unthread */ 1417 MINUTES(180) /* .erase_timeout 3 hours */ 1418 }, 1419 /* 1420 * Quantum Super DLT600 1421 * 1422 * NOTES 1423 * ----- 1424 * 1425 * [1] The Super DLT 600 supports many tape formats, Most are media selected. 1426 * Previous DLT drives had density codes for compress and non-compress, 1427 This drive uses mode select to control compression. 1428 * [2] The Super DLT has only one speed (if the driver ever cares). 1429 * [3] max_rretries and max_wretries are driver anachronisms. 1430 */ 1431 { /* Structure member Description */ 1432 /* ---------------- ----------- */ 1433 "Quantum Super DLT 600", /* .name Display ("pretty") name */ 1434 15, /* .length Length of next item... */ 1435 "QUANTUM SDLT600", /* .vid Vendor-product ID string */ 1436 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1437 0, /* .bsize Block size (0 = variable) */ 1438 /* .options Drive option flags: */ 1439 ST_VARIABLE | /* 0000001 Supports variable length */ 1440 ST_BSF | /* 0000008 Supports SPACE block fwd */ 1441 ST_BSR | /* 0000010 Supports SPACE block rev */ 1442 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 1443 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 1444 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 1445 ST_MODE_SEL_COMP | /* 0010000 Uses Mode select Compress */ 1446 ST_WORMABLE, /* 1000000 Is capable of WORM */ 1447 /* ------- */ 1448 /* 1018619 */ 1449 -1, /* .max_rretries [Note 3] */ 1450 -1, /* .max_wretries [Note 3] */ 1451 {0x4a, 0x4a, 0x4a, 0x4a}, /* .densities [Note 1] */ 1452 MT_DENSITY4, /* .default_density (.densities[x]) */ 1453 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 1454 0, /* .non_motion_timeout Nothing special */ 1455 MINUTES(60), /* .io_timeout Four One Hour */ 1456 MINUTES(4), /* .rewind_timeout Four Minutes */ 1457 MINUTES(360), /* .space_timeout 6 Hour if Directory bad */ 1458 MINUTES(16), /* .load_timeout Nothing Special */ 1459 MINUTES(16), /* .unload_timeout Nothing Special */ 1460 MINUTES(360) /* .erase_timeout Six hours */ 1461 }, 1462 1463 /* 1464 * Quantum Super DLT320 1465 * 1466 * NOTES 1467 * ----- 1468 * o There is not going to be a SUN version of this drive. It will 1469 * be released as QUANTUM only. 1470 * 1471 * [1] The Super DLT implements many tape formats, but the st driver supports 1472 * only the four highest densities. 1473 * [2] The Super DLT has only one speed (if the driver ever cares). 1474 * [3] max_rretries and max_wretries are driver anachronisms. 1475 */ 1476 { /* Structure member Description */ 1477 /* ---------------- ----------- */ 1478 "Quantum Super DLT 320", /* .name Display ("pretty") name */ 1479 15, /* .length Length of next item... */ 1480 "QUANTUM SDLT320", /* .vid Vendor-product ID string */ 1481 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1482 0, /* .bsize Block size (0 = variable) */ 1483 /* .options Drive option flags: */ 1484 ST_VARIABLE | /* 00001 Supports variable length */ 1485 ST_BSF | /* 00008 Supports SPACE block fwd */ 1486 ST_BSR | /* 00010 Supports SPACE block rev */ 1487 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1488 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1489 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 1490 /* -------- */ 1491 /* 00008619 */ 1492 -1, /* .max_rretries [Note 3] */ 1493 -1, /* .max_wretries [Note 3] */ 1494 {0x90, 0x91, 0x92, 0x93}, /* .densities [Note 1] */ 1495 MT_DENSITY4, /* .default_density (.densities[x]) */ 1496 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 1497 0, /* .non_motion_timeout Default 2 minutes */ 1498 MINUTES(60), /* .io_timeout Four Now 1 hour */ 1499 MINUTES(4), /* .rewind_timeout Four Minutes */ 1500 MINUTES(360), /* .space_timeout Six Hours */ 1501 MINUTES(16), /* .load_timeout Sixteen Minutes */ 1502 MINUTES(16), /* .unload_timeout Sixteen Minutes */ 1503 MINUTES(360) /* .erase_timeout Six hours */ 1504 }, 1505 1506 /* 1507 * Quantum Super DLT 1508 * 1509 * NOTES 1510 * ----- 1511 * o There is not going to be a SUN version of this drive. It will 1512 * be released as QUANTUM only. 1513 * 1514 * [1] The Super DLT implements many tape formats, but the st driver supports 1515 * only the four highest densities. 1516 * [2] The Super DLT has only one speed (if the driver ever cares). 1517 * [3] max_rretries and max_wretries are driver anachronisms. 1518 */ 1519 { /* Structure member Description */ 1520 /* ---------------- ----------- */ 1521 "Quantum Super DLT 220", /* .name Display ("pretty") name */ 1522 17, /* .length Length of next item... */ 1523 "QUANTUM SuperDLT1", /* .vid Vendor-product ID string */ 1524 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1525 0, /* .bsize Block size (0 = variable) */ 1526 /* .options Drive option flags: */ 1527 ST_VARIABLE | /* 00001 Supports variable length */ 1528 ST_BSF | /* 00008 Supports SPACE block fwd */ 1529 ST_BSR | /* 00010 Supports SPACE block rev */ 1530 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1531 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1532 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 1533 /* -------- */ 1534 /* 00008619 */ 1535 -1, /* .max_rretries [Note 3] */ 1536 -1, /* .max_wretries [Note 3] */ 1537 {0x88, 0x89, 0x90, 0x91}, /* .densities [Note 1] */ 1538 MT_DENSITY4, /* .default_density (.densities[x]) */ 1539 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 1540 0, /* .non_motion_timeout Default 2 minutes */ 1541 MINUTES(60), /* .io_timeout Four Now 1 hour */ 1542 MINUTES(4), /* .rewind_timeout Four Minutes */ 1543 MINUTES(360), /* .space_timeout Six Hours */ 1544 MINUTES(16), /* .load_timeout Sixteen Minutes */ 1545 MINUTES(16), /* .unload_timeout Sixteen Minutes */ 1546 MINUTES(360) /* .erase_timeout Six hours */ 1547 }, 1548 1549 /* 1550 * Quantum DLT8000 1551 * 1552 * NOTES 1553 * ----- 1554 * o There is not going to be a SUN version of this drive. It will 1555 * be released as QUANTUM only. 1556 * 1557 * [1] The DLT8000 implements many tape formats, but the st driver supports 1558 * only the four highest densities. 1559 * [2] The DLT8000 has only one speed (if the driver ever cares). 1560 * [3] max_rretries and max_wretries are driver anachronisms. 1561 */ 1562 { /* Structure member Description */ 1563 /* ---------------- ----------- */ 1564 "Quantum DLT8000", /* .name Display ("pretty") name */ 1565 15, /* .length Length of next item... */ 1566 "QUANTUM DLT8000", /* .vid Vendor-product ID string */ 1567 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1568 0, /* .bsize Block size (0 = variable) */ 1569 /* .options Drive option flags: */ 1570 ST_VARIABLE | /* 00001 Supports variable length */ 1571 ST_BSF | /* 00008 Supports SPACE block fwd */ 1572 ST_BSR | /* 00010 Supports SPACE block rev */ 1573 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1574 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1575 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 1576 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1577 ST_CLN_TYPE_3, /* 40000000 */ 1578 /* ----- */ 1579 /* 40009619 */ 1580 400, /* .max_rretries [Note 3] */ 1581 400, /* .max_wretries [Note 3] */ 1582 {0x84, 0x85, 0x88, 0x89}, /* .densities [Note 1] */ 1583 MT_DENSITY4, /* .default_density (.densities[x]) */ 1584 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 1585 0, /* .non_motion_timeout Nothing special */ 1586 0, /* .io_timeout Four Nothing Special */ 1587 0, /* .rewind_timeout Nothing Special */ 1588 0, /* .space_timeout Nothing Special */ 1589 0, /* .load_timeout Nothing Special */ 1590 0, /* .unload_timeout Nothing Special */ 1591 MINUTES(360) /* .erase_timeout Six hours */ 1592 }, 1593 1594 /* 1595 * Quantum DLT7000 1596 * 1597 * NOTES 1598 * ----- 1599 * [1] The DLT7000 implements many tape formats, but the st driver supports 1600 * only the four highest densities. 1601 * [2] The DLT7000 has only one speed (if the driver ever cares). 1602 * [3] max_rretries and max_wretries are driver anachronisms. 1603 * [4] Data is buffered in the driver and pre-acked to the application. This 1604 * is only supported in Solaris 2.5.1. 1605 */ 1606 { /* Structure member Description */ 1607 /* ---------------- ----------- */ 1608 "Quantum DLT7000", /* .name Display ("pretty") name */ 1609 15, /* .length Length of next item... */ 1610 "QUANTUM DLT7000", /* .vid Vendor-product ID string */ 1611 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1612 0, /* .bsize Block size (0 = variable) */ 1613 /* .options Drive option flags: */ 1614 ST_VARIABLE | /* 00001 Supports variable length */ 1615 ST_BSF | /* 00008 Supports SPACE block fwd */ 1616 ST_BSR | /* 00010 Supports SPACE block rev */ 1617 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1618 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1619 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 1620 ST_BUFFERED_WRITES | /* 04000 [Note 4] */ 1621 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1622 ST_CLN_TYPE_3, /* 40000000 Asks to be cleaned this way */ 1623 /* -------- */ 1624 /* 4000D619 */ 1625 400, /* .max_rretries [Note 3] */ 1626 400, /* .max_wretries [Note 3] */ 1627 {0x82, 0x83, 0x84, 0x85}, /* .densities Density codes [Note 1] */ 1628 MT_DENSITY3, /* .default_density (.densities[x]) */ 1629 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 1630 0, /* .non_motion_timeout Nothing special */ 1631 0, /* .io_timeout Four Nothing Special */ 1632 0, /* .rewind_timeout Nothing Special */ 1633 0, /* .space_timeout Nothing Special */ 1634 0, /* .load_timeout Nothing Special */ 1635 0, /* .unload_timeout Nothing Special */ 1636 MINUTES(360) /* .erase_timeout Six hours */ 1637 }, 1638 1639 /* 1640 * Quantum DLT4000 1641 * 1642 * NOTES 1643 * ----- 1644 * [1] The DLT4000 implements many tape formats, but the st driver supports 1645 * only the four highest densities. 1646 * [2] The DLT4000 has only one speed (if the driver ever cares). 1647 * [3] max_rretries and max_wretries are driver anachronisms. 1648 * [4] Data is buffered in the driver and pre-acked to the application. This 1649 * is only supported in 2.5.1. 1650 */ 1651 { /* Structure member Description */ 1652 /* ---------------- ----------- */ 1653 "Quantum DLT4000", /* .name Display ("pretty") name */ 1654 15, /* .length Length of next item... */ 1655 "Quantum DLT4000", /* .vid Vendor-product ID string */ 1656 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1657 0, /* .bsize Block size (0 = variable) */ 1658 /* .options Drive option flags: */ 1659 ST_VARIABLE | /* 00001 Supports variable length */ 1660 ST_BSF | /* 00008 Supports SPACE block fwd */ 1661 ST_BSR | /* 00010 Supports SPACE block rev */ 1662 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1663 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1664 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 1665 ST_BUFFERED_WRITES | /* 04000 [Note 4] */ 1666 ST_NO_RECSIZE_LIMIT| /* 08000 Supports blocks > 64KB */ 1667 ST_CLN_TYPE_3, /* 40000000 Asks to be cleaned this way */ 1668 /* -------- */ 1669 /* 4000D619 */ 1670 400, /* .max_rretries [Note 3] */ 1671 400, /* .max_wretries [Note 3] */ 1672 {0x80, 0x81, 0x82, 0x83}, /* .densities Density codes [Note 1] */ 1673 MT_DENSITY3, /* .default_density (.densities[x]) */ 1674 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 1675 0, /* .non_motion_timeout Nothing special */ 1676 0, /* .io_timeout Four Nothing Special */ 1677 0, /* .rewind_timeout Nothing Special */ 1678 0, /* .space_timeout Nothing Special */ 1679 0, /* .load_timeout Nothing Special */ 1680 0, /* .unload_timeout Nothing Special */ 1681 MINUTES(360) /* .erase_timeout Six hours */ 1682 }, 1683 1684 /* 1685 * [1] The DLT-S4 has three densites at this time, 1686 * 0x49 for SuperDLT tape I, 0x4a for SuperDLT tape II, 1687 * 0x4b for SuperDLT tape III. 1688 * This drive is configured with ST_KNOWS_MEDIA. 1689 * That means that it will look at the mediatype from the mode sense 1690 * to select the density code. The compression will be selected based 1691 * on the minor node the user opened. 1692 * [2] S4 reports a medium type that is used to select the density. 1693 */ 1694 { /* Structure member Description */ 1695 /* ---------------- ----------- */ 1696 "Quantum DLT-S4", /* .name Display ("pretty") name */ 1697 14, /* .length Length of next item... */ 1698 "QUANTUM DLT-S4", /* .vid Vendor-product ID string */ 1699 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 1700 0, /* .bsize Block size (0 = variable) */ 1701 /* .options Drive option flags: */ 1702 ST_VARIABLE | /* 0000001 Supports variable length */ 1703 ST_BSF | /* 0000008 Supports SPACE block fwd */ 1704 ST_BSR | /* 0000010 Supports SPACE block rev */ 1705 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 1706 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 1707 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 1708 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 1709 ST_KNOWS_MEDIA | /* 0800000 Media detrmines density */ 1710 ST_WORMABLE, /* 1000000 Supports WORM */ 1711 /* ----- */ 1712 /* 1818619 */ 1713 -1, /* .max_rretries Not used any more. */ 1714 -1, /* .max_wretries Not used any more. */ 1715 {0x49, 0x4a, 0x4b, 0x4b}, /* .densities Density codes [Note 1] */ 1716 MT_DENSITY4, /* .default_density (.densities[x]) */ 1717 {0x86, 0x87, 0x91, 0x91}, /* .mediatype Media type [Note 2] */ 1718 0, /* .non_motion_time */ 1719 MINUTES(60), /* .io_time */ 1720 MINUTES(4), /* .rewind_time */ 1721 MINUTES(360), /* .space_time */ 1722 MINUTES(16), /* .load_time */ 1723 MINUTES(16), /* .unload_time */ 1724 MINUTES(360) /* .erase_time */ 1725 }, 1726 1727 /* 1728 * Seagate Hornet NS20 Travan 1729 * 1730 * NOTES 1731 * ----- 1732 * o This is an unsupported drive. 1733 * 1734 * [1] The NS20 Travan uses 0 or the "default" density code. 1735 * [2] The NS20 Travan has only one speed (if the driver ever cares). 1736 * [3] max_rretries and max_wretries are driver anachronisms. 1737 */ 1738 { /* Structure member Description */ 1739 /* ---------------- ----------- */ 1740 "Seagate Hornet NS20 Travan", 1741 /* .name Display ("pretty") name */ 1742 17, /* .length Length of next item... */ 1743 "Seagate STT20000N", /* .vid Vendor-product ID string */ 1744 MT_ISQIC, /* .type Numeric type (cf. mtio.h) */ 1745 512, /* .bsize Block size (0 = variable) */ 1746 /* .options Drive option flags: */ 1747 ST_QIC | /* 00002 QIC tape device */ 1748 ST_BSF | /* 00008 Supports SPACE block fwd */ 1749 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1750 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 1751 /* ----- */ 1752 /* 0840A */ 1753 400, /* .max_rretries [Note 3] */ 1754 400, /* .max_wretries [Note 3] */ 1755 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 1756 MT_DENSITY1, /* .default_density (.densities[x]) */ 1757 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 1758 }, 1759 1760 /* 1761 * Seagate DAT 72 1762 * 1763 * [1] Has only one density, Uses Mode Select to enable-disable compression. 1764 * [2] Only one speed. 1765 */ 1766 1767 { /* Structure member Description */ 1768 /* ---------------- ----------- */ 1769 "Seagate DAT 72", /* .name Display ("pretty") name */ 1770 23, /* .length Length of next item... */ 1771 "SEAGATE DAT DAT72-00",/* .vid Vendor-product ID string */ 1772 MT_ISDAT, /* .type Numeric type (cf. mtio.h) */ 1773 0, /* .bsize Block size (0 = variable) */ 1774 /* .options Drive option flags: */ 1775 ST_VARIABLE | /* 00001 variable length records */ 1776 ST_BSF | /* 00008 Supports SPACE block fwd */ 1777 ST_BSR | /* 00010 Supports backspace record */ 1778 ST_KNOWS_EOD | /* 00200 Knows EOD when it sees it */ 1779 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1780 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1781 ST_MODE_SEL_COMP, /* 10000 Mode select compression */ 1782 /* ----- */ 1783 /* 18619 */ 1784 -1, /* .max_rretries Not used any more. */ 1785 -1, /* .max_wretries Not Used any more. */ 1786 {0x47, 0x47, 0x47, 0x47}, /* .densities Density codes [Note 1] */ 1787 MT_DENSITY4, /* .default_density (.densities[x]) */ 1788 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 1789 0, /* .non_motion_timeout */ 1790 MINUTES(15), /* .io_timeout */ 1791 MINUTES(2), /* .rewind_timeout */ 1792 MINUTES(15), /* .space_timeout */ 1793 0, /* .load_timeout */ 1794 0, /* .unload_timeout */ 1795 MINUTES(240) /* .erase_timeout */ 1796 }, 1797 1798 /* 1799 * Certance Ultrium LTO 3 1800 * [1] This drive supports 3 densites at this time. 1801 * ST_MODE_SEL_COMP controls compression. 1802 * [2] max_rretries and max_wretries are not used but kept for 1803 * backward compatibility. 1804 */ 1805 { /* Structure member Description */ 1806 /* ---------------- ----------- */ 1807 "Certance Ultrium 3", /* .name Display ("pretty") name */ 1808 17, /* .length Length of next item... */ 1809 "CERTANCEULTRIUM 3", /* .vid handles SCSI or FC */ 1810 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 1811 0, /* .bsize Block size (0 = variable) */ 1812 /* .options Drive option flags: */ 1813 ST_VARIABLE | /* 00001 Supports variable length */ 1814 ST_BSF | /* 00008 Supports SPACE block fwd */ 1815 ST_BSR | /* 00010 Supports SPACE block rev */ 1816 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1817 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1818 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1819 ST_MODE_SEL_COMP, /* 10000 Mode select compression */ 1820 /* ----- */ 1821 /* 18619 */ 1822 -1, /* .max_rretries [Note 2] */ 1823 -1, /* .max_wretries [Note 2] */ 1824 {0x40, 0x42, 0x44, 0x44}, /* .densities Density codes [Note 1] */ 1825 MT_DENSITY4, /* .default_density (.densities[x]) */ 1826 {0, 0, 0, 0}, /* .speeds Speed codes */ 1827 0, /* .non_motion_timeout */ 1828 MINUTES(60), /* .io_timeout */ 1829 MINUTES(35), /* .rewind_timeout */ 1830 MINUTES(60), /* .space_timeout */ 1831 MINUTES(35), /* .load_timeout */ 1832 MINUTES(35), /* .unload_timeout */ 1833 MINUTES(180) /* .erase_timeout */ 1834 }, 1835 1836 /* 1837 * Certance Ultrium LTO 2 1838 * [1] This drive supports two densites at this time. 1839 * 0x40 for Ultrium 1 and 0x42 for Ultrium 2. 1840 * ST_MODE_SEL_COMP controls compression. 1841 * [2] max_rretries and max_wretries are not used but kept for 1842 * backward compatibility. 1843 */ 1844 { /* Structure member Description */ 1845 /* ---------------- ----------- */ 1846 "Certance Ultrium 2", /* .name Display ("pretty") name */ 1847 17, /* .length Length of next item... */ 1848 "CERTANCEULTRIUM 2", /* .vid handles SCSI or FC */ 1849 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 1850 0, /* .bsize Block size (0 = variable) */ 1851 /* .options Drive option flags: */ 1852 ST_VARIABLE | /* 00001 Supports variable length */ 1853 ST_BSF | /* 00008 Supports SPACE block fwd */ 1854 ST_BSR | /* 00010 Supports SPACE block rev */ 1855 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 1856 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1857 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1858 ST_MODE_SEL_COMP, /* 10000 Mode select compression */ 1859 /* ----- */ 1860 /* 18619 */ 1861 -1, /* .max_rretries [Note 2] */ 1862 -1, /* .max_wretries [Note 2] */ 1863 {0x40, 0x40, 0x42, 0x42}, /* .densities Density codes [Note 1] */ 1864 MT_DENSITY4, /* .default_density (.densities[x]) */ 1865 {0, 0, 0, 0}, /* .speeds Speed codes */ 1866 0, /* .non_motion_timeout */ 1867 MINUTES(60), /* .io_timeout */ 1868 MINUTES(35), /* .rewind_timeout */ 1869 MINUTES(60), /* .space_timeout */ 1870 MINUTES(35), /* .load_timeout */ 1871 MINUTES(35), /* .unload_timeout */ 1872 MINUTES(180) /* .erase_timeout */ 1873 }, 1874 1875 /* 1876 * Seagate Ultrium LTO 1877 * 1878 * [1] Has only one density, Uses Mode Select to enable-disable compression. 1879 * [2] Only one speed. 1880 */ 1881 1882 { /* Structure member Description */ 1883 /* ---------------- ----------- */ 1884 "Seagate Ultrium LTO", /* .name Display ("pretty") name */ 1885 23, /* .length Length of next item... */ 1886 "SEAGATE ULTRIUM06242-XX",/* .vid Vendor-product ID string */ 1887 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 1888 0, /* .bsize Block size (0 = variable) */ 1889 /* .options Drive option flags: */ 1890 ST_VARIABLE | /* 00001 variable length records */ 1891 ST_BSF | /* 00008 Supports SPACE block fwd */ 1892 ST_BSR | /* 00010 Supports backspace record */ 1893 ST_KNOWS_EOD | /* 00200 Knows EOD when it sees it */ 1894 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 1895 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 1896 ST_MODE_SEL_COMP, /* 10000 Mode select compression */ 1897 /* ----- */ 1898 /* 18619 */ 1899 -1, /* .max_rretries Not used any more. */ 1900 -1, /* .max_wretries Not Used any more. */ 1901 {0x40, 0x40, 0x40, 0x40}, /* .densities Density codes [Note 1] */ 1902 MT_DENSITY4, /* .default_density (.densities[x]) */ 1903 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 1904 0, /* .non_motion_timeout */ 1905 MINUTES(10), /* .io_timeout */ 1906 MINUTES(15), /* .rewind_timeout */ 1907 MINUTES(120), /* .space_timeout */ 1908 MINUTES(5), /* .load_timeout */ 1909 MINUTES(2), /* .unload_timeout */ 1910 MINUTES(120) /* .erase_timeout */ 1911 }, 1912 1913 /* 1914 * SONY 4mm DAT 1915 * 1916 * NOTES 1917 * ----- 1918 * o This is an unsupported drive. 1919 * 1920 * o This entry uses a shortened Vendor-product ID string for the 1921 * INQUIRY match. 1922 * 1923 * [1] The SDT-5000 uses 0 or the "default" density code. 1924 * [2] The SDT-5000 has only one speed (if the driver ever cares). 1925 * [3] max_rretries and max_wretries are driver anachronisms. 1926 */ 1927 { /* Structure member Description */ 1928 /* ---------------- ----------- */ 1929 "SONY 4mm DAT", /* .name Display ("pretty") name */ 1930 12, /* .length Length of next item... */ 1931 "SONY SDT-****", /* .vid Vendor-product ID string */ 1932 ST_TYPE_DAT, /* .type Numeric type (cf. mtio.h) */ 1933 0, /* .bsize Block size (0 = variable) */ 1934 /* .options Drive option flags: */ 1935 ST_VARIABLE | /* 00001 Supports variable length */ 1936 ST_BSF | /* 00008 Supports SPACE block fwd */ 1937 ST_BSR | /* 00010 Supports SPACE block rev */ 1938 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 1939 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 1940 /* ----- */ 1941 /* 00439 */ 1942 400, /* .max_rretries [Note 3] */ 1943 400, /* .max_wretries [Note 3] */ 1944 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 1945 MT_DENSITY2, /* .default_density (.densities[x]) */ 1946 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 1947 }, 1948 1949 /* 1950 * Sun StorageTek T10000A tape drive. 1951 * 1952 * NOTES 1953 * ----- 1954 * o The T10000A has special needs - support for SCSI LOCATE and 1955 * READ POSITION commands - so we must be sure to place this 1956 * entry before the one for ST_TYPE_STC3490 (generic STK 1957 * half-inch cartridge drives). 1958 * [1] Compression on the T10000A is controlled 1959 * via the Device Configuration mode page. 1960 * [2] The T10000A has only one writable density, 0x4A. 1961 * [3] The T10000A has only one speed (if the driver ever cares). 1962 * [4] max_rretries and max_wretries are driver anachronisms. 1963 */ 1964 { /* Structure member Description */ 1965 /* ---------------- ----------- */ 1966 "Sun StorageTek T10000A", /* .name Display ("pretty") name */ 1967 15, /* .length Length of next item... */ 1968 "STK T10000A", /* .vid Vendor-product ID string */ 1969 ST_TYPE_STK9840, /* .type Numeric type (cf. mtio.h)*/ 1970 0, /* .bsize Block size (0 = variable)*/ 1971 /* .options Drive option flags: */ 1972 ST_VARIABLE | /* 0000001 Supports variable length */ 1973 ST_BSF | /* 0000008 Supports SPACE block fwd */ 1974 ST_BSR | /* 0000010 Supports SPACE block rev */ 1975 ST_AUTODEN_OVERRIDE | /* 0000040 Autodensity override flag*/ 1976 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 1977 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 1978 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 1979 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 1980 ST_WORMABLE, /* 1000000 Supports WORM */ 1981 /* ------- */ 1982 /* 1018659 */ 1983 -1, /* .max_rretries [Note 4] */ 1984 -1, /* .max_wretries [Note 4] */ 1985 {0x4A,0x4A,0x4A,0x4A}, /* .densities Density codes [Note 2] */ 1986 MT_DENSITY4, /* .default_density (.densities[x]) */ 1987 {0,0,0,0}, /* .speeds Speed codes [Note 3] */ 1988 0, /* .non_motion_timeout Nothing Special */ 1989 MINUTES(5), /* .io_timeout Five Five Minutes */ 1990 0, /* .rewind_timeout Nothing Special */ 1991 0, /* .space_timeout Nothing Special */ 1992 0, /* .load_timeout Nothing Special */ 1993 0, /* .unload_timeout Nothing Special */ 1994 MINUTES(180) /* .erase_timeout Three Hours */ 1995 }, 1996 1997 /* 1998 * STK 9840C cartridge drive. 1999 * 2000 * NOTES 2001 * ----- 2002 * o The 9840C has special needs - support for SCSI LOCATE and 2003 * READ POSITION commands - so we must be sure to place this 2004 * entry before the one for ST_TYPE_STC3490 (generic STK 2005 * half-inch cartridge drives). 2006 * [1] Compression on the 9840C is controlled 2007 * via the Device Configuration mode page. 2008 * [2] The 9840C has only one writable density, 0x45. I can read tapes writen 2009 * with 9840 and 9840B writen with there density code 0x42. 2010 * [3] The 9840C has only one speed (if the driver ever cares). 2011 * [4] max_rretries and max_wretries are driver anachronisms. 2012 */ 2013 { /* Structure member Description */ 2014 /* ---------------- ----------- */ 2015 "StorageTek 9840C", /* .name Display ("pretty") name */ 2016 14, /* .length Length of next item... */ 2017 "STK T9840C", /* .vid Vendor-product ID string */ 2018 ST_TYPE_STK9840, /* .type Numeric type (cf. mtio.h)*/ 2019 0, /* .bsize Block size (0 = variable)*/ 2020 /* .options Drive option flags: */ 2021 ST_VARIABLE | /* 0000001 Supports variable length */ 2022 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2023 ST_BSR | /* 0000010 Supports SPACE block rev */ 2024 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 2025 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2026 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2027 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 2028 ST_WORMABLE, /* 1000000 Supports WORM */ 2029 /* ------- */ 2030 /* 1018619 */ 2031 -1, /* .max_rretries [Note 4] */ 2032 -1, /* .max_wretries [Note 4] */ 2033 {0x45,0x45,0x45,0x45}, /* .densities Density codes [Note 2] */ 2034 MT_DENSITY1, /* .default_density (.densities[x]) */ 2035 {0,0,0,0}, /* .speeds Speed codes [Note 3] */ 2036 0, /* .non_motion_timeout Nothing Special */ 2037 MINUTES(5), /* .io_timeout Five Five Minutes */ 2038 0, /* .rewind_timeout Nothing Special */ 2039 0, /* .space_timeout Nothing Special */ 2040 0, /* .load_timeout Nothing Special */ 2041 0, /* .unload_timeout Nothing Special */ 2042 MINUTES(70) /* .erase_timeout One Hour and ten Minutes */ 2043 }, 2044 2045 /* 2046 * STK 9840B cartridge drive. 2047 * 2048 * NOTES 2049 * ----- 2050 * o The 9840B has special needs - support for SCSI LOCATE and 2051 * READ POSITION commands - so we must be sure to place this 2052 * entry before the one for ST_TYPE_STC3490 (generic STK 2053 * half-inch cartridge drives). 2054 * [1] Compression on the 9840B is controlled 2055 * via the Device Configuration mode page. 2056 * [2] The 9840B has only one density, 0x42 (or 0 for "default"). 2057 * [3] The 9840B has only one speed (if the driver ever cares). 2058 * [4] max_rretries and max_wretries are driver anachronisms. 2059 */ 2060 { /* Structure member Description */ 2061 /* ---------------- ----------- */ 2062 "StorageTek 9840B", /* .name Display ("pretty") name */ 2063 14, /* .length Length of next item... */ 2064 "STK T9840B", /* .vid Vendor-product ID string */ 2065 ST_TYPE_STK9840, /* .type Numeric type (cf. mtio.h)*/ 2066 0, /* .bsize Block size (0 = variable)*/ 2067 /* .options Drive option flags: */ 2068 ST_VARIABLE | /* 0000001 Supports variable length */ 2069 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2070 ST_BSR | /* 0000010 Supports SPACE block rev */ 2071 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 2072 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2073 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2074 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 2075 ST_WORMABLE, /* 1000000 Supports WORM */ 2076 /* ------- */ 2077 /* 1018619 */ 2078 -1, /* .max_rretries [Note 4] */ 2079 -1, /* .max_wretries [Note 4] */ 2080 {0x42,0x42,0x42,0x42}, /* .densities Density codes [Note 2] */ 2081 MT_DENSITY1, /* .default_density (.densities[x]) */ 2082 {0,0,0,0}, /* .speeds Speed codes [Note 3] */ 2083 0, /* .non_motion_timeout Nothing Special */ 2084 MINUTES(5), /* .io_timeout Five Five Minutes */ 2085 0, /* .rewind_timeout Nothing Special */ 2086 0, /* .space_timeout Nothing Special */ 2087 0, /* .load_timeout Nothing Special */ 2088 0, /* .unload_timeout Nothing Special */ 2089 MINUTES(70) /* .erase_timeout One Hour and ten Minutes */ 2090 }, 2091 2092 /* 2093 * STK 9940B cartridge drive. 2094 * 2095 * NOTES 2096 * ----- 2097 * [1] Compression on the 9940 is controlled 2098 * via the Device Configuration mode page. 2099 * [2] The 9940 has only one density, 0x44. 2100 * [3] The 9940 has only one speed (if the driver ever cares). 2101 * [4] max_rretries and max_wretries are driver not used. 2102 */ 2103 { /* Structure member Description */ 2104 /* ---------------- ----------- */ 2105 "StorageTek 9940B", /* .name Display ("pretty") name */ 2106 14, /* .length Length of next item... */ 2107 "STK T9940B", /* .vid Vendor-product ID string */ 2108 ST_TYPE_STK9840, /* .type Numeric type (cf. mtio.h) */ 2109 0, /* .bsize Block size (0 = variable) */ 2110 /* .options Drive option flags: */ 2111 ST_VARIABLE | /* 0000001 Supports variable length */ 2112 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2113 ST_BSR | /* 0000010 Supports SPACE block rev */ 2114 ST_AUTODEN_OVERRIDE | /* 0000040 Autodensity override flag */ 2115 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 2116 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2117 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2118 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 2119 ST_WORMABLE, /* 1000000 Supports WORM */ 2120 /* ------- */ 2121 /* 1018659 */ 2122 -1, /* .max_rretries [Note 4] */ 2123 -1, /* .max_wretries [Note 4] */ 2124 {0x44,0x44,0x44,0x44}, /* .densities Density codes [Note 2] */ 2125 MT_DENSITY1, /* .default_density (.densities[x]) */ 2126 {0, 0, 0, 0}, /* .speeds Speed codes [Note 3] */ 2127 0, /* .non_motion_timeout Nothing Special */ 2128 MINUTES(5), /* .io_timeout Five minutes */ 2129 0, /* .rewind_timeout Nothing Special */ 2130 MINUTES(180), /* .space_timeout Three Hours 3 x 9840 */ 2131 0, /* .load_timeout Nothing Special */ 2132 0, /* .unload_timeout Nothing Special */ 2133 MINUTES(210) /* .erase_timeout Three and a half hours */ 2134 }, 2135 2136 /* 2137 * STK 9940 cartridge drive. 2138 * 2139 * NOTES 2140 * ----- 2141 * [1] Compression on the 9940 is controlled 2142 * via the Device Configuration mode page. 2143 * [2] The 9940 has only one density, 0x43. 2144 * [3] The 9940 has only one speed (if the driver ever cares). 2145 * [4] max_rretries and max_wretries are driver not used. 2146 */ 2147 { /* Structure member Description */ 2148 /* ---------------- ----------- */ 2149 "StorageTek 9940", /* .name Display ("pretty") name */ 2150 14, /* .length Length of next item... */ 2151 "STK T9940A", /* .vid Vendor-product ID string */ 2152 ST_TYPE_STK9840, /* .type Numeric type (cf. mtio.h)*/ 2153 0, /* .bsize Block size (0 = variable)*/ 2154 /* .options Drive option flags: */ 2155 ST_VARIABLE | /* 0000001 Supports variable length */ 2156 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2157 ST_BSR | /* 0000010 Supports SPACE block rev */ 2158 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 2159 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2160 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2161 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 2162 ST_WORMABLE, /* 1000000 Supports WORM */ 2163 /* ------- */ 2164 /* 1018619 */ 2165 -1, /* .max_rretries [Note 4] */ 2166 -1, /* .max_wretries [Note 4] */ 2167 {0x43,0x43,0x43,0x43}, /* .densities Density codes [Note 2] */ 2168 MT_DENSITY1, /* .default_density (.densities[x]) */ 2169 {0, 0, 0, 0}, /* .speeds Speed codes [Note 3] */ 2170 0, /* .non_motion_timeout Nothing Special */ 2171 MINUTES(5), /* .io_timeout Five Minutes */ 2172 0, /* .rewind_timeout Nothing Special */ 2173 MINUTES(180), /* .space_timeout Three Hours 3 x 9840 */ 2174 0, /* .load_timeout Nothing Special */ 2175 0, /* .unload_timeout Nothing Special */ 2176 MINUTES(210) /* .erase_timeout Three and a half hours */ 2177 }, 2178 2179 /* 2180 * STK 9840 cartridge drive (Sun codename: Ironsides) 2181 * 2182 * NOTES 2183 * ----- 2184 * o The 9840 has special needs - support for SCSI LOCATE and 2185 * READ POSITION commands - so we must be sure to place this 2186 * entry before the one for ST_TYPE_STC3490 (generic STK 2187 * half-inch cartridge drives). 2188 * [1] Compression on the 9840 is controlled 2189 * via the Device Configuration mode page. 2190 * [2] The 9840 has only one density, 0x42 (or 0 for "default"). 2191 * [3] The 9840 has only one speed (if the driver ever cares). 2192 * [4] max_rretries and max_wretries are driver anachronisms. 2193 * [5] ST_LONG_ERASE is not needed or used when .erase_timeout 2194 * is non-zero. 2195 */ 2196 { /* Structure member Description */ 2197 /* ---------------- ----------- */ 2198 "StorageTek 9840", /* .name Display ("pretty") name */ 2199 12, /* .length Length of next item... */ 2200 "STK 9840", /* .vid Vendor-product ID string */ 2201 ST_TYPE_STK9840, /* .type Numeric type (cf. mtio.h)*/ 2202 0, /* .bsize Block size (0 = variable)*/ 2203 /* .options Drive option flags: */ 2204 ST_VARIABLE | /* 0000001 Supports variable length */ 2205 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2206 ST_BSR | /* 0000010 Supports SPACE block rev */ 2207 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 2208 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2209 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2210 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 2211 ST_WORMABLE, /* 1000000 Supports WORM */ 2212 /* ------- */ 2213 /* 1018619 */ 2214 10, /* .max_rretries [Note 4] */ 2215 10, /* .max_wretries [Note 4] */ 2216 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 2] */ 2217 MT_DENSITY1, /* .default_density (.densities[x]) */ 2218 {0, 0, 0, 0}, /* .speeds Speed codes [Note 3] */ 2219 0, /* .non_motion_timeout Nothing Special */ 2220 MINUTES(5), /* .io_timeout Five Minutes */ 2221 0, /* .rewind_timeout Nothing Special */ 2222 0, /* .space_timeout Nothing Special */ 2223 0, /* .load_timeout Nothing Special */ 2224 0, /* .unload_timeout Nothing Special */ 2225 MINUTES(70) /* .erase_timeout One Hour and ten Minutes */ 2226 }, 2227 2228 /* 2229 * STC 3490 1/2" cartridge 2230 * 2231 * NOTES 2232 * ----- 2233 * o This is an unsupported drive. 2234 * 2235 * o This is the generic StorageTek (STK) entry. Any special or drive 2236 * specific entries must be placed ahead of this entry in the file, to 2237 * ensure that the driver will "see" and use them; otherwise this entry 2238 * will be used as the default. 2239 * 2240 * [1] The STC 3490 uses 0 or "default" for the desnity code. 2241 * [2] The STC 3490 has only one speed (if the driver ever cares). 2242 * [3] max_rretries and max_wretries are driver anachronisms. 2243 */ 2244 { /* Structure member Description */ 2245 /* ---------------- ----------- */ 2246 "STK 1/2\" Cartridge", /* .name Display ("pretty") name */ 2247 3, /* .length Length of next item... */ 2248 "STK", /* .vid Vendor-product ID string */ 2249 ST_TYPE_STC3490, /* .type Numeric type (cf. mtio.h) */ 2250 0, /* .bsize Block size (0 = variable) */ 2251 ST_VARIABLE | /* 00001 Supports variable length */ 2252 ST_REEL | /* 00004 1/2-inch reel tape device */ 2253 ST_BSF | /* 00008 Supports SPACE block fwd */ 2254 ST_BSR | /* 00010 Supports SPACE block rev */ 2255 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2256 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2257 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 2258 ST_MODE_SEL_COMP, /* 10000 [Note 1] */ 2259 /* ----- */ 2260 /* 1843D */ 2261 400, /* .max_rretries [Note 3] */ 2262 400, /* .max_wretries [Note 3] */ 2263 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2264 MT_DENSITY1, /* .default_density (.densities[x]) */ 2265 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2266 }, 2267 2268 /* 2269 * Sony SAIT 2270 * 2271 * Only looking at part of the product ID so it will match SDZ-100 and 2272 * SDZ-130. One is SCSI other is Fibre but same configuration otherwise. 2273 * 2274 */ 2275 { /* Structure member Description */ 2276 /* ---------------- ----------- */ 2277 "Sony Super AIT", /* .name Display ("pretty") name */ 2278 13, /* .length Length of next item... */ 2279 "SONY SDZ-1*", /* .vid Vendor-product ID string */ 2280 ST_TYPE_AIT, /* .type Numeric type (cf. mtio.h) */ 2281 0, 2282 ST_VARIABLE | /* 0000001 Supports variable length */ 2283 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2284 ST_BSR | /* 0000010 Supports SPACE block rev */ 2285 ST_AUTODEN_OVERRIDE | /* 0000040 Suports only one density */ 2286 ST_KNOWS_EOD | /* 0000200 Knows End Of Data */ 2287 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2288 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2289 ST_MODE_SEL_COMP | /* 0010000 mode select compression */ 2290 ST_WORMABLE, /* 1000000 Drive is WORM capable */ 2291 /* ------- */ 2292 /* 1018659 */ 2293 -1, /* .max_rretries Not used */ 2294 -1, /* .max_wretries Not used */ 2295 {0x40, 0x40, 0x40, 0x40}, /* .densities Density codes [Note 1] */ 2296 MT_DENSITY4, /* .default_density (.densities[x]) */ 2297 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 2298 0, /* .non_motion_timeout Nothing special */ 2299 0, /* .io_timeout Four Nothing Special */ 2300 0, /* .rewind_timeout Nothing Special */ 2301 0, /* .space_timeout Nothing Special */ 2302 0, /* .load_timeout Nothing Special */ 2303 0, /* .unload_timeout Nothing Special */ 2304 0, /* .erase_timeout Six hours */ 2305 }, 2306 2307 /* 2308 * Sony SDX-420 2309 * This drive is listed before the more generic AIT drives becouse it runs 2310 * only in fixed block mode. It also responds to READ BLOCK LIMITS which 2311 * leads st to beleive its a variable block capable but it will fail any 2312 * i/o that doesn't have the fix bit set in the CDB. 2313 */ 2314 { /* Structure member Description */ 2315 /* ---------------- ----------- */ 2316 "Sony AIT II", /* .name Display ("pretty") name */ 2317 15, /* .length Length of next item... */ 2318 "SONY SDX-420*", /* .vid Vendor-product ID string */ 2319 ST_TYPE_AIT, /* .type Numeric type (cf. mtio.h) */ 2320 512, 2321 ST_BSF | /* 00008 Supports SPACE block fwd */ 2322 ST_BSR | /* 00010 Supports SPACE block rev */ 2323 ST_AUTODEN_OVERRIDE | /* 00040 One density code */ 2324 ST_KNOWS_EOD | /* 00200 Knows End Of Data */ 2325 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2326 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 2327 ST_MODE_SEL_COMP, /* 10000 mode select compression */ 2328 /* ----- */ 2329 /* 18658 */ 2330 -1, /* .max_rretries Not used */ 2331 -1, /* .max_wretries Not used */ 2332 {0x30, 0x30, 0x30, 0x30}, /* .densities Density codes [Note 1] */ 2333 MT_DENSITY4, /* .default_density (.densities[x]) */ 2334 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 2335 0, /* .non_motion_timeout Nothing special */ 2336 0, /* .io_timeout Four Nothing Special */ 2337 0, /* .rewind_timeout Nothing Special */ 2338 0, /* .space_timeout Nothing Special */ 2339 0, /* .load_timeout Nothing Special */ 2340 0, /* .unload_timeout Nothing Special */ 2341 0, /* .erase_timeout Six hours */ 2342 }, 2343 2344 /* 2345 * Sony SDX-520 2346 * This drive is listed before the more generic AIT drives becouse it runs 2347 * only in fixed block mode. It also responds to READ BLOCK LIMITS which 2348 * leads st to beleive its a variable block capable but it will fail any 2349 * i/o that doesn't have the fix bit set in the CDB. 2350 */ 2351 { /* Structure member Description */ 2352 /* ---------------- ----------- */ 2353 "Sony AIT II", /* .name Display ("pretty") name */ 2354 15, /* .length Length of next item... */ 2355 "SONY SDX-520*", /* .vid Vendor-product ID string */ 2356 ST_TYPE_AIT, /* .type Numeric type (cf. mtio.h) */ 2357 512, 2358 ST_BSF | /* 00008 Supports SPACE block fwd */ 2359 ST_BSR | /* 00010 Supports SPACE block rev */ 2360 ST_AUTODEN_OVERRIDE | /* 00040 One density code */ 2361 ST_KNOWS_EOD | /* 00200 Knows End Of Data */ 2362 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2363 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 2364 ST_MODE_SEL_COMP, /* 10000 mode select compression */ 2365 /* ----- */ 2366 /* 18658 */ 2367 -1, /* .max_rretries Not used */ 2368 -1, /* .max_wretries Not used */ 2369 {0x30, 0x30, 0x30, 0x30}, /* .densities Density codes [Note 1] */ 2370 MT_DENSITY4, /* .default_density (.densities[x]) */ 2371 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 2372 0, /* .non_motion_timeout Nothing special */ 2373 0, /* .io_timeout Four Nothing Special */ 2374 0, /* .rewind_timeout Nothing Special */ 2375 0, /* .space_timeout Nothing Special */ 2376 0, /* .load_timeout Nothing Special */ 2377 0, /* .unload_timeout Nothing Special */ 2378 0, /* .erase_timeout Six hours */ 2379 }, 2380 2381 /* Sony generic AIT 2382 * 2383 * 2384 */ 2385 { /* Structure member Description */ 2386 /* ---------------- ----------- */ 2387 "Sony AIT", /* .name Display ("pretty") name */ 2388 12, /* .length Length of next item... */ 2389 "SONY SDX-*", /* .vid Vendor-product ID string */ 2390 ST_TYPE_AIT, /* .type Numeric type (cf. mtio.h) */ 2391 0, 2392 ST_VARIABLE | /* 0000001 Supports variable length */ 2393 ST_BSF | /* 0000008 Supports SPACE block fwd */ 2394 ST_BSR | /* 0000010 Supports SPACE block rev */ 2395 ST_AUTODEN_OVERRIDE | /* 0000040 One density code */ 2396 ST_KNOWS_EOD | /* 0000200 Knows End Of Data */ 2397 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 2398 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 2399 ST_MODE_SEL_COMP | /* 0010000 mode select compression */ 2400 ST_WORMABLE, /* 1000000 Drive is WORM capable */ 2401 /* ------- */ 2402 /* 1018659 */ 2403 -1, /* .max_rretries Not used */ 2404 -1, /* .max_wretries Not used */ 2405 {0x30, 0x30, 0x30, 0x30}, /* .densities Density codes [Note 1] */ 2406 MT_DENSITY4, /* .default_density (.densities[x]) */ 2407 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 2408 0, /* .non_motion_timeout Nothing special */ 2409 0, /* .io_timeout Four Nothing Special */ 2410 0, /* .rewind_timeout Nothing Special */ 2411 0, /* .space_timeout Nothing Special */ 2412 0, /* .load_timeout Nothing Special */ 2413 0, /* .unload_timeout Nothing Special */ 2414 0, /* .erase_timeout Six hours */ 2415 }, 2416 2417 /* 2418 * Sun DLT7000 2419 * 2420 * NOTES 2421 * ----- 2422 * [1] The DLT7000 implements many tape formats, but the st driver supports 2423 * only the four highest densities. 2424 * [2] The DLT7000 has only one speed (if the driver ever cares). 2425 * [3] max_rretries and max_wretries are driver anachronisms. 2426 * [4] Data is buffered in the driver and pre-acked to the application. This 2427 * is only supported in 2.5.1. 2428 */ 2429 { /* Structure member Description */ 2430 /* ---------------- ----------- */ 2431 "Sun DLT7000", /* .name Display ("pretty") name */ 2432 15, /* .length Length of next item... */ 2433 "SUN DLT7000", /* .vid Vendor-product ID string */ 2434 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 2435 0, /* .bsize Block size (0 = variable) */ 2436 /* .options Drive option flags: */ 2437 ST_VARIABLE | /* 00001 Supports variable length */ 2438 ST_BSF | /* 00008 Supports SPACE block fwd */ 2439 ST_BSR | /* 00010 Supports SPACE block rev */ 2440 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2441 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2442 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2443 ST_BUFFERED_WRITES | /* 04000 [Note 4] */ 2444 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 2445 ST_CLN_TYPE_3, /* 40000000 Asks to be cleaned this way */ 2446 /* -------- */ 2447 /* 4000D619 */ 2448 400, /* .max_rretries [Note 3] */ 2449 400, /* .max_wretries [Note 3] */ 2450 {0x82, 0x83, 0x84, 0x85}, /* .densities Density codes [Note 1] */ 2451 MT_DENSITY3, /* .default_density (.densities[x]) */ 2452 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 2453 0, /* .non_motion_timeout Nothing special */ 2454 0, /* .io_timeout Four Nothing Special */ 2455 0, /* .rewind_timeout Nothing Special */ 2456 0, /* .space_timeout Nothing Special */ 2457 0, /* .load_timeout Nothing Special */ 2458 0, /* .unload_timeout Nothing Special */ 2459 MINUTES(360) /* .erase_timeout Six hours */ 2460 }, 2461 2462 /* 2463 * Sun DLT4000 2464 * 2465 * NOTES 2466 * ----- 2467 * [1] The DLT4000 implements many tape formats, but the st driver supports 2468 * only the four highest densities. 2469 * [2] The DLT4000 has only one speed (if the driver ever cares). 2470 * [3] max_rretries and max_wretries are driver anachronisms. 2471 * [4] Data is buffered in the driver and pre-acked to the application. This 2472 * is only supported in 2.5.1. 2473 */ 2474 { /* Structure member Description */ 2475 /* ---------------- ----------- */ 2476 "DLT4000", /* .name Display ("pretty") name */ 2477 15, /* .length Length of next item... */ 2478 "SUN DLT4000", /* .vid Vendor-product ID string */ 2479 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 2480 0, /* .bsize Block size (0 = variable) */ 2481 /* .options Drive option flags: */ 2482 ST_VARIABLE | /* 00001 Supports variable length */ 2483 ST_BSF | /* 00008 Supports SPACE block fwd */ 2484 ST_BSR | /* 00010 Supports SPACE block rev */ 2485 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2486 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2487 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2488 ST_BUFFERED_WRITES | /* 04000 [Note 4] */ 2489 ST_NO_RECSIZE_LIMIT| /* 08000 Supports blocks > 64KB */ 2490 ST_CLN_TYPE_3, /* 40000000 Asks to be cleaned this way */ 2491 /* -------- */ 2492 /* 4000D619 */ 2493 400, /* .max_rretries [Note 3] */ 2494 400, /* .max_wretries [Note 3] */ 2495 {0x80, 0x81, 0x82, 0x83}, /* .densities Density codes [Note 1] */ 2496 MT_DENSITY3, /* .default_density (.densities[x]) */ 2497 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 2498 0, /* .non_motion_timeout Nothing special */ 2499 0, /* .io_timeout Four Nothing Special */ 2500 0, /* .rewind_timeout Nothing Special */ 2501 0, /* .space_timeout Nothing Special */ 2502 0, /* .load_timeout Nothing Special */ 2503 0, /* .unload_timeout Nothing Special */ 2504 MINUTES(360) /* .erase_timeout Six hours */ 2505 }, 2506 2507 /* 2508 * Sun DLT4700 2509 * 2510 * NOTES 2511 * ----- 2512 * [1] Compression on the DLT4700 is controlled via the Device Configuration 2513 * mode page or the Data Compression page (either one). 2514 * [2] The DLT4700 implements many tape formats, but the st driver supports 2515 * only the four highest densities. 2516 * [3] The DLT4700 has only one speed (if the driver ever cares). 2517 * [4] max_rretries and max_wretries are driver anachronisms. 2518 * [5] Data is buffered in the driver and pre-acked to the application. This 2519 * is only supported in 2.5.1. 2520 */ 2521 { /* Structure member Description */ 2522 /* ---------------- ----------- */ 2523 "DLT4700 Library", /* .name Display ("pretty") name */ 2524 15, /* .length Length of next item... */ 2525 "SUN DLT4700", /* .vid Vendor-product ID string */ 2526 ST_TYPE_DLT, /* .type Numeric type (cf. mtio.h) */ 2527 0, /* .bsize Block size (0 = variable) */ 2528 /* .options Drive option flags: */ 2529 ST_VARIABLE | /* 00001 Supports variable length */ 2530 ST_BSF | /* 00008 Supports SPACE block fwd */ 2531 ST_BSR | /* 00010 Supports SPACE block rev */ 2532 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2533 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2534 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2535 ST_BUFFERED_WRITES | /* 04000 [Note 5] */ 2536 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 2537 /* ----- */ 2538 /* 0D619 */ 2539 400, /* .max_rretries [Note 4] */ 2540 400, /* .max_wretries [Note 4] */ 2541 {0x80, 0x81, 0x82, 0x83}, /* .densities Density codes [Note 2] */ 2542 MT_DENSITY3, /* .default_density (.densities[x]) */ 2543 { 0, 0, 0, 0 }, /* .speeds Speed codes [Note 2] */ 2544 0, /* .non_motion_timeout Nothing special */ 2545 0, /* .io_timeout Four Nothing Special */ 2546 0, /* .rewind_timeout Nothing Special */ 2547 0, /* .space_timeout Nothing Special */ 2548 0, /* .load_timeout Nothing Special */ 2549 0, /* .unload_timeout Nothing Special */ 2550 MINUTES(360) /* .erase_timeout Six hours */ 2551 }, 2552 2553 /* 2554 * Tandberg SLR5 4/8G (standard firmware) 2555 * 2556 * NOTES 2557 * ----- 2558 * [1] The density code entry requires four values, even if there are less 2559 * than four values for the drive. 2560 * [2] The Tandberg SLR5 4/8G has only one speed (if the driver ever cares). 2561 * [3] max_rretries and max_wretries are driver anachronisms. 2562 */ 2563 { /* Structure member Description */ 2564 /* ---------------- ----------- */ 2565 "Tandberg 4/8 Gig QIC", /* .name Display ("pretty") name */ 2566 19, /* .length Length of next item... */ 2567 "TANDBERG SLR5 4/8GB", /* .vid Vendor-product ID string */ 2568 ST_TYPE_TAND25G, /* .type Numeric type (cf. mtio.h) */ 2569 0, /* .bsize Block size (0 = variable) */ 2570 /* .options Drive option flags: */ 2571 ST_VARIABLE | /* 00001 Supports variable length */ 2572 ST_QIC | /* 00002 QIC tape device */ 2573 ST_BSF | /* 00008 Supports SPACE block fwd */ 2574 ST_BSR | /* 00010 Supports SPACE block rev */ 2575 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2576 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2577 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2578 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2579 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 2580 /* ----- */ 2581 /* 0963B */ 2582 400, /* .max_rretries [Note 3] */ 2583 400, /* .max_wretries [Note 3] */ 2584 {0x22, 0x22, 0x26, 0x26}, /* .densities Density codes [Note 1] */ 2585 MT_DENSITY4, /* .default_density (.densities[x]) */ 2586 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2587 }, 2588 2589 /* 2590 * Tandberg SLR5 (SMI firmware). 2591 * 2592 * NOTES 2593 * ----- 2594 * o The inquiry string for this drive is actually padded with blanks, but 2595 * we only check the first 13 characters so that this will act as a default 2596 * to cover other revisions of firmware on SLR5s which may show up. 2597 * 2598 * [1] The density code entry requires four values, even if there are less 2599 * than four values for the drive. 2600 * [2] The Tandberg SLR5 has only one speed (if the driver ever cares). 2601 * [3] max_rretries and max_wretries are driver anachronisms. 2602 */ 2603 { /* Structure member Description */ 2604 /* ---------------- ----------- */ 2605 "Tandberg 8 Gig QIC", /* .name Display ("pretty") name */ 2606 13, /* .length Length of next item... */ 2607 "TANDBERG SLR5", /* .vid Vendor-product ID string */ 2608 ST_TYPE_TAND25G, /* .type Numeric type (cf. mtio.h) */ 2609 0, /* .bsize Block size (0 = variable) */ 2610 /* .options Drive option flags: */ 2611 ST_VARIABLE | /* 00001 Supports variable length */ 2612 ST_QIC | /* 00002 QIC tape device */ 2613 ST_BSF | /* 00008 Supports SPACE block fwd */ 2614 ST_BSR | /* 00010 Supports SPACE block rev */ 2615 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2616 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2617 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2618 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2619 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 2620 /* ----- */ 2621 /* 0963B */ 2622 400, /* .max_rretries [Note 3] */ 2623 400, /* .max_wretries [Note 3] */ 2624 {0xA0, 0xD0, 0xD0, 0xD0}, /* .densities Density codes [Note 1] */ 2625 MT_DENSITY4, /* .default_density (.densities[x]) */ 2626 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2627 }, 2628 2629 /* 2630 * Tandberg 4100 QIC 2631 * 2632 * NOTES 2633 * ----- 2634 * o This is an unsupported drive. 2635 * 2636 * [1] The Tandberg 4100 uses 0 or the "default" density code. 2637 * [2] The Tandberg 4100 has only one speed (if the driver ever cares). 2638 * [3] max_rretries and max_wretries are driver anachronisms. 2639 */ 2640 { /* Structure member Description */ 2641 /* ---------------- ----------- */ 2642 "Tandberg 4100 QIC", /* .name Display ("pretty") name */ 2643 13, /* .length Length of next item... */ 2644 "TANDBERG 4100", /* .vid Vendor-product ID string */ 2645 MT_ISQIC, /* .type Numeric type (cf. mtio.h) */ 2646 512, /* .bsize Block size (0 = variable) */ 2647 /* .options Drive option flags: */ 2648 ST_QIC | /* 00002 QIC tape device */ 2649 ST_BSF | /* 00008 Supports SPACE block fwd */ 2650 ST_BSR | /* 00010 Supports SPACE block rev */ 2651 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2652 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2653 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 2654 /* ----- */ 2655 /* 0063A */ 2656 400, /* .max_rretries [Note 3] */ 2657 400, /* .max_wretries [Note 3] */ 2658 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2659 MT_DENSITY2, /* .default_density (.densities[x]) */ 2660 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2661 }, 2662 2663 /* 2664 * Tandberg 4200 QIC 2665 * 2666 * NOTES 2667 * ----- 2668 * o This is an unsupported drive. 2669 * 2670 * [1] The Tandberg 4200 uses 0 or the "default" density code. 2671 * [2] The Tandberg 4200 has only one speed (if the driver ever cares). 2672 * [3] max_rretries and max_wretries are driver anachronisms. 2673 */ 2674 { /* Structure member Description */ 2675 /* ---------------- ----------- */ 2676 "Tandberg 4200 QIC", /* .name Display ("pretty") name */ 2677 13, /* .length Length of next item... */ 2678 "TANDBERG 4200", /* .vid Vendor-product ID string */ 2679 MT_ISQIC, /* .type Numeric type (cf. mtio.h) */ 2680 512, /* .bsize Block size (0 = variable) */ 2681 /* .options Drive option flags: */ 2682 ST_QIC | /* 00002 QIC tape device */ 2683 ST_BSF | /* 00008 Supports SPACE block fwd */ 2684 ST_BSR | /* 00010 Supports SPACE block rev */ 2685 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2686 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2687 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 2688 /* ----- */ 2689 /* 0063A */ 2690 400, /* .max_rretries [Note 3] */ 2691 400, /* .max_wretries [Note 3] */ 2692 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2693 MT_DENSITY2, /* .default_density (.densities[x]) */ 2694 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2695 }, 2696 2697 /* 2698 * Tandberg QIC 2.5 Gig Tape Drive 2699 * 2700 * NOTES 2701 * ----- 2702 * [1] The TDC 4200 uses 0 or the "default" density code. 2703 * [2] The TDC 4200 has only one speed (if the driver ever cares). 2704 * [3] max_rretries and max_wretries are driver anachronisms. 2705 * [4] Data is buffered in the driver and pre-acked to the application. This 2706 * is only supported in 2.5.1. 2707 */ 2708 { /* Structure member Description */ 2709 /* ---------------- ----------- */ 2710 "Tandberg QIC 2.5 Gig Tape Drive", 2711 /* .name Display ("pretty") name */ 2712 16, /* .length Length of next item... */ 2713 "TANDBERG TDC 420*", /* .vid Vendor-product ID string */ 2714 MT_ISQIC, /* .type Numeric type (cf. mtio.h) */ 2715 0, /* .bsize Block size (0 = variable) */ 2716 /* .options Drive option flags: */ 2717 ST_VARIABLE | /* 00001 Supports variable length */ 2718 ST_QIC | /* 00002 QIC tape device */ 2719 ST_BSF | /* 00008 Supports SPACE block fwd */ 2720 ST_BSR | /* 00010 Supports SPACE block rev */ 2721 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2722 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 2723 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2724 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2725 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2726 ST_BUFFERED_WRITES | /* 04000 [Note 4] */ 2727 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 2728 /* ----- */ 2729 /* 0D67B */ 2730 400, /* .max_rretries [Note 3] */ 2731 400, /* .max_wretries [Note 3] */ 2732 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2733 MT_DENSITY1, /* .default_density (.densities[x]) */ 2734 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2735 }, 2736 2737 /* 2738 * Tandberg MLR1 QIC 2739 * 2740 * NOTES 2741 * ----- 2742 * [1] The MLR1 uses 0 or the "default" density code. 2743 * [2] The MLR1 has only one speed (if the driver ever cares). 2744 * [3] max_rretries and max_wretries are driver anachronisms. 2745 * [4] Data is buffered in the driver and pre-acked to the application. This 2746 * is only supported in 2.5.1. 2747 */ 2748 { /* Structure member Description */ 2749 /* ---------------- ----------- */ 2750 "Tandberg MLR1 QIC", /* .name Display ("pretty") name */ 2751 12, /* .length Length of next item... */ 2752 "TANDBERGMLR1", /* .vid Vendor-product ID string */ 2753 MT_ISQIC, /* .type Numeric type (cf. mtio.h) */ 2754 512, /* .bsize Block size (0 = variable) */ 2755 /* .options Drive option flags: */ 2756 ST_QIC | /* 00002 QIC tape device */ 2757 ST_BSF | /* 00008 Supports SPACE block fwd */ 2758 ST_BSR | /* 00010 Supports SPACE block rev */ 2759 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2760 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2761 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2762 ST_BUFFERED_WRITES, /* 04000 [Note 4] */ 2763 /* ----- */ 2764 /* 0463A */ 2765 400, /* .max_rretries [Note 3] */ 2766 400, /* .max_wretries [Note 3] */ 2767 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2768 MT_DENSITY1, /* .default_density (.densities[x]) */ 2769 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2770 }, 2771 2772 /* 2773 * Tandberg MLR3 QIC 2774 * 2775 * NOTES 2776 * ----- 2777 * [1] The density code entry requires four values, even if there are less 2778 * than four values for the drive. 2779 * [2] The MLR3 has only one speed (if the driver ever cares). 2780 * [3] max_rretries and max_wretries are driver anachronisms. 2781 */ 2782 { /* Structure member Description */ 2783 /* ---------------- ----------- */ 2784 "Tandberg 50 Gig QIC", /* .name Display ("pretty") name */ 2785 12, /* .length Length of next item... */ 2786 "TANDBERGMLR3", /* .vid Vendor-product ID string */ 2787 MT_ISTAND25G, /* .type Numeric type (cf. mtio.h) */ 2788 0, /* .bsize Block size (0 = variable) */ 2789 /* .options Drive option flags: */ 2790 ST_VARIABLE | /* 00001 Supports variable length */ 2791 ST_QIC | /* 00002 QIC tape device */ 2792 ST_BSF | /* 00008 Supports SPACE block fwd */ 2793 ST_BSR | /* 00010 Supports SPACE block rev */ 2794 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2795 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2796 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2797 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2798 ST_NO_RECSIZE_LIMIT, /* 08000 Supports blocks > 64KB */ 2799 /* ----- */ 2800 /* 0963B */ 2801 400, /* .max_rretries [Note 3] */ 2802 400, /* .max_wretries [Note 3] */ 2803 {0xA0, 0xD0, 0xD0, 0xD0}, /* .densities Density codes [Note 1] */ 2804 MT_DENSITY3, /* .default_density (.densities[x]) */ 2805 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2806 }, 2807 2808 /* 2809 * WangDAT 3.81mm cartridge 2810 * 2811 * NOTES 2812 * ----- 2813 * o This is an unsupported drive. 2814 * 2815 * [1] The WangDAT 3.81mm uses 0 or the "default" density code. 2816 * [2] The WangDAT 3.81mm has only one speed (if the driver ever cares). 2817 * [3] max_rretries and max_wretries are driver anachronisms. 2818 */ 2819 { /* Structure member Description */ 2820 /* ---------------- ----------- */ 2821 "Wang DAT 3.81 Helical Scan", 2822 /* .name Display ("pretty") name */ 2823 7, /* .length Length of next item... */ 2824 "WangDAT", /* .vid Vendor-product ID string */ 2825 ST_TYPE_WANGDAT, /* .type Numeric type (cf. mtio.h) */ 2826 0, /* .bsize Block size (0 = variable) */ 2827 /* .options Drive option flags: */ 2828 ST_VARIABLE | /* 00001 Supports variable length */ 2829 ST_BSF | /* 00008 Supports SPACE block fwd */ 2830 ST_BSR | /* 00010 Supports SPACE block rev */ 2831 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 2832 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2833 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 2834 /* ----- */ 2835 /* 00659 */ 2836 5000, /* .max_rretries [Note 3] */ 2837 5000, /* .max_wretries [Note 3] */ 2838 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2839 MT_DENSITY2, /* .default_density (.densities[x]) */ 2840 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2841 }, 2842 2843 /* 2844 * Wangtek QIC-150 1/4" cartridge 2845 * 2846 * NOTES 2847 * ----- 2848 * o This is an unsupported drive. 2849 * 2850 * [1] The Wangtek QIC-150 uses 0 or the "default" density code. 2851 * [2] The Wangtek QIC-150 has only one speed (if the driver ever cares). 2852 * [3] max_rretries and max_wretries are driver anachronisms. 2853 */ 2854 { /* Structure member Description */ 2855 /* ---------------- ----------- */ 2856 "Wangtek QIC-150", /* .name Display ("pretty") name */ 2857 14, /* .length Length of next item... */ 2858 "WANGTEK 5150ES", /* .vid Vendor-product ID string */ 2859 ST_TYPE_WANGTEK, /* .type Numeric type (cf. mtio.h) */ 2860 512, /* .bsize Block size (0 = variable) */ 2861 /* .options Drive option flags: */ 2862 ST_QIC | /* 00002 QIC tape device */ 2863 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 2864 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2865 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 2866 /* ----- */ 2867 /* 00642 */ 2868 400, /* .max_rretries [Note 3] */ 2869 400, /* .max_wretries [Note 3] */ 2870 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2871 MT_DENSITY2, /* .default_density (.densities[x]) */ 2872 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2873 }, 2874 2875 /* 2876 * Wangtek 4mm RDAT drive 2877 * 2878 * NOTES 2879 * ----- 2880 * o This is an unsupported drive. 2881 * 2882 * o This entry uses a shortened Vendor-product ID string for the 2883 * INQUIRY match. 2884 * 2885 * [1] The Wangtek 4mm RDAT uses 0 or the "default" density code. 2886 * [2] The Wangtek 4mm RDAT has only one speed (if the driver ever cares). 2887 * [3] max_rretries and max_wretries are driver anachronisms. 2888 */ 2889 { /* Structure member Description */ 2890 /* ---------------- ----------- */ 2891 "Wangtek 4mm Helical Scan", 2892 /* .name Display ("pretty") name */ 2893 14, /* .length Length of next item... */ 2894 "WANGTEK 6130-H*", /* .vid Vendor-product ID string */ 2895 ST_TYPE_WANGTHS, /* .type Numeric type (cf. mtio.h) */ 2896 0, /* .bsize Block size (0 = variable) */ 2897 /* .options Drive option flags: */ 2898 ST_VARIABLE | /* 00001 Supports variable length */ 2899 ST_BSF | /* 00008 Supports SPACE block fwd */ 2900 ST_BSR | /* 00010 Supports SPACE block rev */ 2901 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 2902 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2903 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 2904 /* ----- */ 2905 /* 00659 */ 2906 400, /* .max_rretries [Note 3] */ 2907 400, /* .max_wretries [Note 3] */ 2908 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2909 MT_DENSITY2, /* .default_density (.densities[x]) */ 2910 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2911 }, 2912 2913 /* 2914 * Wangtek QIC-150 1/4" cartridge 2915 * 2916 * NOTES 2917 * ----- 2918 * o This is an unsupported drive. 2919 * 2920 * [1] The Wangtek QIC-150 uses 0 or the "default" density code. 2921 * [2] The Wangtek QIC-150 has only one speed (if the driver ever cares). 2922 * [3] max_rretries and max_wretries are driver anachronisms. 2923 */ 2924 { /* Structure member Description */ 2925 /* ---------------- ----------- */ 2926 "Wangtek 5525ES SCSI", /* .name Display ("pretty") name */ 2927 19, /* .length Length of next item... */ 2928 "WANGTEK 5525ES SCSI", /* .vid Vendor-product ID string */ 2929 ST_TYPE_WANGTEK, /* .type Numeric type (cf. mtio.h) */ 2930 512, /* .bsize Block size (0 = variable) */ 2931 /* .options Drive option flags: */ 2932 ST_QIC | /* 00002 QIC tape device */ 2933 ST_BSF | /* 00008 Supports SPACE block fwd */ 2934 ST_BSR | /* 00010 Supports SPACE block rev */ 2935 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2936 ST_AUTODEN_OVERRIDE | /* 00040 Autdensity override flag */ 2937 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2938 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 2939 /* ----- */ 2940 /* 0067A */ 2941 400, /* .max_rretries [Note 3] */ 2942 400, /* .max_wretries [Note 3] */ 2943 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 2944 MT_DENSITY2, /* .default_density (.densities[x]) */ 2945 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2946 }, 2947 2948 /* 2949 * [1] The Ecrix VXA-1 has only one density at this time, 2950 * Compression is controlled via the Device Configuration 2951 * mode page. 2952 * [2] The Ecrix VXA-1 is a veriable speed device. The drive determines 2953 * the optimum speed. (if the driver ever cares). 2954 */ 2955 { /* Structure member Description */ 2956 /* ---------------- ----------- */ 2957 "Ecrix VXA-1", /* .name Display ("pretty") name */ 2958 13, /* .length Length of next item... */ 2959 "ECRIX VXA-1", /* .vid Vendor-product ID string */ 2960 MT_ISOTHER, /* .type Numeric type (cf. mtio.h) */ 2961 0, /* .bsize Block size (0 = variable) */ 2962 /* .options Drive option flags: */ 2963 ST_VARIABLE | /* 00001 Supports variable length */ 2964 ST_BSF | /* 00008 Supports SPACE block fwd */ 2965 ST_BSR | /* 00010 Supports SPACE block rev */ 2966 ST_LONG_ERASE | /* 00020 Needs extra time to erase */ 2967 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 2968 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 2969 ST_SOFT_ERROR_REPORTING | /* 00800 Reports errors on close */ 2970 ST_LONG_TIMEOUTS | /* 01000 More time for some ops */ 2971 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 2972 ST_MODE_SEL_COMP | /* 10000 Mode Select to enable comp */ 2973 ST_CLN_TYPE_1, /* 10000000 Asks to be cleaned this way */ 2974 /* -------- */ 2975 /* 10019E39 */ 2976 -1, /* .max_rretries */ 2977 -1, /* .max_wretries */ 2978 {0x80, 0x80, 0x80, 0x80}, /* .densities Density codes [Note 1] */ 2979 MT_DENSITY4, /* .default_density (.densities[x]) */ 2980 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 2981 }, 2982 2983 /* 2984 * [1] The IBM Ultrium Gen 4 "OEM" version has two densites at this time, 2985 * One for Gen 3 0x44, One for Gen 4 0x46. 2986 * This drive is configured with ST_KNOWS_MEDIA. 2987 * That means that it will look at the mediatype from the mode sense 2988 * to select the density code. The compression will be selected based 2989 * on the minor node the user opened. 2990 * [2] The IBM LTO reports a medium type that is used to select the density. 2991 */ 2992 { /* Structure member Description */ 2993 /* ---------------- ----------- */ 2994 "IBM Ultrium Gen 4 LTO", /* .name Display ("pretty") name */ 2995 19, /* .length Length of next item... */ 2996 "IBM ULTRIUM-TD4", /* .vid Vendor-product ID string */ 2997 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 2998 0, /* .bsize Block size (0 = variable) */ 2999 /* .options Drive option flags: */ 3000 ST_VARIABLE | /* 0000001 Supports variable length */ 3001 ST_BSF | /* 0000008 Supports SPACE block fwd */ 3002 ST_BSR | /* 0000010 Supports SPACE block rev */ 3003 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 3004 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 3005 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 3006 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 3007 ST_KNOWS_MEDIA | /* 0800000 Media detrmines density */ 3008 ST_WORMABLE, /* 1000000 Is WORM capable */ 3009 /* ------- */ 3010 /* 1818619 */ 3011 -1, /* .max_rretries Not used any more. */ 3012 -1, /* .max_wretries Not used any more. */ 3013 {0x44, 0x44, 0x46, 0x46}, /* .densities Density codes [Note 1] */ 3014 MT_DENSITY4, /* .default_density (.densities[x]) */ 3015 {0x38, 0x38, 0x48, 0x48}, /* .mediatype Media type [Note 2] */ 3016 MINUTES(1), /* .non_motion_time */ 3017 MINUTES(23), /* .io_time */ 3018 MINUTES(9), /* .rewind_time */ 3019 MINUTES(183), /* .space_time worst case directory invalid*/ 3020 MINUTES(9), /* .load_time */ 3021 MINUTES(13), /* .unload_time */ 3022 MINUTES(180) /* .erase_time */ 3023 }, 3024 3025 /* 3026 * [1] The IBM Ultrium Gen 4 "IBM" version has two densites at this time, 3027 * One for Gen 3 0x44, one for Gen 4 0x46. 3028 * This drive is configured with ST_KNOWS_MEDIA. 3029 * That means that it will look at the mediatype from the mode sense 3030 * to select the density code. The compression will be selected based 3031 * on the minor node the user opened. 3032 * [2] The IBM LTO reports a medium type that is used to select the density. 3033 */ 3034 { /* Structure member Description */ 3035 /* ---------------- ----------- */ 3036 "IBM Ultrium Gen 4 LTO", /* .name Display ("pretty") name */ 3037 19, /* .length Length of next item... */ 3038 "IBM ULT3580-TD4", /* .vid Vendor-product ID string */ 3039 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3040 0, /* .bsize Block size (0 = variable) */ 3041 /* .options Drive option flags: */ 3042 ST_VARIABLE | /* 0000001 Supports variable length */ 3043 ST_BSF | /* 0000008 Supports SPACE block fwd */ 3044 ST_BSR | /* 0000010 Supports SPACE block rev */ 3045 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 3046 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 3047 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 3048 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 3049 ST_KNOWS_MEDIA | /* 0800000 Media detrmines density */ 3050 ST_WORMABLE, /* 1000000 Is WORM capable */ 3051 /* ------- */ 3052 /* 1818619 */ 3053 -1, /* .max_rretries Not used any more. */ 3054 -1, /* .max_wretries Not used any more. */ 3055 {0x44, 0x44, 0x46, 0x46}, /* .densities Density codes [Note 1] */ 3056 MT_DENSITY4, /* .default_density (.densities[x]) */ 3057 {0x38, 0x38, 0x48, 0x48}, /* .mediatype Media type [Note 2] */ 3058 MINUTES(1), /* .non_motion_time */ 3059 MINUTES(23), /* .io_time */ 3060 MINUTES(9), /* .rewind_time */ 3061 MINUTES(183), /* .space_time worst case directory invalid*/ 3062 MINUTES(9), /* .load_time */ 3063 MINUTES(13), /* .unload_time */ 3064 MINUTES(180) /* .erase_time */ 3065 }, 3066 3067 /* 3068 * [1] The IBM Ultrium Gen 3 "OEM" version has three densites at this time, 3069 * One for Gen 1 0x40, One for Gen 2 0x42 and for Gen 3 0x44. 3070 * This drive is configured with ST_KNOWS_MEDIA. 3071 * That means that it will look at the mediatype from the mode sense 3072 * to select the density code. The compression will be selected based 3073 * on the minor node the user opened. 3074 * [2] The IBM LTO reports a medium type that is used to select the density. 3075 */ 3076 { /* Structure member Description */ 3077 /* ---------------- ----------- */ 3078 "IBM Ultrium Gen 3 LTO", /* .name Display ("pretty") name */ 3079 19, /* .length Length of next item... */ 3080 "IBM ULTRIUM-TD3", /* .vid Vendor-product ID string */ 3081 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3082 0, /* .bsize Block size (0 = variable) */ 3083 /* .options Drive option flags: */ 3084 ST_VARIABLE | /* 0000001 Supports variable length */ 3085 ST_BSF | /* 0000008 Supports SPACE block fwd */ 3086 ST_BSR | /* 0000010 Supports SPACE block rev */ 3087 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 3088 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 3089 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 3090 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 3091 ST_KNOWS_MEDIA | /* 0800000 Media detrmines density */ 3092 ST_WORMABLE, /* 1000000 Is WORM capable */ 3093 /* ------- */ 3094 /* 1818619 */ 3095 -1, /* .max_rretries Not used any more. */ 3096 -1, /* .max_wretries Not used any more. */ 3097 {0x40, 0x42, 0x44, 0x44}, /* .densities Density codes [Note 1] */ 3098 MT_DENSITY4, /* .default_density (.densities[x]) */ 3099 {0x18, 0x28, 0x38, 0x38}, /* .mediatype Media type [Note 2] */ 3100 MINUTES(1), /* .non_motion_time */ 3101 MINUTES(18), /* .io_time */ 3102 MINUTES(9), /* .rewind_time */ 3103 MINUTES(165), /* .space_time worst case directory invalid*/ 3104 MINUTES(9), /* .load_time */ 3105 MINUTES(12), /* .unload_time */ 3106 MINUTES(160) /* .erase_time */ 3107 }, 3108 3109 /* 3110 * [1] The IBM Ultrium Gen 3 "IBM" version has three densites at this time, 3111 * One for Gen 1 0x40, One for Gen 2 0x42 and Gen 3 0x44. 3112 * This drive is configured with ST_KNOWS_MEDIA. 3113 * That means that it will look at the mediatype from the mode sense 3114 * to select the density code. The compression will be selected based 3115 * on the minor node the user opened. 3116 * [2] The IBM LTO reports a medium type that is used to select the density. 3117 */ 3118 { /* Structure member Description */ 3119 /* ---------------- ----------- */ 3120 "IBM Ultrium Gen 3 LTO", /* .name Display ("pretty") name */ 3121 19, /* .length Length of next item... */ 3122 "IBM ULT3580-TD3", /* .vid Vendor-product ID string */ 3123 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3124 0, /* .bsize Block size (0 = variable) */ 3125 /* .options Drive option flags: */ 3126 ST_VARIABLE | /* 0000001 Supports variable length */ 3127 ST_BSF | /* 0000008 Supports SPACE block fwd */ 3128 ST_BSR | /* 0000010 Supports SPACE block rev */ 3129 ST_KNOWS_EOD | /* 0000200 Recognizes end-of-data */ 3130 ST_UNLOADABLE | /* 0000400 Driver can be unloaded */ 3131 ST_NO_RECSIZE_LIMIT | /* 0008000 Supports blocks > 64KB */ 3132 ST_MODE_SEL_COMP | /* 0010000 [Note 1] */ 3133 ST_KNOWS_MEDIA | /* 0800000 Media detrmines density */ 3134 ST_WORMABLE, /* 1000000 Is WORM capable */ 3135 /* ------- */ 3136 /* 1818619 */ 3137 -1, /* .max_rretries Not used any more. */ 3138 -1, /* .max_wretries Not used any more. */ 3139 {0x40, 0x42, 0x44, 0x44}, /* .densities Density codes [Note 1] */ 3140 MT_DENSITY4, /* .default_density (.densities[x]) */ 3141 {0x18, 0x28, 0x38, 0x38}, /* .mediatype Media type [Note 2] */ 3142 MINUTES(1), /* .non_motion_time */ 3143 MINUTES(18), /* .io_time */ 3144 MINUTES(9), /* .rewind_time */ 3145 MINUTES(165), /* .space_time worst case directory invalid*/ 3146 MINUTES(9), /* .load_time */ 3147 MINUTES(12), /* .unload_time */ 3148 MINUTES(160) /* .erase_time */ 3149 }, 3150 3151 /* 3152 * [1] The IBM Ultrium Gen 2 "OEM" version has two densites at this time, 3153 * One for Gen 1 0x40, One for Gen 2 0x42. In reallity The media 3154 * Selects which density code is used but this documents the codes 3155 * for those who care to know. 3156 * Compression is controlled via the Compression mode page. 3157 * [2] The IBM Ultrium has only one speed (if the driver ever cares). 3158 */ 3159 { /* Structure member Description */ 3160 /* ---------------- ----------- */ 3161 "IBM Ultrium Gen 2 LTO", /* .name Display ("pretty") name */ 3162 19, /* .length Length of next item... */ 3163 "IBM ULTRIUM-TD2", /* .vid Vendor-product ID string */ 3164 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3165 0, /* .bsize Block size (0 = variable) */ 3166 /* .options Drive option flags: */ 3167 ST_VARIABLE | /* 00001 Supports variable length */ 3168 ST_BSF | /* 00008 Supports SPACE block fwd */ 3169 ST_BSR | /* 00010 Supports SPACE block rev */ 3170 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 3171 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 3172 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 3173 ST_MODE_SEL_COMP, /* 10000 [Note 1] */ 3174 /* ----- */ 3175 /* 18619 */ 3176 -1, /* .max_rretries Not used any more. */ 3177 -1, /* .max_wretries Not used any more. */ 3178 {0x40, 0x40, 0x42, 0x42}, /* .densities Density codes [Note 1] */ 3179 MT_DENSITY4, /* .default_density (.densities[x]) */ 3180 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 3181 MINUTES(1), /* .non_motion_time */ 3182 MINUTES(18), /* .io_time */ 3183 MINUTES(9), /* .rewind_time */ 3184 MINUTES(151), /* .space_time worst case directory invalid*/ 3185 MINUTES(12), /* .load_time */ 3186 MINUTES(11), /* .unload_time */ 3187 MINUTES(151) /* .erase_time */ 3188 }, 3189 3190 /* 3191 * [1] The IBM Ultrium Gen 2 "IBM" version has two densites at this time, 3192 * One for Gen 1 0x40, One for Gen 2 0x42. In reallity The media 3193 * Selects which density code is used but this documents the codes 3194 * for those who care to know. 3195 * Compression is controlled via the Compression mode page. 3196 * [2] The IBM Ultrium has only one speed (if the driver ever cares). 3197 */ 3198 { /* Structure member Description */ 3199 /* ---------------- ----------- */ 3200 "IBM Ultrium Gen 2 LTO", /* .name Display ("pretty") name */ 3201 19, /* .length Length of next item... */ 3202 "IBM ULT3580-TD2", /* .vid Vendor-product ID string */ 3203 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3204 0, /* .bsize Block size (0 = variable) */ 3205 /* .options Drive option flags: */ 3206 ST_VARIABLE | /* 00001 Supports variable length */ 3207 ST_BSF | /* 00008 Supports SPACE block fwd */ 3208 ST_BSR | /* 00010 Supports SPACE block rev */ 3209 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 3210 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 3211 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 3212 ST_MODE_SEL_COMP, /* 10000 [Note 1] */ 3213 /* ----- */ 3214 /* 18619 */ 3215 -1, /* .max_rretries Not used any more. */ 3216 -1, /* .max_wretries Not used any more. */ 3217 {0x40, 0x40, 0x42, 0x42}, /* .densities Density codes [Note 1] */ 3218 MT_DENSITY4, /* .default_density (.densities[x]) */ 3219 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 3220 MINUTES(1), /* .non_motion_time */ 3221 MINUTES(18), /* .io_time */ 3222 MINUTES(9), /* .rewind_time */ 3223 MINUTES(151), /* .space_time worst case directory invalid*/ 3224 MINUTES(12), /* .load_time */ 3225 MINUTES(11), /* .unload_time */ 3226 MINUTES(151) /* .erase_time */ 3227 }, 3228 3229 /* 3230 * [1] The IBM Ultrium has only one density at this time, 3231 * Compression is controlled via the Device Configuration mode page. 3232 * [2] The IBM Ultrium has only one speed (if the driver ever cares). 3233 */ 3234 { /* Structure member Description */ 3235 /* ---------------- ----------- */ 3236 "IBM Ultrium LTO", /* .name Display ("pretty") name */ 3237 19, /* .length Length of next item... */ 3238 "IBM ULTRIUM-TD1", /* .vid Vendor-product ID string */ 3239 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3240 0, /* .bsize Block size (0 = variable) */ 3241 /* .options Drive option flags: */ 3242 ST_VARIABLE | /* 00001 Supports variable length */ 3243 ST_BSF | /* 00008 Supports SPACE block fwd */ 3244 ST_BSR | /* 00010 Supports SPACE block rev */ 3245 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 3246 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 3247 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 3248 ST_MODE_SEL_COMP, /* 10000 [Note 1] */ 3249 /* ----- */ 3250 /* 18619 */ 3251 -1, /* .max_rretries Not used any more. */ 3252 -1, /* .max_wretries Not used any more. */ 3253 {0x40, 0x40, 0x40, 0x40}, /* .densities Density codes [Note 1] */ 3254 MT_DENSITY4, /* .default_density (.densities[x]) */ 3255 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 3256 MINUTES(1), /* .non_motion_time */ 3257 MINUTES(18), /* .io_time */ 3258 MINUTES(8), /* .rewind_time */ 3259 MINUTES(173), /* .space_time worst case directory invalid*/ 3260 MINUTES(11), /* .load_time */ 3261 MINUTES(11), /* .unload_time */ 3262 MINUTES(173) /* .erase_time */ 3263 }, 3264 3265 /* 3266 * This is the same drive as the above except for the inquiry string and 3267 * that it is a "End User Version". 3268 * [1] The IBM Ultrium has only one density at this time, 3269 * Compression is controlled via the Device Configuration mode page. 3270 * [2] The IBM Ultrium has only one speed (if the driver ever cares). 3271 */ 3272 { /* Structure member Description */ 3273 /* ---------------- ----------- */ 3274 "IBM Ultrium LTO", /* .name Display ("pretty") name */ 3275 19, /* .length Length of next item... */ 3276 "IBM ULT3580-TD1", /* .vid Vendor-product ID string */ 3277 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3278 0, /* .bsize Block size (0 = variable) */ 3279 /* .options Drive option flags: */ 3280 ST_VARIABLE | /* 00001 Supports variable length */ 3281 ST_BSF | /* 00008 Supports SPACE block fwd */ 3282 ST_BSR | /* 00010 Supports SPACE block rev */ 3283 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 3284 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 3285 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 3286 ST_MODE_SEL_COMP, /* 10000 [Note 1] */ 3287 /* ----- */ 3288 /* 18619 */ 3289 -1, /* .max_rretries Not used any more. */ 3290 -1, /* .max_wretries Not used any more. */ 3291 {0x40, 0x40, 0x40, 0x40}, /* .densities Density codes [Note 1] */ 3292 MT_DENSITY4, /* .default_density (.densities[x]) */ 3293 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 3294 MINUTES(1), /* .non_motion_time */ 3295 MINUTES(18), /* .io_time */ 3296 MINUTES(8), /* .rewind_time */ 3297 MINUTES(173), /* .space_time worst case directory invalid*/ 3298 MINUTES(11), /* .load_time */ 3299 MINUTES(11), /* .unload_time */ 3300 MINUTES(173) /* .erase_time */ 3301 }, 3302 3303 /* 3304 * [1] The IBM 3592 Cartridge has only one density at this time, 3305 * Compression is controlled via the Device Configuration mode page. 3306 * [2] The IBM 3592 Cartridge has only one speed (if the driver ever cares). 3307 */ 3308 { /* Structure member Description */ 3309 /* ---------------- ----------- */ 3310 "IBM 3592 Cartridge", /* .name Display ("pretty") name */ 3311 13, /* .length Length of next item... */ 3312 "IBM 03592", /* .vid Vendor-product ID string */ 3313 MT_LTO, /* .type Numeric type (cf. mtio.h) */ 3314 0, /* .bsize Block size (0 = variable) */ 3315 /* .options Drive option flags: */ 3316 ST_VARIABLE | /* 00001 Supports variable length */ 3317 ST_BSF | /* 00008 Supports SPACE block fwd */ 3318 ST_BSR | /* 00010 Supports SPACE block rev */ 3319 ST_AUTODEN_OVERRIDE | /* 00040 Autodensity override flag */ 3320 ST_KNOWS_EOD | /* 00200 Recognizes end-of-data */ 3321 ST_UNLOADABLE | /* 00400 Driver can be unloaded */ 3322 ST_NO_RECSIZE_LIMIT | /* 08000 Supports blocks > 64KB */ 3323 ST_MODE_SEL_COMP, /* 10000 [Note 1] */ 3324 /* ----- */ 3325 /* 18659 */ 3326 -1, /* .max_rretries Not used any more. */ 3327 -1, /* .max_wretries Not used any more. */ 3328 {0x51, 0x51, 0x51, 0x51}, /* .densities Density codes [Note 1] */ 3329 MT_DENSITY4, /* .default_density (.densities[x]) */ 3330 {0, 0, 0, 0}, /* .speeds Speed codes [Note 2] */ 3331 MINUTES(1), /* .non_motion_time */ 3332 MINUTES(18), /* .io_time */ 3333 MINUTES(8), /* .rewind_time */ 3334 MINUTES(14), /* .space_time worst case directory invalid*/ 3335 MINUTES(12), /* .load_time */ 3336 MINUTES(12), /* .unload_time */ 3337 MINUTES(235) /* .erase_time */ 3338 }, 3339 3340 /* 3341 * Seagate Hornet NS20 USB Travan 3342 * 3343 * NOTES 3344 * ----- 3345 * o This drive is not OEM'ed or qualified by Sun. 3346 * 3347 * [1] The NS20 Travan uses 0 or the "default" density code. 3348 * [2] The NS20 Travan has only one speed (if the driver ever cares). 3349 * [3] max_rretries and max_wretries are driver anachronisms. 3350 */ 3351 { /* Structure member Description */ 3352 /* ---------------- ----------- */ 3353 "Seagate Hornet NS20 Travan", 3354 /* .name Display ("pretty") name */ 3355 17, /* .length Length of next item... */ 3356 "Seagate STT20000A", /* .vid Vendor-product ID string */ 3357 MT_ISQIC, /* .type Numeric type (cf. mtio.h) */ 3358 512, /* .bsize Block size (0 = variable) */ 3359 /* .options Drive option flags: */ 3360 ST_QIC | /* 00002 QIC tape device */ 3361 ST_BSF | /* 00008 Supports back SPACE file */ 3362 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 3363 /* ----- */ 3364 /* 0040A */ 3365 400, /* .max_rretries [Note 3] */ 3366 400, /* .max_wretries [Note 3] */ 3367 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 3368 MT_DENSITY1, /* .default_density (.densities[x]) */ 3369 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 3370 }, 3371 3372 3373 /* 3374 * Seagate Hornet Travan 40 3375 * 3376 * NOTES 3377 * ----- 3378 * o This drive is not OEM'ed or qualified by Sun. 3379 * 3380 * [1] The Travan uses 0 or the "default" density code. 3381 * [2] The Travan has only one speed (if the driver ever cares). 3382 * [3] max_rretries and max_wretries are driver anachronisms. 3383 */ 3384 { /* Structure member Description */ 3385 /* ---------------- ----------- */ 3386 "Seagate Hornet Travan 40", 3387 /* .name Display ("pretty") name */ 3388 16, /* .length Length of next item... */ 3389 "Seagate STT3401A", /* .vid Vendor-product ID string */ 3390 MT_ISQIC, /* .type Numeric type (cf. mtio.h) */ 3391 512, /* .bsize Block size (0 = variable) */ 3392 /* .options Drive option flags: */ 3393 ST_QIC | /* 00002 QIC tape device */ 3394 ST_BSF | /* 00008 Supports back SPACE file */ 3395 ST_UNLOADABLE, /* 00400 Driver can be unloaded */ 3396 /* ----- */ 3397 /* 0040A */ 3398 400, /* .max_rretries [Note 3] */ 3399 400, /* .max_wretries [Note 3] */ 3400 {0x00, 0x00, 0x00, 0x00}, /* .densities Density codes [Note 1] */ 3401 MT_DENSITY1, /* .default_density (.densities[x]) */ 3402 {0, 0, 0, 0} /* .speeds Speed codes [Note 2] */ 3403 } 3404 3405 /* END CSTYLED */ 3406 3407 }; 3408 3409 3410 const int st_ndrivetypes = (sizeof (st_drivetypes)/sizeof (st_drivetypes[0])); 3411